blob: 3cc3389c65a1a841f25d701bcce00c906d3bf888 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
set(libpysideqml_libraries Qt::Core Qt::CorePrivate Qt::Qml Qt::QmlPrivate)
set(libpysideqml_SRC
pysideqml.cpp
pysideqmlattached.cpp
pysideqmlforeign.cpp
pysideqmlextended.cpp
pysideqmlregistertype.cpp
pysideqmlmetacallerror.cpp
pysideqmllistproperty.cpp
pysideqmlnamedelement.cpp
pysideqmluncreatable.cpp
pysideqmltypeinfo.cpp
)
add_library(pyside6qml SHARED ${libpysideqml_SRC} ${other_files})
add_library(PySide6::pyside6qml ALIAS pyside6qml)
target_include_directories(pyside6qml PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<INSTALL_INTERFACE:include/PySide6Qml>
)
target_link_libraries(pyside6qml
PRIVATE PySide6::pyside6 Shiboken6::libshiboken ${libpysideqml_libraries})
set_target_properties(pyside6qml PROPERTIES
VERSION ${BINDING_API_VERSION}
SOVERSION "${PYSIDE_SO_VERSION}"
OUTPUT_NAME "pyside6qml${pyside6_SUFFIX}${SHIBOKEN_PYTHON_SHARED_LIBRARY_SUFFIX}"
DEFINE_SYMBOL BUILD_LIBPYSIDEQML)
target_compile_definitions(pyside6qml PRIVATE -DQT_LEAN_HEADERS=1)
set_property(TARGET pyside6 PROPERTY CXX_STANDARD 17)
if(PYSIDE_QT_CONF_PREFIX)
set_property(SOURCE pysideqml.cpp
APPEND
PROPERTY COMPILE_DEFINITIONS
PYSIDE_QT_CONF_PREFIX=${PYSIDE_QT_CONF_PREFIX})
endif()
#
# install stuff
#
set(libpysideqml_HEADERS
pysideqmlmacros.h
pysideqml.h
pysideqmlregistertype.h
)
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
set(LIBRARY_OUTPUT_SUFFIX ${CMAKE_DEBUG_POSTFIX})
else()
set(LIBRARY_OUTPUT_SUFFIX ${CMAKE_RELEASE_POSTFIX})
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D QT_NO_CAST_FROM_ASCII -D QT_NO_CAST_TO_ASCII")
qfp_strip_library("pyside6qml")
# Install-tree / relocatable package config file.
configure_package_config_file(
"${CMAKE_CURRENT_SOURCE_DIR}/PySide6QmlConfig-spec.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/install/PySide6QmlConfig${SHIBOKEN_PYTHON_CONFIG_SUFFIX}.cmake"
INSTALL_DESTINATION "${LIB_INSTALL_DIR}/cmake/PySide6Qml"
)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/PySide6QmlConfig.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/PySide6QmlConfig.cmake" @ONLY)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/PySide6QmlConfigVersion.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/PySide6QmlConfigVersion.cmake" @ONLY)
install(FILES ${libpysideqml_HEADERS}
DESTINATION include/${BINDING_NAME}${pyside6qml_SUFFIX})
install(TARGETS pyside6qml EXPORT PySide6QmlTargets
LIBRARY DESTINATION "${LIB_INSTALL_DIR}"
ARCHIVE DESTINATION "${LIB_INSTALL_DIR}"
RUNTIME DESTINATION bin)
install(EXPORT PySide6QmlTargets NAMESPACE PySide6Qml::
DESTINATION "${LIB_INSTALL_DIR}/cmake/PySide6Qml")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/PySide6QmlConfig.cmake"
DESTINATION "${LIB_INSTALL_DIR}/cmake/PySide6Qml")
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/install/PySide6QmlConfig${SHIBOKEN_PYTHON_CONFIG_SUFFIX}.cmake"
DESTINATION "${LIB_INSTALL_DIR}/cmake/PySide6Qml")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/PySide6QmlConfigVersion.cmake"
DESTINATION "${LIB_INSTALL_DIR}/cmake/PySide6Qml")
|