blob: 0cb11a9ff3764899d6419e784bc0a021575ef304 (
plain)
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
43
44
|
function(txt2c target)
set(BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/${target}")
file(MAKE_DIRECTORY ${BUILD_DIR})
message(${BUILD_DIR})
set(TEXT_FILES)
set(SOURCE_FILES)
set(INCLUDE_DIRECTORIES)
foreach(filepath IN ITEMS ${ARGN})
set(textfile "${CMAKE_CURRENT_SOURCE_DIR}/${filepath}")
list(APPEND TEXT_FILES ${textfile})
set(srcfile "${BUILD_DIR}/${filepath}.c")
list(APPEND SOURCE_FILES ${srcfile})
get_filename_component(include_dir ${srcfile} DIRECTORY)
list(APPEND INCLUDE_DIRECTORIES ${include_dir})
endforeach()
foreach(filepath IN ITEMS ${TEXT_FILES})
message(${filepath})
endforeach()
foreach(filepath IN ITEMS ${SOURCE_FILES})
message(${filepath})
endforeach()
foreach(filepath IN ITEMS ${INCLUDE_DIRECTORIES})
message(${filepath})
endforeach()
add_custom_command(OUTPUT ${SOURCE_FILES}
COMMAND "${PROJECT_SOURCE_DIR}/bin/txt2c.py" ${TEXT_FILES} ${SOURCE_FILES}
WORKING_DIRECTORY ${BUILD_DIR}
DEPENDS ${ARGN}
COMMENT "Generating ${target}")
add_library(${target}
${SOURCE_FILES})
target_include_directories(${target} PUBLIC
${BUILD_DIR}
${INCLUDE_DIRECTORIES})
endfunction()
|