blob: a580657976ea390c74e58799c915de9b6c751a74 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
enable_language(C)
add_executable(exe main.c)
add_library(lib1 SHARED obj1.c)
set_property(TARGET lib1 PROPERTY PUBLIC_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/obj3.h)
add_library(lib2 STATIC obj3.c)
add_library(lib3 SHARED obj4.c)
set_property(TARGET lib3 PROPERTY PRIVATE_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/obj4.h)
add_library(lib4 SHARED obj5.c)
set_property(TARGET lib4 PROPERTY PUBLIC_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/obj5.h)
add_library(iface INTERFACE)
set_target_properties(iface PROPERTIES
PUBLIC_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/obj1.h
PRIVATE_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/obj2.h)
install(TARGETS exe lib1 lib2)
install(TARGETS lib3
LIBRARY DESTINATION lib3
ARCHIVE DESTINATION lib3
)
install(TARGETS lib4
LIBRARY DESTINATION lib4
RUNTIME DESTINATION lib4
)
install(TARGETS iface
PUBLIC_HEADER DESTINATION include
PRIVATE_HEADER DESTINATION include)
|