mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-09 15:20:56 -06:00
Tests: Ensure project() clears unspecified properties
Add a unit test to ensure that various project-related variables are set to empty when values are not provided in the project() call.
This commit is contained in:
24
Tests/RunCMake/project/Omissions.cmake
Normal file
24
Tests/RunCMake/project/Omissions.cmake
Normal file
@@ -0,0 +1,24 @@
|
||||
function(_expect_empty NAME)
|
||||
if(NOT DEFINED ${NAME})
|
||||
message(SEND_ERROR "Variable '${NAME}' is not defined")
|
||||
elseif(NOT "${${NAME}}" STREQUAL "")
|
||||
message(SEND_ERROR
|
||||
"Variable '${NAME}' has value '${${NAME}}' (expected: empty)")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(expect_empty SUFFIX)
|
||||
_expect_empty(PROJECT_${SUFFIX})
|
||||
_expect_empty(CMAKE_PROJECT_${SUFFIX})
|
||||
_expect_empty(${PROJECT_NAME}_${SUFFIX})
|
||||
endfunction()
|
||||
|
||||
project(Omissions LANGUAGES)
|
||||
expect_empty(VERSION)
|
||||
expect_empty(VERSION_MAJOR)
|
||||
expect_empty(VERSION_MINOR)
|
||||
expect_empty(VERSION_PATCH)
|
||||
expect_empty(VERSION_TWEAK)
|
||||
expect_empty(COMPAT_VERSION)
|
||||
expect_empty(DESCRIPTION)
|
||||
expect_empty(HOMEPAGE_URL)
|
||||
@@ -45,6 +45,7 @@ run_cmake(ProjectIsTopLevel)
|
||||
run_cmake(ProjectIsTopLevelMultiple)
|
||||
run_cmake(ProjectIsTopLevelSubdirectory)
|
||||
run_cmake(ProjectTwice)
|
||||
run_cmake(Omissions)
|
||||
run_cmake(VersionAndLanguagesEmpty)
|
||||
run_cmake(VersionEmpty)
|
||||
run_cmake(VersionInvalid)
|
||||
|
||||
Reference in New Issue
Block a user