You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qtermwidget-packaging/pyqt/CMakeLists.txt

62 lines
1.9 KiB

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
# Match what's used in the main macros
cmake_policy(SET CMP0002 OLD)
find_package(PythonLibrary)
include(PythonMacros)
find_package(SIP)
include(SIPMacros)
if(SIP_VERSION STRLESS "040f03") # These version numbers also appear in ../CMakeLists.txt
message(FATAL_ERROR "The version of SIP found is too old. 4.15.3 or later is needed.")
endif()
find_package(PyQt5)
if(PYQT5_VERSION STRLESS "050101") # These version numbers also appear in ../CMakeLists.txt
message(FATAL_ERROR "The version of PyQt found is too old. 5.1.1 or later is required.")
endif()
set(SIP_INCLUDES ${PYQT5_SIP_DIR} sip)
set(SIP_CONCAT_PARTS 8)
set(SIP_TAGS ALL WS_X11 ${PYQT5_VERSION_TAG})
set(SIP_DISABLE_FEATURES VendorID PyQt_NoPrintRangeBug)
# Use an extra option when compiling on Python 3.
if (PYTHON_VERSION_MAJOR GREATER 2)
if(PYQT5_VERSION STRGREATER "040904")
# Disable for newer PyQt
set(SIP_EXTRA_OPTIONS -P -g)
else ()
set(SIP_EXTRA_OPTIONS -g)
endif()
else (PYTHON_VERSION_MAJOR GREATER 2)
if(PYQT5_VERSION STRGREATER "040904")
# Disable for newer PyQt
set(SIP_EXTRA_OPTIONS -P -g -x Py_v3)
else ()
set(SIP_EXTRA_OPTIONS -g -x Py_v3)
endif()
endif ()
include_directories(
"${SIP_INCLUDE_DIR}"
)
add_definitions(-D_REENTRANT -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public)
file(GLOB qtermwidget_files_sip sip/*.sip)
set(SIP_EXTRA_FILES_DEPEND "${qtermwidget_files_sip}")
add_sip_python_module(QTermWidget sip/qtermwidget.sip qtermwidget5)
python_install(__init__.py "${PYTHON_SITE_PACKAGES_INSTALL_DIR}/PyQt5/qtermwidget")
set (SIP_FILES_INSTALL_DIR "${CMAKE_INSTALL_DATAROOTDIR}/sip")
install(DIRECTORY sip/ DESTINATION "${SIP_FILES_INSTALL_DIR}/PyQt5/qtermwidget"
PATTERN "*~" EXCLUDE # This sucks, why can't I just whitelist what I _do_ want?
PATTERN ".svn" EXCLUDE
PATTERN "*.in" EXCLUDE
)