diff options
| author | info@mode42.com <info@mode42.com> | 2026-08-08 03:54:55 +0000 |
|---|---|---|
| committer | info@mode42.com <info@mode42.com> | 2026-08-08 03:54:55 +0000 |
| commit | 20cb29c2f8c5c87bc590896854a20b1473ceb358 (patch) | |
| tree | 2857f41513a56ad41af97b57362639298aa7f033 /cmake/Toolchain-AmigaOS.cmake | |
#2
Diffstat (limited to 'cmake/Toolchain-AmigaOS.cmake')
| -rw-r--r-- | cmake/Toolchain-AmigaOS.cmake | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/cmake/Toolchain-AmigaOS.cmake b/cmake/Toolchain-AmigaOS.cmake new file mode 100644 index 0000000..ea51fe3 --- /dev/null +++ b/cmake/Toolchain-AmigaOS.cmake @@ -0,0 +1,39 @@ +# AmigaOS 3.9+ cross-compilation toolchain (bebbo-gcc / m68k-amigaos-gcc). +# +# Usage: +# cmake -B build-amiga \ +# -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchain-AmigaOS.cmake \ +# -DAMIGA_SDK_PATH=/opt/amiga +# +# AMIGA_SDK_PATH may also be set via environment variable or defaults to +# /opt/amiga when that prefix exists. See docs/PLATFORMS.md. + +set(CMAKE_SYSTEM_NAME AmigaOS) +set(CMAKE_SYSTEM_PROCESSOR m68k) + +if(NOT AMIGA_SDK_PATH) + if(DEFINED ENV{AMIGA_SDK_PATH} AND NOT "$ENV{AMIGA_SDK_PATH}" STREQUAL "") + set(AMIGA_SDK_PATH "$ENV{AMIGA_SDK_PATH}") + elseif(EXISTS "/opt/amiga/bin/m68k-amigaos-gcc") + set(AMIGA_SDK_PATH "/opt/amiga") + endif() +endif() + +if(NOT AMIGA_SDK_PATH OR NOT EXISTS "${AMIGA_SDK_PATH}/bin/m68k-amigaos-gcc") + message(FATAL_ERROR + "Set AMIGA_SDK_PATH to your AmigaOS cross-compiler prefix, e.g.\n" + " cmake -DAMIGA_SDK_PATH=/opt/amiga -DCMAKE_TOOLCHAIN_FILE=...\n" + "or export AMIGA_SDK_PATH=/opt/amiga") +endif() + +set(AMIGA_SDK_PATH "${AMIGA_SDK_PATH}" CACHE PATH + "AmigaOS cross-compiler prefix (bebbo-gcc)" FORCE) + +set(CMAKE_C_COMPILER "${AMIGA_SDK_PATH}/bin/m68k-amigaos-gcc") +set(CMAKE_AR "${AMIGA_SDK_PATH}/bin/m68k-amigaos-ar") +set(CMAKE_RANLIB "${AMIGA_SDK_PATH}/bin/m68k-amigaos-ranlib") + +set(CMAKE_FIND_ROOT_PATH "${AMIGA_SDK_PATH}") +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) |
