@@ -3,7 +3,7 @@ find_package(Python3 3.4 REQUIRED)
33set (CPPSCRIPT_DIR ${CMAKE_CURRENT_LIST_DIR} )
44
55#TODO: make it work in parallel
6- function (create_cppscript_target TARGET_NAME HEADER_NAME HEADERS_DIR GEN_DIR AUTO_METHODS COMPILE_DEFS INCLUDE_PATHS)
6+ function (create_cppscript_target TARGET_NAME HEADERS_LIST HEADER_NAME HEADERS_DIR GEN_DIR AUTO_METHODS COMPILE_DEFS INCLUDE_PATHS)
77 # Handle empty/NOTFOUND lists
88 if (NOT INCLUDE_PATHS)
99 set (INCLUDE_PATHS "" )
@@ -19,11 +19,10 @@ function(create_cppscript_target TARGET_NAME HEADER_NAME HEADERS_DIR GEN_DIR AUT
1919 set (AUTO_METHODS_STR "False" )
2020 endif ()
2121
22- file (GLOB_RECURSE HEADERS_LIST RELATIVE ${HEADERS_DIR} ${HEADERS_DIR} /*.hpp)
23-
2422 foreach (PATH ${HEADERS_LIST} )
23+ file (RELATIVE_PATH PATH "${HEADERS_DIR} " "${PATH} " )
2524 string (REGEX REPLACE "\. hpp$" ".gen.cpp" relative_path "${PATH} " )
26- list (APPEND SOURCES_LIST ${GEN_DIR} /${relative_path} )
25+ list (APPEND SOURCES_LIST " ${GEN_DIR} /${relative_path} " )
2726 endforeach ()
2827
2928 add_custom_command (
@@ -42,16 +41,16 @@ function(create_cppscript_target TARGET_NAME HEADER_NAME HEADERS_DIR GEN_DIR AUT
4241 "--definitions" ${COMPILE_DEFS}
4342 "--include-paths" ${CPPSCRIPT_DIR} /src ${HEADERS_DIR} ${INCLUDE_PATHS}
4443 "--"
45- ${CPPSCRIPT_HEADERS }
44+ ${HEADERS_LIST }
4645
47- DEPENDS ${CPPSCRIPT_HEADERS }
46+ DEPENDS ${HEADERS_LIST }
4847 WORKING_DIRECTORY ${CPPSCRIPT_DIR}
4948 VERBATIM
5049 COMMAND_EXPAND_LISTS
5150 COMMENT "Parsing header files..."
5251 )
5352
5453 target_sources (${TARGET_NAME} PRIVATE ${SOURCES_LIST} )
55- target_include_directories (${TARGET_NAME} PUBLIC ${HEADERS_DIR} ${CPPSCRIPT_DIR} /src )
54+ target_include_directories (${TARGET_NAME} PUBLIC ${CPPSCRIPT_DIR} /src ${HEADERS_DIR} )
5655endfunction ()
5756
0 commit comments