Files
CMake/Tests/RunCMake/target_include_directories/include_default.cmake
T
Timo Röhling 798cc7010c Tests: Fix regex matching to handle paths with special characters
Use `string(REGEX QUOTE)` for `MATCHES` with constructed patterns.

Fixes: #27234
2025-09-18 13:27:01 -04:00

20 lines
814 B
CMake

enable_language(C)
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/main.c" "int main() { return 0;}")
set(include_dir "${CMAKE_CURRENT_BINARY_DIR}/dir")
set(default_include_dir "${CMAKE_CURRENT_BINARY_DIR}/dirDefault")
file(MAKE_DIRECTORY "${include_dir}")
file(MAKE_DIRECTORY "${default_include_dir}")
add_executable(main "${CMAKE_CURRENT_BINARY_DIR}/main.c")
include_directories("${include_dir}")
target_include_directories(main AFTER PRIVATE "${default_include_dir}")
get_target_property(actual_include_dirs main INCLUDE_DIRECTORIES)
set(desired_include_dirs "${include_dir}" "${default_include_dir}")
string(REGEX QUOTE desired_include_dirs_regex "${desired_include_dirs}")
if (NOT "${actual_include_dirs}" MATCHES "^${desired_include_dirs_regex}$")
message(SEND_ERROR "include default does not work")
endif()