qt5base-lts/CMakeLists.txt
Alexandru Croitor e0b4144486 Force feature_summary to fail when a required package is not found
Apparently calling set_package_properties with TYPE REQUIRED and
then calling feature_summary with FATAL_ON_MISSING_REQUIRED_PACKAGES
and PACKAGES_NOT_FOUND is not enough to make CMake fail when not
finding a required package.

You have to explicitly set REQUIRED_PACKAGES_NOT_FOUND to force
feature_summary to fail when a package is not found.

Do this, and also explicitly add the rest of the NOT FOUND cases,
to get a slightly clearer overview what kind of packages were not
found.

Task-number: QTBUG-74133
Change-Id: Id21af13dafafe0a458cff479e8abbc6aa7e6a3f7
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-04-08 14:53:24 +00:00

62 lines
1.6 KiB
CMake

cmake_minimum_required(VERSION 3.14.0)
project(QtBase
VERSION 5.12.0
DESCRIPTION "Qt Base Libraries"
HOMEPAGE_URL "https://qt.io/"
LANGUAGES CXX C ASM
)
## Add some paths to check for cmake modules:
list(APPEND 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"
)
## Qt specific setup common for all modules:
include(QtSetup)
## Enable feature summary at the end of the configure run:
include(FeatureSummary)
## 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})
## Visit all the directories:
add_subdirectory(src)
if (BUILD_TESTING)
add_subdirectory(tests)
endif()
if (NOT CMAKE_CROSSCOMPILING)
add_subdirectory(qmake)
endif()
option(BUILD_EXAMPLES "Build Qt examples" ON)
if (BUILD_EXAMPLES)
add_subdirectory(examples)
endif()
## Delayed actions on some of the Qt targets:
include(QtPostProcess)
## Print a feature summary:
feature_summary(WHAT PACKAGES_FOUND
REQUIRED_PACKAGES_NOT_FOUND
RECOMMENDED_PACKAGES_NOT_FOUND
OPTIONAL_PACKAGES_NOT_FOUND
RUNTIME_PACKAGES_NOT_FOUND
FATAL_ON_MISSING_REQUIRED_PACKAGES)