mirror of
https://github.com/Kitware/CMake.git
synced 2026-11-06 21:37:11 +00:00
24 lines
1010 B
CMake
24 lines
1010 B
CMake
enable_language(C CXX)
|
|
|
|
add_library(lib1 STATIC)
|
|
target_sources(lib1 PRIVATE lib1.c)
|
|
target_sources(lib1 PUBLIC FILE_SET a TYPE SOURCES FILES lib2.c)
|
|
|
|
set_source_files_properties(lib2.c PROPERTIES LANGUAGE C)
|
|
set_property(FILE_SET a TARGET lib1 PROPERTY LANGUAGE CXX)
|
|
set_property(FILE_SET a TARGET lib1 PROPERTY COMPILE_DEFINITIONS
|
|
LIB1_A EXPECT_CXX "$<$<COMPILE_LANGUAGE:CXX>:EXPECTED_LANGUAGE>")
|
|
set_property(FILE_SET a TARGET lib1 PROPERTY INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/subdir1")
|
|
|
|
set_property(FILE_SET a TARGET lib1 PROPERTY INTERFACE_COMPILE_DEFINITIONS
|
|
INTERFACE_LIB1_A EXPECT_CXX "$<$<COMPILE_LANGUAGE:CXX>:EXPECTED_LANGUAGE>")
|
|
set_property(FILE_SET a TARGET lib1 PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/subdir2")
|
|
|
|
add_executable(main main.c)
|
|
target_link_libraries(main PRIVATE lib1)
|
|
target_compile_definitions(main PRIVATE CONSUMER)
|
|
|
|
add_library(lib2 SHARED)
|
|
target_link_libraries(lib2 PRIVATE lib1)
|
|
target_compile_definitions(lib2 PRIVATE CONSUMER)
|