diff options
Diffstat (limited to 'sources/shiboken6/data')
-rw-r--r-- | sources/shiboken6/data/CMakeLists.txt | 60 | ||||
-rw-r--r-- | sources/shiboken6/data/GeneratorRunnerConfig.cmake.in | 17 | ||||
-rw-r--r-- | sources/shiboken6/data/GeneratorRunnerConfigVersion.cmake.in | 10 | ||||
-rw-r--r-- | sources/shiboken6/data/Shiboken6Config-spec.cmake.in | 41 | ||||
-rw-r--r-- | sources/shiboken6/data/Shiboken6Config.cmake.in | 5 | ||||
-rw-r--r-- | sources/shiboken6/data/Shiboken6ConfigVersion.cmake.in | 10 | ||||
-rw-r--r-- | sources/shiboken6/data/Shiboken6ToolsConfig.cmake.in | 7 | ||||
l--------- | sources/shiboken6/data/docgenerator.1 | 1 | ||||
-rw-r--r-- | sources/shiboken6/data/generatorrunner.1 | 76 | ||||
-rw-r--r-- | sources/shiboken6/data/generatorrunner.pc.in | 13 | ||||
-rw-r--r-- | sources/shiboken6/data/shiboken6.pc.in | 12 |
11 files changed, 252 insertions, 0 deletions
diff --git a/sources/shiboken6/data/CMakeLists.txt b/sources/shiboken6/data/CMakeLists.txt new file mode 100644 index 000000000..679eefe6a --- /dev/null +++ b/sources/shiboken6/data/CMakeLists.txt @@ -0,0 +1,60 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +if (CMAKE_BUILD_TYPE STREQUAL "Debug") + set(LIBRARY_OUTPUT_SUFFIX ${CMAKE_DEBUG_POSTFIX}) +else() + set(LIBRARY_OUTPUT_SUFFIX ${CMAKE_RELEASE_POSTFIX}) +endif() + +include(CMakePackageConfigHelpers) + +# Build-tree / super project package config file. +set(SHIBOKEN_PYTHON_MODULE_DIR "${shiboken6_BINARY_DIR}/shibokenmodule") +set(SHIBOKEN_SHARED_LIBRARY_DIR "${shiboken6_BINARY_DIR}/libshiboken") + +configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/Shiboken6Config-spec.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/Shiboken6Config${PYTHON_CONFIG_SUFFIX}.cmake" + INSTALL_DESTINATION "${CMAKE_CURRENT_BINARY_DIR}" + PATH_VARS SHIBOKEN_PYTHON_MODULE_DIR SHIBOKEN_SHARED_LIBRARY_DIR + INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}" +) + +# Install-tree / relocatable package config file. +set(SHIBOKEN_PYTHON_MODULE_DIR "${PYTHON_SITE_PACKAGES}/shiboken6") +if (WIN32) + set(SHIBOKEN_SHARED_LIBRARY_DIR "${BIN_INSTALL_DIR}") +else() + set(SHIBOKEN_SHARED_LIBRARY_DIR "${LIB_INSTALL_DIR}") +endif() + +configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/Shiboken6Config-spec.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/install/Shiboken6Config${PYTHON_CONFIG_SUFFIX}.cmake" + INSTALL_DESTINATION "${LIB_INSTALL_DIR}/cmake/Shiboken6" + PATH_VARS SHIBOKEN_PYTHON_MODULE_DIR SHIBOKEN_SHARED_LIBRARY_DIR +) + +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/Shiboken6Config.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/Shiboken6Config.cmake" @ONLY) +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/Shiboken6ConfigVersion.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/Shiboken6ConfigVersion.cmake" @ONLY) +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/shiboken6.pc.in" + "${CMAKE_CURRENT_BINARY_DIR}/shiboken6${shiboken6_SUFFIX}.pc" @ONLY) + +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/Shiboken6Config.cmake" + DESTINATION "${LIB_INSTALL_DIR}/cmake/Shiboken6") + +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/install/Shiboken6Config${PYTHON_CONFIG_SUFFIX}.cmake" + DESTINATION "${LIB_INSTALL_DIR}/cmake/Shiboken6") + +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/Shiboken6ConfigVersion.cmake" + DESTINATION "${LIB_INSTALL_DIR}/cmake/Shiboken6") + +install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../cmake/ShibokenHelpers.cmake" + DESTINATION "${LIB_INSTALL_DIR}/cmake/Shiboken6") + +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/shiboken6${shiboken6_SUFFIX}.pc" + DESTINATION "${LIB_INSTALL_DIR}/pkgconfig") + diff --git a/sources/shiboken6/data/GeneratorRunnerConfig.cmake.in b/sources/shiboken6/data/GeneratorRunnerConfig.cmake.in new file mode 100644 index 000000000..cf973e2a6 --- /dev/null +++ b/sources/shiboken6/data/GeneratorRunnerConfig.cmake.in @@ -0,0 +1,17 @@ +# GENERATORRUNNER_INCLUDE_DIR - Directories to include to use GENERATORRUNNER +# GENERATORRUNNER_LIBRARIES - Files to link against to use GENERATORRUNNER +# GENERATORRUNNER_PLUGIN_DIR - Where to find/put plugins for generator runner +# GENERATORRUNNER_BINARY - Executable name + +SET(GENERATORRUNNER_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/include/generatorrunner@generator_SUFFIX@") +if(MSVC) + SET(GENERATORRUNNER_LIBRARY "@LIB_INSTALL_DIR@/@CMAKE_SHARED_LIBRARY_PREFIX@genrunner@generator_SUFFIX@.lib") +elseif(CYGWIN) + SET(GENERATORRUNNER_LIBRARY "@LIB_INSTALL_DIR@/@CMAKE_IMPORT_LIBRARY_PREFIX@genrunner@generator_SUFFIX@@CMAKE_IMPORT_LIBRARY_SUFFIX@") +elseif(WIN32) + SET(GENERATORRUNNER_LIBRARY "@CMAKE_INSTALL_PREFIX@/bin/@CMAKE_SHARED_LIBRARY_PREFIX@genrunner@generator_SUFFIX@@CMAKE_SHARED_LIBRARY_SUFFIX@") +else() + SET(GENERATORRUNNER_LIBRARY "@LIB_INSTALL_DIR@/@CMAKE_SHARED_LIBRARY_PREFIX@genrunner@generator_SUFFIX@@CMAKE_SHARED_LIBRARY_SUFFIX@") +endif() +SET(GENERATORRUNNER_PLUGIN_DIR "@generator_plugin_DIR@") +SET(GENERATORRUNNER_BINARY "@CMAKE_INSTALL_PREFIX@/bin/generatorrunner@generator_SUFFIX@") diff --git a/sources/shiboken6/data/GeneratorRunnerConfigVersion.cmake.in b/sources/shiboken6/data/GeneratorRunnerConfigVersion.cmake.in new file mode 100644 index 000000000..8eb5ba479 --- /dev/null +++ b/sources/shiboken6/data/GeneratorRunnerConfigVersion.cmake.in @@ -0,0 +1,10 @@ +set(PACKAGE_VERSION @generator_VERSION@) + +if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" ) + set(PACKAGE_VERSION_COMPATIBLE FALSE) +else("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" ) + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if( "${PACKAGE_FIND_VERSION}" STREQUAL "${PACKAGE_VERSION}") + set(PACKAGE_VERSION_EXACT TRUE) + endif( "${PACKAGE_FIND_VERSION}" STREQUAL "${PACKAGE_VERSION}") +endif("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" ) diff --git a/sources/shiboken6/data/Shiboken6Config-spec.cmake.in b/sources/shiboken6/data/Shiboken6Config-spec.cmake.in new file mode 100644 index 000000000..233404bc6 --- /dev/null +++ b/sources/shiboken6/data/Shiboken6Config-spec.cmake.in @@ -0,0 +1,41 @@ +# SHIBOKEN_BUILD_TYPE - Tells if Shiboken was compiled in Release or Debug mode. +# SHIBOKEN_PYTHON_INTERPRETER - Python interpreter (regular or debug) to be used with the bindings. + +@PACKAGE_INIT@ + +# This is the version of Python against which Shiboken was built. Not necessarily the version +# against which a downstream project is built (e.g. PySide6). +set(SHIBOKEN_PYTHON_VERSION_MAJOR "@Python_VERSION_MAJOR@") +set(SHIBOKEN_PYTHON_VERSION_MINOR "@Python_VERSION_MINOR@") +set(SHIBOKEN_PYTHON_VERSION_PATCH "@Python_VERSION_PATCH@") +set(SHIBOKEN_PYTHON_LIMITED_API "@PYTHON_LIMITED_API@") + +# Import targets and call variable set up functions only when using an installed shiboken config +# file (so not during a regular shiboken build, or during a super project build). +if (NOT TARGET Shiboken6::libshiboken) + include("${CMAKE_CURRENT_LIST_DIR}/Shiboken6Targets.cmake") + include("${CMAKE_CURRENT_LIST_DIR}/ShibokenHelpers.cmake") + + # Compute the python include and libraries path if needed (aka not part of super project build). + shiboken_find_required_python(@Python_VERSION_MAJOR@) + shiboken_check_if_built_and_target_python_are_compatible() + shiboken_check_if_limited_api() + shiboken_compute_python_includes(IS_CALLED_FROM_EXPORT) + shiboken_compute_python_libraries(IS_CALLED_FROM_EXPORT) +endif() + +# Get the "python interpreter" dynamic global property as a variable instead. It brings it into +# scope for super project builds. +get_property(SHIBOKEN_PYTHON_INTERPRETER GLOBAL PROPERTY SHIBOKEN_PYTHON_INTERPRETER) + +# Set static variables. +set(SHIBOKEN_PYTHON_EXTENSION_SUFFIX "@PYTHON_EXTENSION_SUFFIX@") +set(SHIBOKEN_PYTHON_SHARED_LIBRARY_SUFFIX "@PYTHON_SHARED_LIBRARY_SUFFIX@") +set(SHIBOKEN_PYTHON_CONFIG_SUFFIX "@PYTHON_CONFIG_SUFFIX@") +set(SHIBOKEN_SO_VERSION "@shiboken6_library_so_version@") +set(SHIBOKEN_BUILD_TYPE "@SHIBOKEN_BUILD_TYPE@") + +set_and_check(SHIBOKEN_PYTHON_MODULE_DIR "@PACKAGE_SHIBOKEN_PYTHON_MODULE_DIR@") +set_and_check(SHIBOKEN_SHARED_LIBRARY_DIR "@PACKAGE_SHIBOKEN_SHARED_LIBRARY_DIR@") + +message(STATUS "libshiboken built for @SHIBOKEN_BUILD_TYPE@") diff --git a/sources/shiboken6/data/Shiboken6Config.cmake.in b/sources/shiboken6/data/Shiboken6Config.cmake.in new file mode 100644 index 000000000..d818eb4c9 --- /dev/null +++ b/sources/shiboken6/data/Shiboken6Config.cmake.in @@ -0,0 +1,5 @@ +if (NOT PYTHON_CONFIG_SUFFIX) + message(STATUS "Shiboken6Config: Using default python: @PYTHON_CONFIG_SUFFIX@") + SET(PYTHON_CONFIG_SUFFIX @PYTHON_CONFIG_SUFFIX@) +endif() +include("${CMAKE_CURRENT_LIST_DIR}/Shiboken6Config${PYTHON_CONFIG_SUFFIX}.cmake") diff --git a/sources/shiboken6/data/Shiboken6ConfigVersion.cmake.in b/sources/shiboken6/data/Shiboken6ConfigVersion.cmake.in new file mode 100644 index 000000000..3990e9dad --- /dev/null +++ b/sources/shiboken6/data/Shiboken6ConfigVersion.cmake.in @@ -0,0 +1,10 @@ +set(PACKAGE_VERSION @shiboken6_VERSION@) + +if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" ) + set(PACKAGE_VERSION_COMPATIBLE FALSE) +else("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" ) + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if( "${PACKAGE_FIND_VERSION}" STREQUAL "${PACKAGE_VERSION}") + set(PACKAGE_VERSION_EXACT TRUE) + endif( "${PACKAGE_FIND_VERSION}" STREQUAL "${PACKAGE_VERSION}") +endif("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" ) diff --git a/sources/shiboken6/data/Shiboken6ToolsConfig.cmake.in b/sources/shiboken6/data/Shiboken6ToolsConfig.cmake.in new file mode 100644 index 000000000..438b5c651 --- /dev/null +++ b/sources/shiboken6/data/Shiboken6ToolsConfig.cmake.in @@ -0,0 +1,7 @@ +@PACKAGE_INIT@ + +cmake_minimum_required(VERSION 3.18) + +if(NOT TARGET Shiboken6::shiboken6) + include("${CMAKE_CURRENT_LIST_DIR}/Shiboken6ToolsTargets.cmake") +endif() diff --git a/sources/shiboken6/data/docgenerator.1 b/sources/shiboken6/data/docgenerator.1 new file mode 120000 index 000000000..c65282f98 --- /dev/null +++ b/sources/shiboken6/data/docgenerator.1 @@ -0,0 +1 @@ +generatorrunner.1
\ No newline at end of file diff --git a/sources/shiboken6/data/generatorrunner.1 b/sources/shiboken6/data/generatorrunner.1 new file mode 100644 index 000000000..f5a61f139 --- /dev/null +++ b/sources/shiboken6/data/generatorrunner.1 @@ -0,0 +1,76 @@ +.TH GENERATORRUNNER 1 "SEPTEMBER 2009" Linux "User Manuals" +.SH NAME +generatorrunner - plugin-based binding source code generator +.SH SYNOPSIS +.B generatorrunner \-\-generator-set=<plugin name> [options] header-file typesystem-file +.SH DESCRIPTION +.B generatorrunner +is a utility that uses the information taken from APIExtractor +related to the provided C++ headers and typesystem files and execute +generators using this information. Generators are plugins and you need +to specify one using the \-\-generator-set parameter. At the moment there +are two generators available: + +.B qtdoc +\- Generates Sphinx-based documentation for C++ libraries documented using +.B qdoc +documentation syntax, using the XML files created by the documentation tool +.B (qdoc). +Can be called supplying +.B \-\-generator-set=qtdoc +to +.B generatorrunner +or by calling the convenience executable +.B docgenerator. + +Other plugins can be used with +.B generatorrunner, +provided that they follow the generator front-end specifications, +and can be written to generate code or documentation for any target +languague you desire. For more information about the generator front-end +architecture and current limitations, refer to http://www.pyside.org/home-binding. + +.SH OPTIONS +.SS "General options" +.IP \-\-api-version=<version> +Specify the supported api version used to generate the bindings. +.IP \-\-debug-level=[sparse|medium|full] +The amount of messages displayed. +.IP \-\-documentation-only +Only generates the documentation. +.IP \-\-drop-type-entries="<TypeEntry0>[;TypeEntry1;...]" +Semicolon separated list of type system entries (classes, namespaces, global functions and enums) to be dropped from generation. +.IP \-\-help \fR,\fP \-h \fR,\fP -? +Prints the usage message. +.IP \-\-project-file=<file> +Text file containing a description of the binding project. Replaces and overrides command line arguments. +.IP \-\-include\-paths=\fI<path>[:path:..]\fR +The directories where the generator will search for the +headers. Works like gcc's \-I flag. +.IP \-\-license\-file=\fI[licensefile]\fR +Template for copyright headers of generated files. +.IP \-\-no\-supress\-warnings +Show all warnings. +.IP \-\-output\-directory=\fI[dir]\fR +The directory where the generated files will be written. +.IP \-\-silent +Avoid printing any messages. +.IP \-\-typesytem\-paths=\fI<path>[:path:..]\fR +The directories where the generator will search for the +external typesystems referred by the main one. +.IP \-\-version +Displays the current version. +Drops support for named args. +.SS "Specific to qtdoc plugin" +.IP \-\-documentation\-code\-snippets\-dir +Directory used to search code snippets used by the documentation +.IP \-\-documentation\-data\-dir +Directory with XML files generated by documentation tool (qdoc or Doxygen) +.IP \-\-documentation\-out\-dir +The directory where the generated documentation files will be written +.IP \-\-library\-source\-dir +Directory where library source code is located + +.SH AUTHORS +Lauro Moura <lauro.neto at openbossa dot org>, Bruno Araujo <bruno.araujo at openbossa dot org>, Hugo Lima <hugo.lima at openbossa dot org> + diff --git a/sources/shiboken6/data/generatorrunner.pc.in b/sources/shiboken6/data/generatorrunner.pc.in new file mode 100644 index 000000000..a566f4356 --- /dev/null +++ b/sources/shiboken6/data/generatorrunner.pc.in @@ -0,0 +1,13 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=@CMAKE_INSTALL_PREFIX@ +libdir=@LIB_INSTALL_DIR@ +includedir=@CMAKE_INSTALL_PREFIX@/include + + +Name: generatorrunner@generator_SUFFIX@ +Description: Generator Runner loads and calls binding generator front-ends. +Requires: apiextractor +Version: @generatorrunner_VERSION@ +Libs: -L${libdir} -lgenrunner@generator_SUFFIX@ +Cflags: -I${includedir}@generator_SUFFIX@ + diff --git a/sources/shiboken6/data/shiboken6.pc.in b/sources/shiboken6/data/shiboken6.pc.in new file mode 100644 index 000000000..a82d23168 --- /dev/null +++ b/sources/shiboken6/data/shiboken6.pc.in @@ -0,0 +1,12 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=@CMAKE_INSTALL_PREFIX@ +libdir=@CMAKE_INSTALL_PREFIX@/@LIB_INSTALL_DIR@ +includedir=@CMAKE_INSTALL_PREFIX@/include/shiboken6 +python_interpreter=@Python_EXECUTABLE@ +python_include_dir=@Python_INCLUDE_DIRS@ + +Name: shiboken6 +Description: Support library for Python bindings created with the Shiboken6 generator. +Version: @shiboken6_VERSION@ +Libs: @SHIBOKEN_PYTHON_LIBRARIES@ -L${libdir} -lshiboken6@shiboken6_SUFFIX@@PYTHON_SHARED_LIBRARY_SUFFIX@@LIBRARY_OUTPUT_SUFFIX@ +Cflags: -I@Python_INCLUDE_DIRS@ -I${includedir}/@shiboken6_SUFFIX@@SBK_PKG_CONFIG_PY_DEBUG_DEFINITION@ |