You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cmake/Tests/RunCMake/FindPkgConfig/FindPkgConfig_GET_VARIABLE_...

32 lines
1.2 KiB

# Prepare environment and variables
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH TRUE)
if(WIN32)
set(ENV{CMAKE_PREFIX_PATH} "${CMAKE_CURRENT_SOURCE_DIR}\\pc-bletch")
else()
set(ENV{CMAKE_PREFIX_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/pc-bletch")
endif()
find_package(PkgConfig REQUIRED)
pkg_check_modules(BLETCH QUIET bletch)
if (NOT BLETCH_FOUND)
message(FATAL_ERROR "Failed to find embedded package bletch via CMAKE_PREFIX_PATH")
endif ()
set(expected_value "item1;item2;item3;item with spaces")
pkg_get_variable(bletchvar1 bletch multiple_values1)
pkg_get_variable(bletchvar2 bletch multiple_values2)
string(FIND "${bletchvar1}" ";" IS_VARIABLE_A_LIST1)
string(FIND "${bletchvar2}" ";" IS_VARIABLE_A_LIST2)
if (IS_VARIABLE_A_LIST1 EQUAL -1 OR IS_VARIABLE_A_LIST2 EQUAL -1)
message(FATAL_ERROR "Failed to fetch variable multiple_values from embedded package bletch as a list")
endif()
if (NOT (bletchvar1 STREQUAL expected_value AND bletchvar2 STREQUAL expected_value))
message(NOTICE "multiple_values1=${bletchvar1} and expected_value=${expected_value}")
message(NOTICE "multiple_values2=${bletchvar2} and expected_value=${expected_value}")
message(FATAL_ERROR "Failed to fetch variable multiple_values from embedded package bletch with escaped spaces")
endif()