aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/libpyside/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside6/libpyside/CMakeLists.txt')
-rw-r--r--sources/pyside6/libpyside/CMakeLists.txt105
1 files changed, 55 insertions, 50 deletions
diff --git a/sources/pyside6/libpyside/CMakeLists.txt b/sources/pyside6/libpyside/CMakeLists.txt
index dca469eb9..ebfe123dd 100644
--- a/sources/pyside6/libpyside/CMakeLists.txt
+++ b/sources/pyside6/libpyside/CMakeLists.txt
@@ -1,20 +1,47 @@
-project(libpyside)
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
-set(QML_SUPPORT 0)
-set(QML_PRIVATE_API_SUPPORT 0)
+project(libpyside)
set(libpyside_libraries Qt::Core Qt::CorePrivate)
-if(Qt${QT_MAJOR_VERSION}Qml_FOUND)
- list(APPEND libpyside_libraries Qt::Qml)
- set(QML_SUPPORT 1)
- if(Qt${QT_MAJOR_VERSION}Qml_PRIVATE_INCLUDE_DIRS)
- list(APPEND libpyside_libraries Qt::QmlPrivate)
- set(QML_PRIVATE_API_SUPPORT 1)
- else()
- message(WARNING "QML private API include files could not be found, support for catching QML exceptions inside Python code will not work.")
- endif()
-endif()
+set(CMAKE_AUTOMOC ON)
+
+set(libpyside_HEADERS # installed below
+ class_property.h
+ dynamicqmetaobject.h
+ feature_select.h
+ globalreceiverv2.h
+ pysideclassdecorator_p.h
+ pysideclassinfo.h
+ pysideclassinfo_p.h
+ pysidecleanup.h
+ pyside.h
+ pysideinit.h
+ pysidelogging_p.h
+ pysidemacros.h
+ pysidemetafunction.h
+ pysidemetafunction_p.h
+ pysidemetatype.h
+ pyside_numpy.h
+ pyside_p.h
+ pysideproperty.h
+ pysideproperty_p.h
+ pysideqapp.h
+ pysideqenum.h
+ pysideqhash.h
+ pysideqmetatype.h
+ pysideqobject.h
+ pysideqslotobject_p.h
+ pysidesignal.h
+ pysidesignal_p.h
+ pysideslot_p.h
+ pysidestaticstrings.h
+ pysideutils.h
+ pysideweakref.h
+ qobjectconnect.h
+ signalmanager.h
+)
set(libpyside_SRC
class_property.cpp
@@ -22,17 +49,20 @@ set(libpyside_SRC
feature_select.cpp
signalmanager.cpp
globalreceiverv2.cpp
+ pysideclassdecorator.cpp
pysideclassinfo.cpp
pysideqenum.cpp
+ pysideqslotobject_p.cpp
pysidemetafunction.cpp
pysidesignal.cpp
pysideslot.cpp
pysideproperty.cpp
- pysideqflags.cpp
pysideweakref.cpp
pyside.cpp
pyside_numpy.cpp
pysidestaticstrings.cpp
+ qobjectconnect.cpp
+ ${libpyside_HEADERS}
)
qt6_add_resources(libpyside_SRC libpyside.qrc)
@@ -62,20 +92,15 @@ add_other_files(${other_files})
add_library(pyside6 SHARED ${libpyside_SRC} ${other_files})
add_library(PySide6::pyside6 ALIAS pyside6)
+#does nothing if QFP_NO_OVERRIDE_OPTIMIZATION_FLAGS (no-size-optimization) flag is not set
+append_size_optimization_flags(pyside6)
+
target_include_directories(pyside6 PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<INSTALL_INTERFACE:include/PySide6>
)
-if (PYSIDE_NUMPY_SUPPORT AND NOT "${NUMPY_INCLUDE_DIR}" STREQUAL "")
- message(STATUS "Enabling experimental numpy support in libpyside.")
- target_include_directories(pyside6 PRIVATE ${NUMPY_INCLUDE_DIR})
- target_compile_definitions(pyside6 PRIVATE -DHAVE_NUMPY
- PRIVATE -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION)
-
-else()
- message(STATUS "Disabled experimental numpy support in libpyside.")
-endif()
+target_compile_definitions(pyside6 PRIVATE -DQT_LEAN_HEADERS=1 -DQT_NO_KEYWORDS=1)
target_link_libraries(pyside6
PRIVATE Shiboken6::libshiboken ${libpyside_libraries})
@@ -88,11 +113,6 @@ set_target_properties(pyside6 PROPERTIES
set_property(TARGET pyside6 PROPERTY CXX_STANDARD 17)
-if(QML_SUPPORT)
- target_compile_definitions(pyside6 PUBLIC PYSIDE_QML_SUPPORT=1)
-endif()
-target_compile_definitions(pyside6 PRIVATE PYSIDE_QML_PRIVATE_API_SUPPORT=${QML_PRIVATE_API_SUPPORT})
-
if(PYSIDE_QT_CONF_PREFIX)
set_property(SOURCE pyside.cpp
APPEND
@@ -104,23 +124,6 @@ endif()
# install stuff
#
-set(libpyside_HEADERS
- class_property.h
- dynamicqmetaobject.h
- feature_select.h
- pysideclassinfo.h
- pysideqenum.h
- pysidemacros.h
- signalmanager.h
- pyside.h
- pysidestaticstrings.h
- pysidemetafunction.h
- pysidesignal.h
- pysideproperty.h
- pysideqflags.h
- pysideweakref.h
-)
-
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
set(LIBRARY_OUTPUT_SUFFIX ${CMAKE_DEBUG_POSTFIX})
else()
@@ -129,6 +132,8 @@ endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D QT_NO_CAST_FROM_ASCII -D QT_NO_CAST_TO_ASCII")
+qfp_strip_library("pyside6")
+
# create pkg-config file
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/pyside6.pc.in"
"${CMAKE_CURRENT_BINARY_DIR}/pyside6${pyside6_SUFFIX}.pc" @ONLY)
@@ -157,7 +162,7 @@ set(PYSIDE_GLUE "${CMAKE_INSTALL_PREFIX}/share/PySide6${pyside6_SUFFIX}/glue")
configure_package_config_file(
"${CMAKE_CURRENT_SOURCE_DIR}/PySide6Config-spec.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/install/PySide6Config${SHIBOKEN_PYTHON_CONFIG_SUFFIX}.cmake"
- INSTALL_DESTINATION "${LIB_INSTALL_DIR}/cmake/PySide6-${BINDING_API_VERSION}"
+ INSTALL_DESTINATION "${LIB_INSTALL_DIR}/cmake/PySide6"
PATH_VARS PYSIDE_PYTHONPATH PYSIDE_TYPESYSTEMS PYSIDE_GLUE
)
@@ -174,16 +179,16 @@ install(TARGETS pyside6 EXPORT PySide6Targets
ARCHIVE DESTINATION "${LIB_INSTALL_DIR}"
RUNTIME DESTINATION bin)
install(EXPORT PySide6Targets NAMESPACE PySide6::
- DESTINATION "${LIB_INSTALL_DIR}/cmake/PySide6-${BINDING_API_VERSION}")
+ DESTINATION "${LIB_INSTALL_DIR}/cmake/PySide6")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/pyside6${pyside6_SUFFIX}.pc"
DESTINATION "${LIB_INSTALL_DIR}/pkgconfig")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/PySide6Config.cmake"
- DESTINATION "${LIB_INSTALL_DIR}/cmake/PySide6-${BINDING_API_VERSION}")
+ DESTINATION "${LIB_INSTALL_DIR}/cmake/PySide6")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/install/PySide6Config${SHIBOKEN_PYTHON_CONFIG_SUFFIX}.cmake"
- DESTINATION "${LIB_INSTALL_DIR}/cmake/PySide6-${BINDING_API_VERSION}")
+ DESTINATION "${LIB_INSTALL_DIR}/cmake/PySide6")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/PySide6ConfigVersion.cmake"
- DESTINATION "${LIB_INSTALL_DIR}/cmake/PySide6-${BINDING_API_VERSION}")
+ DESTINATION "${LIB_INSTALL_DIR}/cmake/PySide6")