blob: 31430d8c40e347fc0406cb44d932d1692a096e59 [file] [edit]
enable_language(C)
add_library(lib1 STATIC empty.c)
set_property(
SOURCE ${CMAKE_CURRENT_BINARY_DIR}/h\\;1.h
PROPERTY GENERATED TRUE
)
set_property(
SOURCE ${CMAKE_CURRENT_BINARY_DIR}/h\\;2.h
PROPERTY GENERATED TRUE
)
set_property(
SOURCE ${CMAKE_CURRENT_BINARY_DIR}/h\\;3.h
PROPERTY GENERATED TRUE
)
target_sources(lib1
PRIVATE FILE_SET HEADERS
BASE_DIRS ${CMAKE_CURRENT_BINARY_DIR}
FILES ${CMAKE_CURRENT_BINARY_DIR}/h\\\\\\\\;1.h
)
set_property(TARGET lib1 APPEND PROPERTY HEADER_SET
${CMAKE_CURRENT_BINARY_DIR}/h\\\\\\\\;2.h
${CMAKE_CURRENT_BINARY_DIR}/h\\\\\\\\;3.h
)
# Ensure we get the expected number of escapes when reading back the file set
# files.
get_property(headers TARGET lib1 PROPERTY HEADER_SET)
if (NOT headers MATCHES "h\\\\\\\\\\\\;1[.]h")
message(STATUS "headers: '${headers}'")
message(SEND_ERROR "'h;1.h' has wrong level of escaping")
endif()
if (NOT headers MATCHES "h\\\\\\\\\\\\;2[.]h")
message(STATUS "headers: '${headers}'")
message(SEND_ERROR "'h;2.h' has wrong level of escaping")
endif()
if (NOT headers MATCHES "h\\\\\\\\\\\\;3[.]h$")
message(STATUS "headers: '${headers}'")
message(SEND_ERROR "'h;3.h' has wrong level of escaping")
endif()