Warning, /sdk/pology/cmake/PologyTools.cmake is written in an unsupported language. File is not indexed.
0001 # TODO: Add doc comments for all this stuff.
0002
0003 if(NOT POLOGY_LIB_DIR)
0004 find_package(Pology)
0005 endif()
0006
0007 if(NOT plt_target_count)
0008 set(plt_target_count 1)
0009 endif()
0010
0011
0012 set(pl_compsyn_script ${CMAKE_BINARY_DIR}/pology_compsyn.py)
0013 file(WRITE ${pl_compsyn_script} "
0014 import sys, pology.synder
0015 sdfile, sdcfile = sys.argv[1:]
0016 pology.synder.compile_file(sdfile, sdcfile, doraise=True)
0017 ")
0018
0019
0020 macro(INSTALL_SYNDER_FILES instdir)
0021 set(sdfiles ${ARGN})
0022
0023 if(NOT PYTHON3_EXECUTABLE)
0024 message(FATAL_ERROR "PYTHON3_EXECUTABLE is not set.")
0025 endif()
0026
0027 string(REPLACE ${CMAKE_SOURCE_DIR}/ "" srcsubdir
0028 ${CMAKE_CURRENT_SOURCE_DIR})
0029 string(REPLACE "/" "-" targbase ${srcsubdir})
0030 set(target "${targbase}-plt${plt_target_count}-compile-synder-files")
0031 math(EXPR plt_target_count "${plt_target_count} + 1")
0032
0033 set(sdcfiles)
0034 foreach(sdfile ${sdfiles})
0035 if(NOT IS_ABSOLUTE ${sdfile})
0036 set(sdfilerel ${sdfile})
0037 set(sdfile ${CMAKE_CURRENT_SOURCE_DIR}/${sdfilerel})
0038 set(sdcfile ${CMAKE_CURRENT_BINARY_DIR}/${sdfilerel}c)
0039 else()
0040 set(sdcfile ${sdfile}c)
0041 endif()
0042 add_custom_command(OUTPUT ${sdcfile}
0043 COMMAND ${PYTHON3_EXECUTABLE} -B ${pl_compsyn_script}
0044 ${sdfile} ${sdcfile}
0045 DEPENDS ${sdfile})
0046 set(sdcfiles ${sdcfiles} ${sdcfile})
0047 endforeach()
0048 add_custom_target(${target} ALL DEPENDS ${sdcfiles})
0049
0050 install(FILES ${sdfiles} DESTINATION ${instdir})
0051 install(FILES ${sdcfiles} DESTINATION ${instdir})
0052
0053 endmacro()
0054
0055