-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsdccSrcHc08CMakeLists.txt
42 lines (32 loc) · 1.95 KB
/
sdccSrcHc08CMakeLists.txt
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
42
cmake_minimum_required(VERSION 3.16)
project(HC08)
set(HC08_TOP_DIR ${CMAKE_CURRENT_LIST_DIR})
file(GLOB HC08_LIB_FILE_HDRS RELATIVE ${HC08_TOP_DIR}/ ./*.h* )
file(GLOB HC08_LIB_FILE_SRCS RELATIVE ${HC08_TOP_DIR}/ ./*.c* )
file(GLOB HC08_LIB_FILE_DEFS RELATIVE ${HC08_TOP_DIR}/ ./*.def )
source_group("DS390Headers" FILES ${HC08_LIB_FILE_HDRS})
source_group("DS390Sources" FILES ${HC08_LIB_FILE_SRCS})
source_group("DS390Defines" FILES ${HC08_LIB_FILE_DEFS})
set (HC08_LIB_ALL_FILES ${HC08_LIB_FILE_HDRS} ${HC08_LIB_FILE_SRCS} ${HC08_LIB_FILE_DEFS} )
list(REMOVE_ITEM HC08_LIB_ALL_FILES XXX.c)
message("HC08_LIB_ALL_FILES : ${HC08_LIB_ALL_FILES} ")
#source_group(TREE ${HC08_TOP_DIR} FILES ${HC08_LIB_ALL_FILES})
set ( HC08_LIB_NAME hc08 )
set ( HC08_LIB_DEFS _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS WIN32 _LIB )#_DEBUG
set ( HC08_DEP_INCS .. . ../.. ../../support/util )
add_library (${HC08_LIB_NAME} STATIC ${HC08_LIB_ALL_FILES} )
target_compile_definitions(${HC08_LIB_NAME} PRIVATE ${HC08_LIB_DEFS} )
target_include_directories(${HC08_LIB_NAME} PRIVATE ${HC08_DEP_INCS} )
target_link_directories (${HC08_LIB_NAME} PRIVATE ${HC08_TOP_DIR} )
#target_link_libraries (${HC08_LIB_NAME} ${dep_libs} )
#target_link_options (${HC08_LIB_NAME} PRIVATE "/SUBSYSTEM:WINDOWS" "/ENTRY:wWinMainCRTStartup" "/SAFESEH:NO" )
set_target_properties (${HC08_LIB_NAME} PROPERTIES PREFIX "lib" )
foreach(FileNameDef ${HC08_LIB_FILE_DEFS})
string(REPLACE ".def" "" FileNameDef "${FileNameDef}")
add_custom_command(
TARGET ${HC08_LIB_NAME}
PRE_BUILD
COMMAND gawk -f ${HC08_TOP_DIR}/../SDCCpeeph.awk ${HC08_TOP_DIR}/${FileNameDef}.def > ${HC08_TOP_DIR}/${FileNameDef}.rul
COMMENT "Generate ${FileNameDef}.rul "
)
endforeach()