Skip to content
Snippets Groups Projects
Unverified Commit 4be17f4b authored by Tim Kaune's avatar Tim Kaune
Browse files

Replace cleanup of internal variables with block() command

Update unit tests: Target mocks use environment variables now. Real
targets don't work in script mode and normal variables are blocked by
the block() command, now.
parent 9368cf50
No related branches found
No related tags found
No related merge requests found
Showing
with 171 additions and 117 deletions
......@@ -50,6 +50,12 @@ load_static_shared_targets(
]]
macro(load_static_shared_targets)
block (
SCOPE_FOR VARIABLES
PROPAGATE
${CMAKE_FIND_PACKAGE_NAME}_FOUND
${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE
)
set(${CMAKE_FIND_PACKAGE_NAME}_KNOWN_COMPS static shared)
set(${CMAKE_FIND_PACKAGE_NAME}_COMP_static NO)
set(${CMAKE_FIND_PACKAGE_NAME}_COMP_shared NO)
......@@ -105,21 +111,21 @@ macro(load_static_shared_targets)
# Otherwise at least load the shared targets
_load_static_shared_targets_load_targets(STATIC ALTERNATIVE SHARED)
endif ()
unset(${CMAKE_FIND_PACKAGE_NAME}_KNOWN_COMPS)
unset(${CMAKE_FIND_PACKAGE_NAME}_COMP_static)
unset(${CMAKE_FIND_PACKAGE_NAME}_COMP_shared)
unset(${CMAKE_FIND_PACKAGE_NAME}_ARGUMENT_KEYWORDS)
unset(${CMAKE_FIND_PACKAGE_NAME}_STATIC_TARGETS)
unset(${CMAKE_FIND_PACKAGE_NAME}_SHARED_TARGETS)
endblock ()
endmacro()
# Macro to check, if the target files for the requested type are all installed.
# If so, include them. Otherwise, try alternative type, if given. Do error
# handling, if not.
macro(_load_static_shared_targets_load_targets TYPE)
block (
SCOPE_FOR VARIABLES
PROPAGATE
${CMAKE_FIND_PACKAGE_NAME}_FOUND
${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE
)
cmake_parse_arguments(${CMAKE_FIND_PACKAGE_NAME} "" "ALTERNATIVE" "" ${ARGN})
# We now have ${CMAKE_FIND_PACKAGE_NAME}_ALTERNATIVE variable created for us.
# We now have the ${CMAKE_FIND_PACKAGE_NAME}_ALTERNATIVE variable created for us.
set(${CMAKE_FIND_PACKAGE_NAME}_${TYPE}_FOUND TRUE)
......@@ -158,7 +164,5 @@ macro(_load_static_shared_targets_load_targets TYPE)
set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)
return()
endif ()
unset(${CMAKE_FIND_PACKAGE_NAME}_${TYPE}_FOUND)
unset(${CMAKE_FIND_PACKAGE_NAME}_ALTERNATIVE)
endblock ()
endmacro()
......@@ -46,5 +46,5 @@ CHECK_STREQUAL(
"${CMAKE_FIND_PACKAGE_NAME} does not recognize component `unknown`."
)
REQUIRE_FALSY(${CMAKE_FIND_PACKAGE_NAME}_FOUND)
REQUIRE_UNDEFINED(TEST_TARGET_1)
REQUIRE_UNDEFINED(TEST_TARGET_2)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_1)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_2)
......@@ -46,5 +46,5 @@ CHECK_STREQUAL(
"${CMAKE_FIND_PACKAGE_NAME} `static` and `shared` components are mutually exclusive."
)
REQUIRE_FALSY(${CMAKE_FIND_PACKAGE_NAME}_FOUND)
REQUIRE_UNDEFINED(TEST_TARGET_1)
REQUIRE_UNDEFINED(TEST_TARGET_2)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_1)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_2)
......@@ -99,6 +99,42 @@ macro(CHECK_DEFINED VAR_NAME)
endif ()
endmacro()
macro(SET_TARGET_MOCK TARGET_NAME)
set(ENV{${TARGET_NAME}} TRUE)
endmacro()
macro(REQUIRE_TARGET_UNDEFINED TARGET_NAME)
if (DEFINED ENV{${TARGET_NAME}})
message(FATAL_ERROR "${TARGET_NAME} is DEFINED!")
else ()
message(STATUS "${TARGET_NAME} is NOT DEFINED.")
endif ()
endmacro()
macro(CHECK_TARGET_UNDEFINED TARGET_NAME)
if (DEFINED ENV{${TARGET_NAME}})
message(SEND_ERROR "${TARGET_NAME} is DEFINED!")
else ()
message(STATUS "${TARGET_NAME} is NOT DEFINED.")
endif ()
endmacro()
macro(REQUIRE_TARGET_DEFINED TARGET_NAME)
if (NOT DEFINED ENV{${TARGET_NAME}})
message(FATAL_ERROR "${TARGET_NAME} is NOT DEFINED!")
else ()
message(STATUS "${TARGET_NAME} is DEFINED.")
endif ()
endmacro()
macro(CHECK_TARGET_DEFINED TARGET_NAME)
if (NOT DEFINED ENV{${TARGET_NAME}})
message(SEND_ERROR "${TARGET_NAME} is NOT DEFINED!")
else ()
message(STATUS "${TARGET_NAME} is DEFINED.")
endif ()
endmacro()
macro(REQUIRE_STREQUAL VAR_NAME VALUE)
if (NOT ${VAR_NAME} STREQUAL "${VALUE}")
message(FATAL_ERROR "${VAR_NAME} with value `${${VAR_NAME}}` is NOT STREQUAL to `${VALUE}`!")
......
......@@ -38,4 +38,5 @@ set(
include("./helpers/testee_macro_wrapper.cmake")
REQUIRE_TRUTHY(TEST_TARGET_1)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_1)
REQUIRE_TARGET_DEFINED(SUCCESS_TARGET_1)
......@@ -38,4 +38,4 @@ set(
include("./helpers/testee_macro_wrapper.cmake")
REQUIRE_TRUTHY(TEST_TARGET_1)
REQUIRE_TARGET_DEFINED(SUCCESS_TARGET_1)
......@@ -40,5 +40,7 @@ set(
include("./helpers/testee_macro_wrapper.cmake")
REQUIRE_TRUTHY(TEST_TARGET_1)
REQUIRE_TRUTHY(TEST_TARGET_2)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_1)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_2)
REQUIRE_TARGET_DEFINED(SUCCESS_TARGET_1)
REQUIRE_TARGET_DEFINED(SUCCESS_TARGET_2)
......@@ -40,5 +40,6 @@ set(
include("./helpers/testee_macro_wrapper.cmake")
REQUIRE_TRUTHY(TEST_TARGET_1)
REQUIRE_TRUTHY(TEST_TARGET_2)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_1)
REQUIRE_TARGET_DEFINED(SUCCESS_TARGET_1)
REQUIRE_TARGET_DEFINED(SUCCESS_TARGET_2)
......@@ -45,3 +45,4 @@ CHECK_STREQUAL(
"${CMAKE_FIND_PACKAGE_NAME} `STATIC` libraries were requested but not found."
)
REQUIRE_FALSY(${CMAKE_FIND_PACKAGE_NAME}_FOUND)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_1)
......@@ -38,4 +38,5 @@ set(
include("./helpers/testee_macro_wrapper.cmake")
REQUIRE_TRUTHY(TEST_TARGET_1)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_1)
REQUIRE_TARGET_DEFINED(SUCCESS_TARGET_1)
......@@ -38,4 +38,4 @@ set(
include("./helpers/testee_macro_wrapper.cmake")
REQUIRE_TRUTHY(TEST_TARGET_1)
REQUIRE_TARGET_DEFINED(SUCCESS_TARGET_1)
......@@ -40,5 +40,7 @@ set(
include("./helpers/testee_macro_wrapper.cmake")
REQUIRE_TRUTHY(TEST_TARGET_1)
REQUIRE_TRUTHY(TEST_TARGET_2)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_1)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_2)
REQUIRE_TARGET_DEFINED(SUCCESS_TARGET_1)
REQUIRE_TARGET_DEFINED(SUCCESS_TARGET_2)
......@@ -40,5 +40,6 @@ set(
include("./helpers/testee_macro_wrapper.cmake")
REQUIRE_TRUTHY(TEST_TARGET_1)
REQUIRE_TRUTHY(TEST_TARGET_2)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_1)
REQUIRE_TARGET_DEFINED(SUCCESS_TARGET_1)
REQUIRE_TARGET_DEFINED(SUCCESS_TARGET_2)
......@@ -45,3 +45,4 @@ CHECK_STREQUAL(
"${CMAKE_FIND_PACKAGE_NAME} `SHARED` libraries were requested but not found."
)
REQUIRE_FALSY(${CMAKE_FIND_PACKAGE_NAME}_FOUND)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_1)
......@@ -38,4 +38,5 @@ set(
include("./helpers/testee_macro_wrapper.cmake")
REQUIRE_TRUTHY(TEST_TARGET_1)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_1)
REQUIRE_TARGET_DEFINED(SUCCESS_TARGET_1)
......@@ -43,4 +43,4 @@ CHECK_STREQUAL(
"${CMAKE_FIND_PACKAGE_NAME} `SHARED` libraries were requested but not found."
)
REQUIRE_FALSY(${CMAKE_FIND_PACKAGE_NAME}_FOUND)
REQUIRE_UNDEFINED(TEST_TARGET_1)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_1)
......@@ -40,5 +40,7 @@ set(
include("./helpers/testee_macro_wrapper.cmake")
REQUIRE_TRUTHY(TEST_TARGET_1)
REQUIRE_TRUTHY(TEST_TARGET_2)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_1)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_2)
REQUIRE_TARGET_DEFINED(SUCCESS_TARGET_1)
REQUIRE_TARGET_DEFINED(SUCCESS_TARGET_2)
......@@ -45,5 +45,5 @@ CHECK_STREQUAL(
"${CMAKE_FIND_PACKAGE_NAME} `SHARED` libraries were requested but not found."
)
REQUIRE_FALSY(${CMAKE_FIND_PACKAGE_NAME}_FOUND)
REQUIRE_UNDEFINED(TEST_TARGET_1)
REQUIRE_UNDEFINED(TEST_TARGET_2)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_1)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_2)
......@@ -38,4 +38,5 @@ set(
include("./helpers/testee_macro_wrapper.cmake")
REQUIRE_TRUTHY(TEST_TARGET_1)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_1)
REQUIRE_TARGET_DEFINED(SUCCESS_TARGET_1)
......@@ -43,4 +43,4 @@ CHECK_STREQUAL(
"${CMAKE_FIND_PACKAGE_NAME} `STATIC` libraries were requested but not found."
)
REQUIRE_FALSY(${CMAKE_FIND_PACKAGE_NAME}_FOUND)
REQUIRE_UNDEFINED(TEST_TARGET_1)
REQUIRE_TARGET_UNDEFINED(FAILURE_TARGET_1)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment