summaryrefslogtreecommitdiffstats
path: root/Source/cmake/OptionsQt.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmake/OptionsQt.cmake')
-rw-r--r--Source/cmake/OptionsQt.cmake75
1 files changed, 51 insertions, 24 deletions
diff --git a/Source/cmake/OptionsQt.cmake b/Source/cmake/OptionsQt.cmake
index f6f71a87b..6e709f0c9 100644
--- a/Source/cmake/OptionsQt.cmake
+++ b/Source/cmake/OptionsQt.cmake
@@ -20,22 +20,33 @@ macro(macro_process_qtbase_prl_file qt_target_component)
endif ()
if (EXISTS ${_prl_file_location})
file(STRINGS ${_prl_file_location} prl_strings REGEX "QMAKE_PRL_LIBS")
- string(REGEX REPLACE "QMAKE_PRL_LIBS *= *([^\n]*)" "\\1" static_depends ${prl_strings})
+ string(REGEX REPLACE "QMAKE_PRL_LIBS *= *([^\\n]*)" "\\1" static_depends ${prl_strings})
string(STRIP ${static_depends} static_depends)
set_target_properties(${qt_target_component} PROPERTIES
"INTERFACE_LINK_LIBRARIES" "${_link_libs}${_list_sep}${static_depends}"
"IMPORTED_LOCATION" "${_lib_location}"
)
+ string(REPLACE " " ";" static_depends ${static_depends})
+ set(${_lib_name}_STATIC_LIB_DEPENDENCIES "${static_depends}")
endif ()
endif ()
endmacro()
+macro(QT_ADD_EXTRA_WEBKIT_TARGET_EXPORT target)
+ if (QT_STATIC_BUILD)
+ install(TARGETS ${target} EXPORT WebKitTargets
+ DESTINATION "${LIB_INSTALL_DIR}")
+ endif ()
+endmacro()
+
set(PROJECT_VERSION_MAJOR 5)
set(PROJECT_VERSION_MINOR 602)
set(PROJECT_VERSION_MICRO 1)
set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_MICRO})
set(PROJECT_VERSION_STRING "${PROJECT_VERSION}")
+set(CMAKE_MACOSX_RPATH ON)
+
add_definitions(-DBUILDING_QT__=1)
WEBKIT_OPTION_BEGIN()
@@ -173,12 +184,9 @@ set(ENABLE_WEBKIT ON)
set(ENABLE_WEBKIT2 OFF)
set(WTF_USE_UDIS86 1)
-
get_target_property(QT_CORE_TYPE Qt5::Core TYPE)
if (QT_CORE_TYPE MATCHES STATIC)
set(QT_STATIC_BUILD ON)
-endif ()
-if (QT_STATIC_BUILD)
set(SHARED_CORE OFF)
endif ()
@@ -252,6 +260,13 @@ else ()
)
set(ICU_LIBRARIES libicucore.dylib)
find_library(COREFOUNDATION_LIBRARY CoreFoundation)
+ if (QT_STATIC_BUILD)
+ find_library(CARBON_LIBRARY Carbon)
+ find_library(COCOA_LIBRARY Cocoa)
+ find_library(SYSTEMCONFIGURATION_LIBRARY SystemConfiguration)
+ find_library(CORESERVICES_LIBRARY CoreServices)
+ find_library(SECURITY_LIBRARY Security)
+ endif ()
endif ()
if (ENABLE_XSLT)
@@ -271,8 +286,6 @@ if (WEBP_FOUND)
endif ()
set(REQUIRED_QT_VERSION 5.2.0)
-
-
set(QT_REQUIRED_COMPONENTS Core Gui Network Sql)
# FIXME: Allow building w/o these components
@@ -287,19 +300,48 @@ if (ENABLE_TEST_SUPPORT)
)
endif ()
+if (ENABLE_GEOLOCATION)
+ list(APPEND QT_REQUIRED_COMPONENTS Positioning)
+ SET_AND_EXPOSE_TO_BUILD(HAVE_QTPOSITIONING 1)
+endif ()
+
+if (ENABLE_DEVICE_ORIENTATION)
+ list(APPEND QT_REQUIRED_COMPONENTS Sensors)
+ SET_AND_EXPOSE_TO_BUILD(HAVE_QTSENSORS 1)
+endif ()
+
+if (ENABLE_PRINT_SUPPORT)
+ list(APPEND QT_REQUIRED_COMPONENTS PrintSupport)
+ SET_AND_EXPOSE_TO_BUILD(HAVE_QTPRINTSUPPORT 1)
+endif ()
+
find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS ${QT_REQUIRED_COMPONENTS})
if (QT_STATIC_BUILD)
foreach (qt_module ${QT_REQUIRED_COMPONENTS})
macro_process_qtbase_prl_file(Qt5::${qt_module})
+ list(APPEND STATIC_LIB_DEPENDENCIES
+ ${Qt5${qt_module}_STATIC_LIB_DEPENDENCIES}
+ )
endforeach ()
+ # HACK: We must explicitly add LIB path of the Qt installation
+ # to correctly find qtpcre
+ link_directories(${_qt5_install_prefix}/../)
endif ()
+
foreach (qt_module ${QT_OPTIONAL_COMPONENTS})
- find_package("Qt5${qt_module}" ${REQUIRED_QT_VERSION})
+ find_package("Qt5${qt_module}" ${REQUIRED_QT_VERSION} PATHS ${_qt5_install_prefix} NO_DEFAULT_PATH)
if (QT_STATIC_BUILD)
macro_process_qtbase_prl_file(Qt5::${qt_module})
+ list(APPEND STATIC_LIB_DEPENDENCIES
+ ${Qt5${qt_module}_STATIC_LIB_DEPENDENCIES}
+ )
endif ()
endforeach ()
+if (QT_STATIC_BUILD)
+ list(REMOVE_DUPLICATES STATIC_LIB_DEPENDENCIES)
+endif ()
+
if (COMPILER_IS_GCC_OR_CLANG AND UNIX)
if (APPLE OR CMAKE_SYSTEM_NAME MATCHES "Android" OR ${Qt5_VERSION} VERSION_LESS 5.6)
set(USE_LINKER_VERSION_SCRIPT_DEFAULT OFF)
@@ -312,21 +354,6 @@ endif ()
option(USE_LINKER_VERSION_SCRIPT "Use linker script for ABI compatibility with Qt libraries" ${USE_LINKER_VERSION_SCRIPT_DEFAULT})
-if (ENABLE_GEOLOCATION)
- find_package(Qt5Positioning ${REQUIRED_QT_VERSION} REQUIRED)
- SET_AND_EXPOSE_TO_BUILD(HAVE_QTPOSITIONING 1)
-endif ()
-
-if (ENABLE_DEVICE_ORIENTATION)
- find_package(Qt5Sensors ${REQUIRED_QT_VERSION} REQUIRED)
- SET_AND_EXPOSE_TO_BUILD(HAVE_QTSENSORS 1)
-endif ()
-
-if (ENABLE_PRINT_SUPPORT)
- find_package(Qt5PrintSupport ${REQUIRED_QT_VERSION} REQUIRED)
- SET_AND_EXPOSE_TO_BUILD(HAVE_QTPRINTSUPPORT 1)
-endif ()
-
# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Instruct CMake to run moc automatically when needed.
@@ -390,9 +417,9 @@ if (NOT ENABLE_VIDEO)
endif ()
if (USE_QT_MULTIMEDIA)
- find_package(Qt5Multimedia ${REQUIRED_QT_VERSION} REQUIRED)
+ find_package(Qt5Multimedia ${REQUIRED_QT_VERSION} REQUIRED PATHS ${_qt5_install_prefix} NO_DEFAULT_PATH)
# FIXME: Allow building w/o widgets
- find_package(Qt5MultimediaWidgets ${REQUIRED_QT_VERSION} REQUIRED)
+ find_package(Qt5MultimediaWidgets ${REQUIRED_QT_VERSION} REQUIRED PATHS ${_qt5_install_prefix} NO_DEFAULT_PATH)
endif ()
# From OptionsGTK.cmake