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