diff options
Diffstat (limited to 'sources/shiboken6/generator/CMakeLists.txt')
-rw-r--r-- | sources/shiboken6/generator/CMakeLists.txt | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/sources/shiboken6/generator/CMakeLists.txt b/sources/shiboken6/generator/CMakeLists.txt new file mode 100644 index 000000000..a625969dd --- /dev/null +++ b/sources/shiboken6/generator/CMakeLists.txt @@ -0,0 +1,63 @@ +project(shibokengenerator) + +set(shiboken6_SRC +generator.cpp +shiboken/cppgenerator.cpp +shiboken/headergenerator.cpp +shiboken/overloaddata.cpp +shiboken/shibokengenerator.cpp +main.cpp +) + +add_executable(shiboken6 ${shiboken6_SRC}) +add_executable(Shiboken6::shiboken6 ALIAS shiboken6) +add_dependencies(shiboken6 apiextractor) +set_target_properties(shiboken6 PROPERTIES OUTPUT_NAME shiboken6${shiboken6_SUFFIX}) +target_include_directories(shiboken6 PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/shiboken + ${CMAKE_CURRENT_SOURCE_DIR}/qtdoc + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_BINARY_DIR} + ${apiextractor_SOURCE_DIR} + ) +target_link_libraries(shiboken6 apiextractor Qt${QT_MAJOR_VERSION}::Core) +if (NOT DISABLE_DOCSTRINGS) + target_sources(shiboken6 PRIVATE qtdoc/qtdocgenerator.cpp) + target_compile_definitions(shiboken6 PUBLIC DOCSTRINGS_ENABLED) +endif() + +configure_file(shibokenconfig.h.in "${CMAKE_CURRENT_BINARY_DIR}/shibokenconfig.h" @ONLY) + +install(TARGETS shiboken6 + EXPORT Shiboken6Targets + DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") + +set(shiboken_generator_package_name "shiboken6_generator") + +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/_config.py.in" + "${CMAKE_CURRENT_BINARY_DIR}/_config.py" @ONLY) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/_config.py" + DESTINATION "${PYTHON_SITE_PACKAGES}/${shiboken_generator_package_name}") + +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/__init__.py.in" + "${CMAKE_CURRENT_BINARY_DIR}/__init__.py" @ONLY) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/__init__.py" + DESTINATION "${PYTHON_SITE_PACKAGES}/${shiboken_generator_package_name}") + +# shiboken6 setuptools entry point +install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../shiboken_tool.py + DESTINATION bin + PERMISSIONS + OWNER_EXECUTE OWNER_WRITE OWNER_READ + GROUP_EXECUTE GROUP_READ + WORLD_EXECUTE WORLD_READ) + +# Use absolute path instead of relative path, to avoid ninja build errors due to +# duplicate file dependency inconsistency. +set(shiboken_version_relative_path "${CMAKE_CURRENT_SOURCE_DIR}/../shiboken_version.py") +get_filename_component(shiboken_version_path ${shiboken_version_relative_path} ABSOLUTE) +configure_file("${shiboken_version_path}" + "${CMAKE_CURRENT_BINARY_DIR}/_git_shiboken_generator_version.py" @ONLY) + +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/_git_shiboken_generator_version.py" + DESTINATION "${PYTHON_SITE_PACKAGES}/${shiboken_generator_package_name}") |