-
-
Notifications
You must be signed in to change notification settings - Fork 63
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
68 lines (55 loc) · 1.38 KB
/
CMakeLists.txt
File metadata and controls
68 lines (55 loc) · 1.38 KB
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
set(TARGET MethaneUserInterfaceWidgets)
include(MethaneResources)
get_module_dirs("Methane/UserInterface")
set(HEADERS
${INCLUDE_DIR}/Widgets.h
${INCLUDE_DIR}/Badge.h
${INCLUDE_DIR}/Panel.h
${INCLUDE_DIR}/TextItem.h
${INCLUDE_DIR}/HeadsUpDisplay.h
)
set(SOURCES
${SOURCES_DIR}/Badge.cpp
${SOURCES_DIR}/Panel.cpp
${SOURCES_DIR}/TextItem.cpp
${SOURCES_DIR}/HeadsUpDisplay.cpp
)
add_library(${TARGET} STATIC
${HEADERS}
${SOURCES}
)
target_link_libraries(${TARGET}
PUBLIC
MethaneUserInterfaceTypes
MethaneUserInterfaceTypography
MethaneGraphicsPrimitives
MethanePlatformInputKeyboard
PRIVATE
MethaneBuildOptions
MethaneMathPrecompiledHeaders
MethaneInstrumentation
magic_enum
)
if(METHANE_PRECOMPILED_HEADERS_ENABLED)
target_precompile_headers(${TARGET} REUSE_FROM MethaneMathPrecompiledHeaders)
endif()
target_include_directories(${TARGET}
PRIVATE
Sources
PUBLIC
Include
)
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${HEADERS} ${SOURCES})
set_target_properties(${TARGET}
PROPERTIES
FOLDER Modules/UserInterface
PUBLIC_HEADER "${HEADERS}"
)
install(TARGETS ${TARGET}
PUBLIC_HEADER
DESTINATION ${INSTALL_INCLUDE_DIR}
COMPONENT Development
ARCHIVE
DESTINATION lib
COMPONENT Development
)