33ac3cf766
file(REAL_PATH) was introduced in CMake 3.19.
Use get_file_name_component(... REALPATH) instead that is available in
older CMake versions.
This amends commit b226e99c71
.
Pick-to: 6.1
Change-Id: Ibb28ef757228e1a1176ff70c3ec57b7ca751a636
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
70 lines
3.6 KiB
CMake
70 lines
3.6 KiB
CMake
# Propagate common variables via BuildInternals package.
|
|
set(QT_BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@)
|
|
option(BUILD_SHARED_LIBS "Build Qt statically or dynamically" @BUILD_SHARED_LIBS@)
|
|
set(QT_CMAKE_EXPORT_NAMESPACE @QT_CMAKE_EXPORT_NAMESPACE@)
|
|
set(INSTALL_CMAKE_NAMESPACE @INSTALL_CMAKE_NAMESPACE@)
|
|
set(QT_BUILD_INTERNALS_PATH "${CMAKE_CURRENT_LIST_DIR}")
|
|
|
|
# The relocatable install prefix is meant to be used to find things like host binaries (syncqt),
|
|
# when the CMAKE_INSTALL_PREFIX is overridden to point to a different path (like when building a
|
|
# a Qt repo using Conan, which will set a random install prefix instead of installing into the
|
|
# original Qt install prefix).
|
|
get_filename_component(QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX
|
|
${CMAKE_CURRENT_LIST_DIR}/../@qt_path_from_cmake_config_dir_to_prefix@
|
|
ABSOLUTE)
|
|
|
|
# If no explicit CMAKE_INSTALL_PREFIX is provided, force set the original Qt installation prefix,
|
|
# so that further modules / repositories are installed into same original location.
|
|
# This means by default when configuring qtsvg / qtdeclarative, they will be installed the regular
|
|
# Qt installation prefix.
|
|
# If an explicit installation prefix is specified, honor it.
|
|
# This is an attempt to support Conan, aka handle installation of modules into a
|
|
# different installation prefix than the original one. Also allow to opt out via a special variable.
|
|
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND
|
|
NOT QT_BUILD_INTERNALS_NO_FORCE_SET_INSTALL_PREFIX)
|
|
set(qtbi_orig_prefix "@CMAKE_INSTALL_PREFIX@")
|
|
set(qtbi_new_prefix "${QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX}")
|
|
if(CMAKE_HOST_WIN32)
|
|
# Make sure we use exactly the original prefix if it points to the same directory as the new
|
|
# one. This is needed for the case where the original prefix is passed without drive letter
|
|
# to support installing with DESTDIR set.
|
|
get_filename_component(qtbi_real_orig_prefix "${qtbi_orig_prefix}" REALPATH)
|
|
get_filename_component(qtbi_real_new_prefix "${qtbi_new_prefix}" REALPATH)
|
|
if(qtbi_real_orig_prefix STREQUAL qtbi_real_new_prefix)
|
|
set(qtbi_new_prefix "${qtbi_orig_prefix}")
|
|
endif()
|
|
endif()
|
|
set(CMAKE_INSTALL_PREFIX "${qtbi_new_prefix}" CACHE PATH
|
|
"Install path prefix, prepended onto install directories." FORCE)
|
|
unset(qtbi_orig_prefix)
|
|
unset(qtbi_real_orig_prefix)
|
|
unset(qtbi_new_prefix)
|
|
unset(qtbi_real_new_prefix)
|
|
endif()
|
|
|
|
# Propagate developer builds to other modules via BuildInternals package.
|
|
if(@FEATURE_developer_build@)
|
|
set(FEATURE_developer_build ON CACHE BOOL "Developer build." FORCE)
|
|
endif()
|
|
|
|
# Propagate non-prefix builds.
|
|
set(QT_WILL_INSTALL @QT_WILL_INSTALL@ CACHE BOOL
|
|
"Boolean indicating if doing a Qt prefix build (vs non-prefix build)." FORCE)
|
|
|
|
set(QT_SOURCE_TREE "@QT_SOURCE_TREE@" CACHE PATH
|
|
"A path to the source tree of the previously configured QtBase project." FORCE)
|
|
|
|
# Propagate decision of building tests and examples to other repositories.
|
|
set(QT_BUILD_TESTS @QT_BUILD_TESTS@ CACHE BOOL "Build the testing tree.")
|
|
set(QT_BUILD_EXAMPLES @QT_BUILD_EXAMPLES@ CACHE BOOL "Build Qt examples")
|
|
set(QT_BUILD_TESTS_BY_DEFAULT @QT_BUILD_TESTS_BY_DEFAULT@ CACHE BOOL
|
|
"Should tests be built as part of the default 'all' target.")
|
|
set(QT_BUILD_EXAMPLES_BY_DEFAULT @QT_BUILD_EXAMPLES_BY_DEFAULT@ CACHE BOOL
|
|
"Should examples be built as part of the default 'all' target.")
|
|
|
|
# Propagate usage of ccache.
|
|
set(QT_USE_CCACHE @QT_USE_CCACHE@ CACHE BOOL "Enable the use of ccache")
|
|
|
|
# Extra set of exported variables
|
|
@QT_EXTRA_BUILD_INTERNALS_VARS@
|