mirror of
https://github.com/Kitware/CMake.git
synced 2026-11-06 05:16:58 +00:00
Introduce new properties which allow target-specific wrapping of compile and link commands with arbitrary command lines. This is similar to the existing compiler and linker launchers, except the new `INTERFACE` compile and link wrappers allows expression as usage requirements. Wrappers are more flexible than launchers with regard to having multiple belonging to a given target, either from the target itself or dependent(s). In such cases, wrappers precede launchers on the resulting command line (so as to not interfere with tools like `ccache`), and are sorted lexicographically by the name of the corresponding CMake global property containing their value. Co-authored-by: Joseph Snyder <joseph.snyder@kitware.com> Issue: #27402, #28110 Fixes: #27598
12 lines
290 B
CMake
12 lines
290 B
CMake
enable_language(C)
|
|
set(CMAKE_VERBOSE_MAKEFILE TRUE)
|
|
|
|
add_library(iface INTERFACE)
|
|
set_target_properties(iface PROPERTIES
|
|
INTERFACE_COMPILE_WRAPPERS NOT_A_COMPILE_WRAPPER
|
|
INTERFACE_LINK_WRAPPERS NOT_A_LINK_WRAPPER
|
|
)
|
|
|
|
add_executable(main main.c)
|
|
target_link_libraries(main PRIVATE iface)
|