f54881f73a
It should happen after qmake is built, to make sure that the target is made global, otherwise when cross-building qtbase in another build tree, the configuration phase will fail due to not finding qmake. qmake was accidentally exported before if you configured qtbase twice, because the tool was kept around in a cache variable, the second configuration actually recreated the CoreToolsConfig.cmake file to contain qmake as well. Change-Id: I6941e83f7d6bd03c56de120fba1d18e50c4af0e4 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
76 lines
2.0 KiB
CMake
76 lines
2.0 KiB
CMake
cmake_minimum_required(VERSION 3.15.0)
|
|
|
|
# Run auto detection routines
|
|
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/QtAutoDetect.cmake)
|
|
|
|
project(QtBase
|
|
VERSION 6.0.0
|
|
DESCRIPTION "Qt Base Libraries"
|
|
HOMEPAGE_URL "https://qt.io/"
|
|
LANGUAGES CXX C ASM
|
|
)
|
|
|
|
## Add some paths to check for cmake modules:
|
|
list(PREPEND CMAKE_MODULE_PATH
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/cmake"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/3rdparty/extra-cmake-modules/find-modules"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/3rdparty/kwin"
|
|
)
|
|
|
|
## Find the build internals package.
|
|
list(PREPEND CMAKE_PREFIX_PATH
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/cmake"
|
|
)
|
|
find_package(QtBuildInternals CMAKE_FIND_ROOT_PATH_BOTH)
|
|
|
|
qt_build_repo_begin(SKIP_CMAKE_MODULE_PATH_ADDITION)
|
|
|
|
## QtBase specific configure tests:
|
|
include(QtBaseConfigureTests)
|
|
|
|
## Build System tests:
|
|
include(QtBaseCMakeTesting)
|
|
|
|
## Targets for global features, etc.:
|
|
include(QtBaseGlobalTargets)
|
|
|
|
## Should this Qt be static or dynamically linked?
|
|
option(BUILD_SHARED_LIBS "Build Qt statically or dynamically" ON)
|
|
set(QT_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
|
|
|
|
## Should this Qt be built with Werror?
|
|
option(WARNINGS_ARE_ERRORS "Build Qt with warnings as errors" ${FEATURE_developer_build})
|
|
|
|
## Decide whether tools will be built.
|
|
qt_check_if_tools_will_be_built()
|
|
|
|
## Visit all the directories:
|
|
add_subdirectory(src)
|
|
|
|
if (BUILD_TESTING)
|
|
add_subdirectory(tests)
|
|
endif()
|
|
|
|
if (QT_WILL_BUILD_TOOLS)
|
|
add_subdirectory(qmake)
|
|
endif()
|
|
|
|
# Need to build qmake and other Core tools before exporting them.
|
|
qt_export_tools(Core)
|
|
|
|
# As long as we use the mkspecs (for qplatformdefs.h), we need to always
|
|
# install it, especially when cross-compiling.
|
|
set(mkspecs_install_dir "${INSTALL_DATADIR}")
|
|
qt_path_join(mkspecs_install_dir ${QT_INSTALL_DIR} ${mkspecs_install_dir})
|
|
|
|
qt_copy_or_install(DIRECTORY "${PROJECT_SOURCE_DIR}/mkspecs"
|
|
DESTINATION ${mkspecs_install_dir})
|
|
|
|
|
|
qt_build_repo_end()
|
|
|
|
option(BUILD_EXAMPLES "Build Qt examples" ON)
|
|
if (BUILD_EXAMPLES)
|
|
add_subdirectory(examples)
|
|
endif()
|