blob: 5d9f6c31685f5e7c44bae79413ef5f89d3c8d2f9 [file] [edit]
enable_language(C)
set(CMAKE_VERBOSE_MAKEFILE TRUE)
string(REPLACE "${CMAKE_START_TEMP_FILE}" "" CMAKE_C_COMPILE_OBJECT "${CMAKE_C_COMPILE_OBJECT}")
string(REPLACE "${CMAKE_END_TEMP_FILE}" "" CMAKE_C_COMPILE_OBJECT "${CMAKE_C_COMPILE_OBJECT}")
string(REPLACE "${CMAKE_START_TEMP_FILE}" "" CMAKE_C_LINK_EXECUTABLE "${CMAKE_C_LINK_EXECUTABLE}")
string(REPLACE "${CMAKE_END_TEMP_FILE}" "" CMAKE_C_LINK_EXECUTABLE "${CMAKE_C_LINK_EXECUTABLE}")
# INTERFACE_{COMPILE,LINK}_WRAPPERS values may themselves use
# $<COMPILE_LANGUAGE:...>/$<LINK_LANGUAGE:...> generator expressions.
set_property(GLOBAL PROPERTY
CMAKE_COMPILE_WRAPPER_IFACE_GENEX
"${CMAKE_COMMAND};-E;env;CW_IFACE_GENEX=1"
)
set_property(GLOBAL PROPERTY
CMAKE_LINK_WRAPPER_IFACE_GENEX
"${CMAKE_COMMAND};-E;env;LW_IFACE_GENEX=1"
)
add_library(iface_genex INTERFACE)
set_target_properties(iface_genex PROPERTIES
INTERFACE_COMPILE_WRAPPERS "$<$<COMPILE_LANGUAGE:C>:IFACE_GENEX>"
INTERFACE_LINK_WRAPPERS "$<$<LINK_LANGUAGE:C>:IFACE_GENEX>"
)
add_executable(main main.c)
target_link_libraries(main PRIVATE iface_genex)