Warning, /network/falkon/src/plugins/PyFalkon/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # Enable policy to run automoc on generated files. 0002 if(POLICY CMP0071) 0003 cmake_policy(SET CMP0071 NEW) 0004 endif() 0005 0006 # Get all relevant Qt include dirs, to pass them on to shiboken. 0007 get_property(QT_CORE_INCLUDE_DIRS TARGET Qt6::Core PROPERTY INTERFACE_INCLUDE_DIRECTORIES) 0008 get_property(QT_GUI_INCLUDE_DIRS TARGET Qt6::Gui PROPERTY INTERFACE_INCLUDE_DIRECTORIES) 0009 get_property(QT_SQL_INCLUDE_DIRS TARGET Qt6::Sql PROPERTY INTERFACE_INCLUDE_DIRECTORIES) 0010 get_property(QT_WIDGETS_INCLUDE_DIRS TARGET Qt6::Widgets PROPERTY INTERFACE_INCLUDE_DIRECTORIES) 0011 get_property(QT_NETWORK_INCLUDE_DIRS TARGET Qt6::Network PROPERTY INTERFACE_INCLUDE_DIRECTORIES) 0012 get_property(QT_WEBENGINECORE_INCLUDE_DIRS TARGET Qt6::WebEngineCore PROPERTY INTERFACE_INCLUDE_DIRECTORIES) 0013 get_property(QT_WEBENGINEWIDGETS_INCLUDE_DIRS TARGET Qt6::WebEngineWidgets PROPERTY INTERFACE_INCLUDE_DIRECTORIES) 0014 set(QT_INCLUDE_DIRS 0015 ${QT_CORE_INCLUDE_DIRS} 0016 ${QT_GUI_INCLUDE_DIRS} 0017 ${QT_SQL_INCLUDE_DIRS} 0018 ${QT_WIDGETS_INCLUDE_DIRS} 0019 ${QT_NETWORK_INCLUDE_DIRS} 0020 ${QT_WEBENGINECORE_INCLUDE_DIRS} 0021 ${QT_WEBENGINEWIDGETS_INCLUDE_DIRS} 0022 ) 0023 get_property(QT_PRINTSUPPORT_INCLUDE_DIRS TARGET Qt6::PrintSupport PROPERTY INTERFACE_INCLUDE_DIRECTORIES) 0024 list(APPEND QT_INCLUDE_DIRS ${QT_PRINTSUPPORT_INCLUDE_DIRS}) 0025 set(INCLUDES "") 0026 foreach(INCLUDE_DIR ${QT_INCLUDE_DIRS}) 0027 list(APPEND INCLUDES "-I${INCLUDE_DIR}") 0028 endforeach() 0029 get_property(FalkonPrivate_INCLUDE_DIRS TARGET FalkonPrivate PROPERTY INCLUDE_DIRECTORIES) 0030 foreach(INCLUDE_DIR ${FalkonPrivate_INCLUDE_DIRS}) 0031 list(APPEND INCLUDES "-I${INCLUDE_DIR}") 0032 endforeach() 0033 0034 # Set up the options to pass to shiboken. 0035 set(GLOBAL_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/pyfalkon_global.h) 0036 set(TYPESYSTEM_FILE ${CMAKE_CURRENT_SOURCE_DIR}/typesystem_pyfalkon.xml) 0037 0038 set(API_VERSION "${Qt6_VERSION_MAJOR}.${Qt6_VERSION_MINOR}") 0039 0040 set(SHIBOKEN_OPTIONS --generator-set=shiboken --enable-parent-ctor-heuristic 0041 --enable-pyside-extensions --enable-return-value-heuristic --use-isnull-as-nb_nonzero 0042 --avoid-protected-hack 0043 ${INCLUDES} 0044 -T${PYSIDE_TYPESYSTEMS} 0045 --output-directory=${CMAKE_CURRENT_BINARY_DIR} 0046 --api-version="${API_VERSION}" 0047 ) 0048 0049 # Specify which sources will be generated by shiboken, and their dependencies. 0050 set(GENERATED_SOURCES 0051 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/pyfalkon_module_wrapper.cpp 0052 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/webview_wrapper.cpp 0053 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/tabbedwebview_wrapper.cpp 0054 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/webpage_wrapper.cpp 0055 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/webhittestresult_wrapper.cpp 0056 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/desktopfile_wrapper.cpp 0057 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/plugininterface_wrapper.cpp 0058 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/loadrequest_wrapper.cpp 0059 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/qz_wrapper.cpp 0060 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/desktopnotificationsfactory_wrapper.cpp 0061 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/externaljsobject_wrapper.cpp 0062 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/pluginproxy_wrapper.cpp 0063 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/plugins_wrapper.cpp 0064 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/plugins_plugin_wrapper.cpp 0065 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/pluginspec_wrapper.cpp 0066 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/qtsingleapplication_wrapper.cpp 0067 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/squeezelabelv1_wrapper.cpp 0068 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/squeezelabelv2_wrapper.cpp 0069 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/lineedit_wrapper.cpp 0070 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/sidewidget_wrapper.cpp 0071 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/webtab_wrapper.cpp 0072 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/mainapplication_wrapper.cpp 0073 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/datapaths_wrapper.cpp 0074 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/settings_wrapper.cpp 0075 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/autosaver_wrapper.cpp 0076 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/browserwindow_wrapper.cpp 0077 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/pageformdata_wrapper.cpp 0078 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/passwordentry_wrapper.cpp 0079 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/passwordbackend_wrapper.cpp 0080 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/autofill_wrapper.cpp 0081 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/passwordmanager_wrapper.cpp 0082 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/bookmarkitem_wrapper.cpp 0083 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/bookmarkstools_wrapper.cpp 0084 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/bookmarks_wrapper.cpp 0085 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/bookmarksmodel_wrapper.cpp 0086 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/bookmarksfoldersmenu_wrapper.cpp 0087 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/bookmarksfoldersbutton_wrapper.cpp 0088 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/cookiemanager_wrapper.cpp 0089 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/cookiejar_wrapper.cpp 0090 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/downloaditem_wrapper.cpp 0091 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/downloadmanager_wrapper.cpp 0092 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/downloadmanager_downloadinfo_wrapper.cpp 0093 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/history_wrapper.cpp 0094 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/history_historyentry_wrapper.cpp 0095 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/historyitem_wrapper.cpp 0096 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/historymodel_wrapper.cpp 0097 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/locationbar_wrapper.cpp 0098 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/locationbar_loadaction_wrapper.cpp 0099 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/navigationbar_wrapper.cpp 0100 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/networkmanager_wrapper.cpp 0101 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/searchenginesdialog_wrapper.cpp 0102 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/searchenginesmanager_wrapper.cpp 0103 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/searchenginesmanager_engine_wrapper.cpp 0104 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/sidebarmanager_wrapper.cpp 0105 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/sidebarinterface_wrapper.cpp 0106 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/webinspector_wrapper.cpp 0107 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/combotabbar_wrapper.cpp 0108 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/tabbar_wrapper.cpp 0109 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/tabcontextmenu_wrapper.cpp 0110 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/tabicon_wrapper.cpp 0111 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/tabicon_data_wrapper.cpp 0112 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/tabmodel_wrapper.cpp 0113 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/tabmrumodel_wrapper.cpp 0114 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/tabstackedwidget_wrapper.cpp 0115 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/tabtreemodel_wrapper.cpp 0116 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/tabwidget_wrapper.cpp 0117 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/searchtoolbar_wrapper.cpp 0118 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/checkboxdialog_wrapper.cpp 0119 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/qzsettings_wrapper.cpp 0120 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/statusbar_wrapper.cpp 0121 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/abstractbuttoninterface_wrapper.cpp 0122 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/abstractbuttoninterface_clickcontroller_wrapper.cpp 0123 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/clickablelabel_wrapper.cpp 0124 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/delayedfilewatcher_wrapper.cpp 0125 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/iconprovider_wrapper.cpp 0126 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/qztools_wrapper.cpp 0127 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/sqlqueryjob_wrapper.cpp 0128 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/sqldatabase_wrapper.cpp 0129 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/toolbutton_wrapper.cpp 0130 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/wheelhelper_wrapper.cpp 0131 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/menu_wrapper.cpp 0132 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/action_wrapper.cpp 0133 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/urlinterceptor_wrapper.cpp 0134 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon/extensionschemehandler_wrapper.cpp 0135 ) 0136 set(GENERATED_SOURCES_DEPENDENCIES 0137 ${GLOBAL_HEADER} 0138 ${TYPESYSTEM_FILE} 0139 ) 0140 0141 set(PYSIDE_VERSION "6") 0142 0143 # Add custom target to run shiboken. 0144 add_custom_command(OUTPUT ${GENERATED_SOURCES} 0145 COMMAND Shiboken${PYSIDE_VERSION}::shiboken${PYSIDE_VERSION} 0146 ${SHIBOKEN_OPTIONS} ${GLOBAL_HEADER} ${TYPESYSTEM_FILE} 0147 DEPENDS ${GENERATED_SOURCES_DEPENDENCIES} 0148 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} 0149 COMMENT "Running generator for ${TYPESYSTEM_FILE}.") 0150 0151 # We need to include the headers for the module bindings that we use. 0152 set(PYSIDE_ADDITIONAL_INCLUDES "") 0153 get_target_property(PYSIDE_INCLUDE_DIRS PySide${PYSIDE_VERSION}::pyside${PYSIDE_VERSION} INTERFACE_INCLUDE_DIRECTORIES) 0154 foreach(INCLUDE_DIR ${PYSIDE_INCLUDE_DIRS}) 0155 list(APPEND PYSIDE_ADDITIONAL_INCLUDES "${INCLUDE_DIR}/QtCore") 0156 list(APPEND PYSIDE_ADDITIONAL_INCLUDES "${INCLUDE_DIR}/QtGui") 0157 list(APPEND PYSIDE_ADDITIONAL_INCLUDES "${INCLUDE_DIR}/QtNetwork") 0158 list(APPEND PYSIDE_ADDITIONAL_INCLUDES "${INCLUDE_DIR}/QtPrintSupport") 0159 list(APPEND PYSIDE_ADDITIONAL_INCLUDES "${INCLUDE_DIR}/QtWidgets") 0160 list(APPEND PYSIDE_ADDITIONAL_INCLUDES "${INCLUDE_DIR}/QtWebChannel") 0161 list(APPEND PYSIDE_ADDITIONAL_INCLUDES "${INCLUDE_DIR}/QtWebEngineCore") 0162 list(APPEND PYSIDE_ADDITIONAL_INCLUDES "${INCLUDE_DIR}/QtWebEngineWidgets") 0163 list(APPEND PYSIDE_ADDITIONAL_INCLUDES "${INCLUDE_DIR}/QtSql") 0164 endforeach() 0165 0166 set(PyFalkon_SRCS 0167 pythonplugin.cpp 0168 ${GENERATED_SOURCES} 0169 ) 0170 0171 add_library(PyFalkon MODULE ${PyFalkon_SRCS}) 0172 install(TARGETS PyFalkon DESTINATION ${FALKON_INSTALL_PLUGINDIR}) 0173 0174 target_include_directories(PyFalkon 0175 PRIVATE 0176 ${PYSIDE_ADDITIONAL_INCLUDES} 0177 ${CMAKE_SOURCE_DIR} 0178 ${CMAKE_CURRENT_BINARY_DIR}/PyFalkon 0179 ) 0180 0181 target_link_libraries(PyFalkon 0182 PRIVATE 0183 FalkonPrivate 0184 Shiboken${PYSIDE_VERSION}::libshiboken 0185 PySide${PYSIDE_VERSION}::pyside${PYSIDE_VERSION} 0186 Python3::Python 0187 ) 0188 0189 # Same as CONFIG += no_keywords to avoid syntax errors in object.h due to the usage of the word Slot 0190 target_compile_definitions(PyFalkon PRIVATE QT_NO_KEYWORDS) 0191 0192 if(BUILD_TESTING) 0193 add_subdirectory(autotests) 0194 endif()