this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Introduce pyc() CMake function, use it to generate .pyc files

+35
+27
cmake/pyc.cmake
··· 1 + include(CMakeParseArguments) 2 + 3 + function(pyc target_name) 4 + cmake_parse_arguments(PYC "" "DESTINATION" "SOURCES" ${ARGN}) 5 + set(generated_files "") 6 + 7 + foreach(pyfile ${PYC_SOURCES}) 8 + STRING(REGEX REPLACE "^${CMAKE_CURRENT_SOURCE_DIR}" "" pyfile_rel ${pyfile}) 9 + 10 + get_filename_component(bareName "${pyfile_rel}" NAME) 11 + get_filename_component(dirName "${pyfile_rel}" DIRECTORY) 12 + 13 + # message(STATUS "Process ${pyfile}, dirName ${dirName}, bareName ${bareName}") 14 + file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${dirName}") 15 + 16 + set(output_name "${CMAKE_CURRENT_BINARY_DIR}/${dirName}/${bareName}c") 17 + add_custom_command(OUTPUT "${output_name}" 18 + COMMAND "${CMAKE_SOURCE_DIR}/tools/pyc.py" "${pyfile}" "${CMAKE_CURRENT_BINARY_DIR}/${dirName}/${bareName}c" 19 + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}") 20 + 21 + list(APPEND generated_files "${output_name}") 22 + install(FILES "${output_name}" DESTINATION "${PYC_DESTINATION}") 23 + endforeach(pyfile) 24 + 25 + add_custom_target("${target_name}" ALL DEPENDS ${generated_files}) 26 + endfunction(pyc) 27 +
+1
src/CMakeLists.txt
··· 5 5 6 6 set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") 7 7 include(mig) 8 + include(pyc) 8 9 9 10 add_definitions(-D_DARWIN_C_SOURCE -D_POSIX_C_SOURCE -DDARLING) 10 11 set(DARLING TRUE)
+7
tools/pyc.py
··· 1 + #!/usr/bin/env python2 2 + 3 + import py_compile 4 + import sys 5 + 6 + py_compile.compile(sys.argv[1], cfile=sys.argv[2], doraise=True) 7 +