-
-
Notifications
You must be signed in to change notification settings - Fork 25
/
zcc.cmake
41 lines (29 loc) · 1.92 KB
/
zcc.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Modified version of <https://github.com/z88dk/z88dk/blob/master/support/cmake/Toolchain-zcc.cmake>
set(CMAKE_TRY_COMPILE_PLATFORM_VARIABLES ZCCTARGET)
if (NOT DEFINED ZCCTARGET)
message(FATAL_ERROR "Please define variable ZCCTARGET to specify +configuration for zcc. Try the following: cmake -DZCCTARGET=<target> --toolchain=${CMAKE_CURRENT_LIST_DIR}/Toolchain-zcc.cmake")
endif()
set(CMAKE_C_COMPILER ${ZCC})
set(CMAKE_ASM_COMPILER ${ZCC})
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY CACHE INTERNAL "")
set(CMAKE_EXECUTABLE_SUFFIX ".bin")
set(CMAKE_EXECUTABLE_SUFFIX_C ${CMAKE_EXECUTABLE_SUFFIX})
set(CMAKE_EXECUTABLE_SUFFIX_ASM ${CMAKE_EXECUTABLE_SUFFIX})
set(CMAKE_LINKER ${CMAKE_C_COMPILER} CACHE INTERNAL "")
set(CMAKE_C_FLAGS "+${ZCCTARGET}")
set(CMAKE_ASM_FLAGS "+${ZCCTARGET}")
#include_directories("${CMAKE_CURRENT_LIST_DIR}/../include")
set(CMAKE_C_FLAGS_DEBUG "-debug" CACHE INTERNAL "")
set(CMAKE_ASM_FLAGS_DEBUG "-debug" CACHE INTERNAL "")
set(CMAKE_USER_MAKE_RULES_OVERRIDE "${CMAKE_CURRENT_LIST_DIR}/zcc-ext.cmake" CACHE STRING "" FORCE)
set(CMAKE_DEPFILE_FLAGS_C "" CACHE STRING "" FORCE)
set(CMAKE_DEPFILE_FLAGS_ASM "" CACHE STRING "" FORCE)
set(CMAKE_C_SYSROOT_FLAG "" CACHE STRING "" FORCE)
set(CMAKE_ASM_SYSROOT_FLAG "" CACHE STRING "" FORCE)
set(CMAKE_C_OSX_DEPLOYMENT_TARGET_FLAG "" CACHE STRING "" FORCE)
set(CMAKE_ASM_OSX_DEPLOYMENT_TARGET_FLAG "" CACHE STRING "" FORCE)
set(VARS "ZCCCFG=${CFG_PATH} PATH=${BIN_PATH}:$$PATH")
set(CMAKE_C_COMPILE_OBJECT "${VARS} <CMAKE_C_COMPILER> <FLAGS> <INCLUDES> <DEFINES> <FLAGS> -o <OBJECT> -c <SOURCE>" CACHE STRING "" FORCE)
set(CMAKE_ASM_COMPILE_OBJECT "${VARS} <CMAKE_ASM_COMPILER> <FLAGS> <INCLUDES> <DEFINES> <FLAGS> -o <OBJECT> -c <SOURCE>" CACHE STRING "" FORCE)
set(CMAKE_C_LINK_EXECUTABLE "${VARS} <CMAKE_C_COMPILER> <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>" CACHE STRING "" FORCE)
include(${CMAKE_SOURCE_DIR}/cmake/cross.cmake)