this repo has no description
1include(CMakeParseArguments)
2
3function(pyc target_name)
4 cmake_parse_arguments(PYC "" "DESTINATION" "SOURCES" ${ARGN})
5 set(generated_files "")
6
7if (COMPILE_PY2_BYTECODE)
8 foreach(pyfile ${PYC_SOURCES})
9 STRING(REGEX REPLACE "^${CMAKE_CURRENT_SOURCE_DIR}" "" pyfile_rel ${pyfile})
10
11 get_filename_component(bareName "${pyfile_rel}" NAME)
12 get_filename_component(dirName "${pyfile_rel}" DIRECTORY)
13
14 # message(STATUS "Process ${pyfile}, dirName ${dirName}, bareName ${bareName}")
15 file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${dirName}")
16
17 set(output_name "${CMAKE_CURRENT_BINARY_DIR}/${dirName}/${bareName}c")
18 add_custom_command(OUTPUT "${output_name}"
19 COMMAND "${CMAKE_SOURCE_DIR}/tools/pyc" "${pyfile}" "${CMAKE_CURRENT_BINARY_DIR}/${dirName}/${bareName}c"
20 WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
21
22 list(APPEND generated_files "${output_name}")
23 install(FILES "${output_name}" DESTINATION "${PYC_DESTINATION}")
24 endforeach(pyfile)
25
26 add_custom_target("${target_name}" ALL DEPENDS ${generated_files})
27
28endif (COMPILE_PY2_BYTECODE)
29endfunction(pyc)
30