mirror of
https://github.com/reactos/CMake.git
synced 2024-12-13 14:27:23 +00:00
FeatureSummary: Add unit tests
This commit is contained in:
parent
614a97a57b
commit
4cf4acebe3
@ -0,0 +1 @@
|
||||
1
|
@ -0,0 +1,6 @@
|
||||
CMake Error at .*/Modules/FeatureSummary\.cmake:[0-9]+. \(message\):
|
||||
feature_summary\(\) Error: REQUIRED package\(s\) are missing, aborting CMake
|
||||
run.
|
||||
Call Stack \(most recent call first\):
|
||||
FeatureSummaryFatalOnMissingRequiredPackages.cmake:[0-9]+ \(feature_summary\)
|
||||
CMakeLists.txt:[0-9]+ \(include\)
|
@ -0,0 +1,17 @@
|
||||
-- The following REQUIRED packages have been found:
|
||||
|
||||
\* Foo, The Foo package, <https://foo.example/>
|
||||
|
||||
-- The following OPTIONAL packages have not been found:
|
||||
|
||||
\* Bar
|
||||
|
||||
-- The following REQUIRED packages have been found:
|
||||
|
||||
\* Foo, The Foo package, <https://foo.example/>
|
||||
|
||||
-- The following REQUIRED packages have not been found:
|
||||
|
||||
\* Bar
|
||||
|
||||
-- Configuring incomplete, errors occurred!
|
@ -0,0 +1,12 @@
|
||||
include(FeatureSummary)
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
|
||||
|
||||
find_package(Foo)
|
||||
find_package(Bar)
|
||||
|
||||
set_package_properties(Foo PROPERTIES TYPE REQUIRED)
|
||||
feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
|
||||
|
||||
set_package_properties(Bar PROPERTIES TYPE REQUIRED)
|
||||
feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
|
@ -0,0 +1,14 @@
|
||||
-- The following OPTIONAL packages have not been found:
|
||||
|
||||
\* Baz
|
||||
|
||||
-- The following OPTIONAL packages have been found:
|
||||
|
||||
\* Foo, The Foo package, <https://foo.example/>
|
||||
|
||||
-- The following OPTIONAL packages have not been found:
|
||||
|
||||
\* Bar
|
||||
\* Baz
|
||||
|
||||
-- Configuring done
|
@ -0,0 +1,11 @@
|
||||
include(FeatureSummary)
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
|
||||
|
||||
find_package(Foo QUIET)
|
||||
find_package(Bar QUIET)
|
||||
find_package(Baz)
|
||||
|
||||
feature_summary(WHAT ALL)
|
||||
|
||||
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES)
|
@ -0,0 +1,16 @@
|
||||
The following OPTIONAL packages have been found:
|
||||
|
||||
\* Foo, The Foo package, <https://foo.example/>
|
||||
|
||||
-- The following OPTIONAL packages have been found:
|
||||
|
||||
\* Foo, The Foo package, <https://foo.example/>
|
||||
Because everyone needs some Foo.
|
||||
|
||||
-- The following OPTIONAL packages have been found:
|
||||
|
||||
\* Foo, The Foo package, <https://foo.example/>
|
||||
Because everyone needs some Foo.
|
||||
Because Foo is better than Bar.
|
||||
|
||||
-- Configuring done
|
16
Tests/RunCMake/FeatureSummary/FeatureSummaryPurpose.cmake
Normal file
16
Tests/RunCMake/FeatureSummary/FeatureSummaryPurpose.cmake
Normal file
@ -0,0 +1,16 @@
|
||||
include(FeatureSummary)
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
|
||||
|
||||
find_package(Foo)
|
||||
|
||||
# Purpose not set
|
||||
feature_summary(WHAT ALL)
|
||||
|
||||
# Purpose set once
|
||||
set_package_properties(Foo PROPERTIES PURPOSE "Because everyone needs some Foo.")
|
||||
feature_summary(WHAT ALL)
|
||||
|
||||
# Purpose set twice
|
||||
set_package_properties(Foo PROPERTIES PURPOSE "Because Foo is better than Bar.")
|
||||
feature_summary(WHAT ALL)
|
45
Tests/RunCMake/FeatureSummary/FeatureSummaryTypes-stdout.txt
Normal file
45
Tests/RunCMake/FeatureSummary/FeatureSummaryTypes-stdout.txt
Normal file
@ -0,0 +1,45 @@
|
||||
-- The following OPTIONAL packages have been found:
|
||||
|
||||
\* Foo, The Foo package, <https://foo.example/>
|
||||
|
||||
-- The following RUNTIME packages have been found:
|
||||
|
||||
\* Foo, The Foo package, <https://foo.example/>
|
||||
|
||||
-- The following OPTIONAL packages have been found:
|
||||
|
||||
\* Foo, The Foo package, <https://foo.example/>
|
||||
|
||||
-- The following OPTIONAL packages have been found:
|
||||
|
||||
\* Foo, The Foo package, <https://foo.example/>
|
||||
|
||||
-- The following RECOMMENDED packages have been found:
|
||||
|
||||
\* Foo, The Foo package, <https://foo.example/>
|
||||
|
||||
-- The following RECOMMENDED packages have been found:
|
||||
|
||||
\* Foo, The Foo package, <https://foo.example/>
|
||||
|
||||
-- The following RECOMMENDED packages have been found:
|
||||
|
||||
\* Foo, The Foo package, <https://foo.example/>
|
||||
|
||||
-- The following REQUIRED packages have been found:
|
||||
|
||||
\* Foo, The Foo package, <https://foo.example/>
|
||||
|
||||
-- The following REQUIRED packages have been found:
|
||||
|
||||
\* Foo, The Foo package, <https://foo.example/>
|
||||
|
||||
-- The following REQUIRED packages have been found:
|
||||
|
||||
\* Foo, The Foo package, <https://foo.example/>
|
||||
|
||||
-- The following REQUIRED packages have been found:
|
||||
|
||||
\* Foo, The Foo package, <https://foo.example/>
|
||||
|
||||
-- Configuring done
|
48
Tests/RunCMake/FeatureSummary/FeatureSummaryTypes.cmake
Normal file
48
Tests/RunCMake/FeatureSummary/FeatureSummaryTypes.cmake
Normal file
@ -0,0 +1,48 @@
|
||||
include(FeatureSummary)
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
|
||||
|
||||
find_package(Foo)
|
||||
|
||||
# Type not set => OPTIONAL
|
||||
feature_summary(WHAT ALL)
|
||||
|
||||
# RUNTIME > not set => RUNTIME
|
||||
set_package_properties(Foo PROPERTIES TYPE RUNTIME)
|
||||
feature_summary(WHAT ALL)
|
||||
|
||||
# OPTIONAL > RUNTIME => OPTIONAL
|
||||
set_package_properties(Foo PROPERTIES TYPE OPTIONAL)
|
||||
feature_summary(WHAT ALL)
|
||||
|
||||
# RUNTIME < OPTIONAL => OPTIONAL
|
||||
set_package_properties(Foo PROPERTIES TYPE OPTIONAL)
|
||||
feature_summary(WHAT ALL)
|
||||
|
||||
# RECOMMENDED > OPTIONAL => RECOMMENDED
|
||||
set_package_properties(Foo PROPERTIES TYPE RECOMMENDED)
|
||||
feature_summary(WHAT ALL)
|
||||
|
||||
# OPTIONAL < RECOMMENDED => RECOMMENDED
|
||||
set_package_properties(Foo PROPERTIES TYPE OPTIONAL)
|
||||
feature_summary(WHAT ALL)
|
||||
|
||||
# RUNTIME < RECOMMENDED => RECOMMENDED
|
||||
set_package_properties(Foo PROPERTIES TYPE RUNTIME)
|
||||
feature_summary(WHAT ALL)
|
||||
|
||||
# REQUIRED > RECOMMENDED => REQUIRED
|
||||
set_package_properties(Foo PROPERTIES TYPE REQUIRED)
|
||||
feature_summary(WHAT ALL)
|
||||
|
||||
# RECOMMENDED < REQUIRED => REQUIRED
|
||||
set_package_properties(Foo PROPERTIES TYPE RECOMMENDED)
|
||||
feature_summary(WHAT ALL)
|
||||
|
||||
# OPTIONAL < REQUIRED => REQUIRED
|
||||
set_package_properties(Foo PROPERTIES TYPE OPTIONAL)
|
||||
feature_summary(WHAT ALL)
|
||||
|
||||
# RUNTIME < REQUIRED => REQUIRED
|
||||
set_package_properties(Foo PROPERTIES TYPE RUNTIME)
|
||||
feature_summary(WHAT ALL)
|
@ -0,0 +1,32 @@
|
||||
-- The following OPTIONAL packages have been found:
|
||||
|
||||
\* Foo, The Foo package, <https://foo.example/>
|
||||
|
||||
-- The following OPTIONAL packages have not been found:
|
||||
|
||||
\* Bar
|
||||
\* Baz
|
||||
|
||||
-- The following OPTIONAL packages have been found:
|
||||
|
||||
\* Foo, The Foo package, <https://foo.example/>
|
||||
|
||||
-- The following OPTIONAL packages have not been found:
|
||||
|
||||
\* Bar, <https://bar.net/>
|
||||
\* Baz, A Baz package
|
||||
|
||||
-- Warning: Property DESCRIPTION for package Foo already set to "The Foo package", overriding it with "A Foo package"
|
||||
-- Warning: Property URL already set to "https://foo.example/", overriding it with "https://foo.net/"
|
||||
-- Warning: Property URL already set to "https://bar.net/", overriding it with "https://bar.example/"
|
||||
-- Warning: Property DESCRIPTION for package Baz already set to "A Baz package", overriding it with "The Baz package"
|
||||
-- The following OPTIONAL packages have been found:
|
||||
|
||||
\* Foo, A Foo package, <https://foo.net/>
|
||||
|
||||
-- The following OPTIONAL packages have not been found:
|
||||
|
||||
\* Bar, The Bar package, <https://bar.example/>
|
||||
\* Baz, The Baz package, <https://baz.example/>
|
||||
|
||||
-- Configuring done
|
@ -0,0 +1,28 @@
|
||||
include(FeatureSummary)
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
|
||||
|
||||
find_package(Foo) # URL and DESCRIPTION are set in the FindFoo.cmake file
|
||||
find_package(Bar) # URL and DESCRIPTION are not set
|
||||
find_package(Baz) # URL and DESCRIPTION are not set
|
||||
|
||||
feature_summary(WHAT ALL)
|
||||
|
||||
set_package_properties(Bar PROPERTIES URL "https://bar.net/") # URL and no DESCRIPTION
|
||||
set_package_properties(Baz PROPERTIES DESCRIPTION "A Baz package") # DESCRIPTION and no URL
|
||||
feature_summary(WHAT ALL)
|
||||
|
||||
# Overwrite with the same value (no warning)
|
||||
set_package_properties(Foo PROPERTIES URL "https://foo.example/"
|
||||
DESCRIPTION "The Foo package")
|
||||
set_package_properties(Bar PROPERTIES URL "https://bar.net/")
|
||||
set_package_properties(Baz PROPERTIES DESCRIPTION "A Baz package")
|
||||
|
||||
# Overwrite with different values (warnings)
|
||||
set_package_properties(Foo PROPERTIES URL "https://foo.net/"
|
||||
DESCRIPTION "A Foo package") # Overwrite URL and DESCRIPTION
|
||||
set_package_properties(Bar PROPERTIES URL "https://bar.example/"
|
||||
DESCRIPTION "The Bar package") # Overwrite URL and add DESCRIPTION
|
||||
set_package_properties(Baz PROPERTIES URL "https://baz.example/"
|
||||
DESCRIPTION "The Baz package") # Overwrite URL and add DESCRIPTION
|
||||
feature_summary(WHAT ALL)
|
2
Tests/RunCMake/FeatureSummary/FindBar.cmake
Normal file
2
Tests/RunCMake/FeatureSummary/FindBar.cmake
Normal file
@ -0,0 +1,2 @@
|
||||
include(FeatureSummary)
|
||||
set(Bar_FOUND 0)
|
2
Tests/RunCMake/FeatureSummary/FindBaz.cmake
Normal file
2
Tests/RunCMake/FeatureSummary/FindBaz.cmake
Normal file
@ -0,0 +1,2 @@
|
||||
include(FeatureSummary)
|
||||
set(Baz_FOUND 0)
|
4
Tests/RunCMake/FeatureSummary/FindFoo.cmake
Normal file
4
Tests/RunCMake/FeatureSummary/FindFoo.cmake
Normal file
@ -0,0 +1,4 @@
|
||||
include(FeatureSummary)
|
||||
set_package_properties(Foo PROPERTIES URL "https://foo.example/"
|
||||
DESCRIPTION "The Foo package")
|
||||
set(Foo_FOUND 1)
|
@ -7,3 +7,8 @@ run_cmake(FeatureSummaryWhatList)
|
||||
run_cmake(FeatureSummaryWhatListUnknown)
|
||||
run_cmake(FeatureSummaryWhatListAll)
|
||||
run_cmake(FeatureSummaryWhatOnce)
|
||||
run_cmake(FeatureSummaryPurpose)
|
||||
run_cmake(FeatureSummaryURLDescription)
|
||||
run_cmake(FeatureSummaryTypes)
|
||||
run_cmake(FeatureSummaryFatalOnMissingRequiredPackages)
|
||||
run_cmake(FeatureSummaryIncludeQuietPackages)
|
||||
|
Loading…
Reference in New Issue
Block a user