2015-04-27 22:25:09 +02:00
|
|
|
include(RunCMake)
|
|
|
|
|
2020-08-30 11:54:41 +02:00
|
|
|
# Isolate test cases from caller's environment.
|
|
|
|
set(ENV{CMAKE_PREFIX_PATH} "")
|
|
|
|
set(ENV{CMAKE_APPBUNDLE_PATH} "")
|
|
|
|
set(ENV{CMAKE_FRAMEWORK_PATH} "")
|
|
|
|
|
|
|
|
run_cmake(PkgConfigDoesNotExist)
|
|
|
|
|
2023-05-23 16:38:00 +02:00
|
|
|
if(NOT WIN32)
|
|
|
|
# FIXME: The Windows implementation of these tests do not work.
|
|
|
|
# They are disabled until they can be updated to a working state.
|
|
|
|
run_cmake(FindPkgConfig_CMP0126_NEW)
|
|
|
|
run_cmake(FindPkgConfig_NO_PKGCONFIG_PATH)
|
|
|
|
run_cmake(FindPkgConfig_PKGCONFIG_PATH)
|
|
|
|
run_cmake(FindPkgConfig_PKGCONFIG_PATH_NO_CMAKE_PATH)
|
|
|
|
run_cmake(FindPkgConfig_PKGCONFIG_PATH_NO_CMAKE_ENVIRONMENT_PATH)
|
|
|
|
run_cmake(FindPkgConfig_GET_MATCHING_ARGN)
|
|
|
|
endif()
|
|
|
|
|
2020-08-30 11:54:41 +02:00
|
|
|
run_cmake(FindPkgConfig_extract_frameworks)
|
2015-08-17 11:37:30 +02:00
|
|
|
|
|
|
|
if(APPLE)
|
2020-08-30 11:54:41 +02:00
|
|
|
run_cmake(FindPkgConfig_extract_frameworks_target)
|
2015-08-17 11:37:30 +02:00
|
|
|
run_cmake(FindPkgConfig_CMAKE_FRAMEWORK_PATH)
|
|
|
|
run_cmake(FindPkgConfig_CMAKE_APPBUNDLE_PATH)
|
|
|
|
endif()
|
2015-11-17 17:22:37 +01:00
|
|
|
|
|
|
|
# We need a real pkg-config to run the test for get_variable.
|
|
|
|
find_package(PkgConfig)
|
|
|
|
if (PKG_CONFIG_FOUND)
|
2022-11-16 20:14:03 +01:00
|
|
|
string(FIND "${CMAKE_CURRENT_BINARY_DIR}" " " IS_SPACES_IN_PATH)
|
|
|
|
if(IS_SPACES_IN_PATH GREATER -1)
|
|
|
|
string(REPLACE " " "\\ " ESCAPED_ROOT "${CMAKE_CURRENT_BINARY_DIR}")
|
|
|
|
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/test_spaces.pc" "
|
|
|
|
libdir=${ESCAPED_ROOT}
|
|
|
|
Name: test_spaces.pc
|
|
|
|
Version: 0.0
|
|
|
|
Description: test spaces
|
|
|
|
Libs: -L\${libdir}
|
|
|
|
")
|
|
|
|
set(PKG_CONFIG_PATH_SAVED "$ENV{PKG_CONFIG_PATH}")
|
|
|
|
set(ENV{PKG_CONFIG_PATH} "${CMAKE_CURRENT_BINARY_DIR}")
|
|
|
|
execute_process(COMMAND "${PKG_CONFIG_EXECUTABLE}" --libs test_spaces
|
|
|
|
ERROR_QUIET COMMAND_ERROR_IS_FATAL ANY
|
|
|
|
OUTPUT_VARIABLE test_spaces_LIBS)
|
|
|
|
set(ENV{PKG_CONFIG_PATH} "${PKG_CONFIG_PATH_SAVED}")
|
|
|
|
string(STRIP "${test_spaces_LIBS}" test_spaces_LIBS_STRIPPED)
|
|
|
|
if(NOT "${test_spaces_LIBS_STRIPPED}" STREQUAL "-L${ESCAPED_ROOT}")
|
|
|
|
set(PKG_CONFIG_DONT_SUPPORT_SPACES_IN_PATH TRUE)
|
|
|
|
endif()
|
|
|
|
endif()
|
2015-11-17 17:22:37 +01:00
|
|
|
run_cmake(FindPkgConfig_GET_VARIABLE)
|
2023-12-07 09:12:54 +01:00
|
|
|
run_cmake(FindPkgConfig_GET_VARIABLE_DEFINE_VARIABLES)
|
2019-11-11 23:01:05 +01:00
|
|
|
run_cmake(FindPkgConfig_GET_VARIABLE_PREFIX_PATH)
|
|
|
|
run_cmake(FindPkgConfig_GET_VARIABLE_PKGCONFIG_PATH)
|
2024-07-09 14:46:46 +02:00
|
|
|
run_cmake(FindPkgConfig_GET_VARIABLE_MULTIPLE_VALUES)
|
2016-03-13 13:35:51 +01:00
|
|
|
run_cmake(FindPkgConfig_cache_variables)
|
2016-07-09 11:21:54 +02:00
|
|
|
run_cmake(FindPkgConfig_IMPORTED_TARGET)
|
2018-10-28 12:09:07 +01:00
|
|
|
run_cmake(FindPkgConfig_VERSION_OPERATORS)
|
2020-02-01 23:06:01 +01:00
|
|
|
run_cmake(FindPkgConfig_GET_MATCHING_MODULE_NAME)
|
2021-09-14 00:13:48 +02:00
|
|
|
run_cmake(FindPkgConfig_empty_target)
|
2022-11-16 20:14:03 +01:00
|
|
|
if(NOT PKG_CONFIG_DONT_SUPPORT_SPACES_IN_PATH)
|
2023-12-07 09:12:54 +01:00
|
|
|
run_cmake(FindPkgConfig_SYSTEM_PATH)
|
2022-11-16 20:14:03 +01:00
|
|
|
endif()
|
2015-11-17 17:22:37 +01:00
|
|
|
endif ()
|