Warning, /sdk/pology/cmake/Python3Tools.cmake is written in an unsupported language. File is not indexed.
0001 # TODO: Add doc comments for all this stuff. 0002 0003 if(NOT PYTHON3_EXECUTABLE) 0004 find_package(Python3) 0005 endif() 0006 0007 if(NOT py2t_target_count) 0008 set(py2t_target_count 1) 0009 endif() 0010 0011 0012 set(py_compfile_script ${CMAKE_BINARY_DIR}/python3_compfile.py) 0013 file(WRITE ${py_compfile_script} " 0014 import os, sys, py_compile 0015 pyfile, pycfile = sys.argv[1:] 0016 py_compile.compile(pyfile, pycfile, doraise=True) 0017 ") 0018 0019 0020 macro(INSTALL_PYTHON3_MODULE_FILES pkgdirpath) 0021 set(pyfiles ${ARGN}) 0022 0023 if(IS_ABSOLUTE pkgdirpath) 0024 message(FATAL_ERROR 0025 "Installation directory for Python modules must be " 0026 "a relative path (subdirectory of PYTHON3_PACKAGES_DIR).") 0027 endif() 0028 0029 set(instdir ${PYTHON3_PACKAGES_DIR}/${pkgdirpath}) 0030 0031 string(REPLACE ${CMAKE_SOURCE_DIR}/ "" srcsubdir 0032 ${CMAKE_CURRENT_SOURCE_DIR}) 0033 string(REPLACE "/" "-" targbase ${srcsubdir}) 0034 set(target "${targbase}-plt${py2t_target_count}-compile-python3-files") 0035 math(EXPR py2t_target_count "${py2t_target_count} + 1") 0036 0037 set(pycfiles) 0038 foreach(pyfile ${pyfiles}) 0039 if(NOT IS_ABSOLUTE ${pyfile}) 0040 set(pyfilerel ${pyfile}) 0041 set(pyfile ${CMAKE_CURRENT_SOURCE_DIR}/${pyfilerel}) 0042 set(pycfile ${CMAKE_CURRENT_BINARY_DIR}/${pyfilerel}c) 0043 else() 0044 set(pycfile ${pyfile}c) 0045 endif() 0046 add_custom_command(OUTPUT ${pycfile} 0047 COMMAND ${PYTHON3_EXECUTABLE} ${py_compfile_script} 0048 ${pyfile} ${pycfile} 0049 DEPENDS ${pyfile}) 0050 set(pycfiles ${pycfiles} ${pycfile}) 0051 endforeach() 0052 add_custom_target(${target} ALL DEPENDS ${pycfiles}) 0053 0054 install(FILES ${pyfiles} DESTINATION ${instdir}) 0055 install(FILES ${pycfiles} DESTINATION ${instdir}) 0056 0057 endmacro() 0058 0059