-
-
Notifications
You must be signed in to change notification settings - Fork 63
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
77 lines (62 loc) · 1.64 KB
/
CMakeLists.txt
File metadata and controls
77 lines (62 loc) · 1.64 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
67
68
69
70
71
72
73
74
75
76
set(TARGET MethaneUserInterfaceApp)
include(MethaneResources)
get_module_dirs("Methane/UserInterface")
set(HEADERS
${INCLUDE_DIR}/IApp.h
${INCLUDE_DIR}/App.hpp
${INCLUDE_DIR}/AppBase.h
${INCLUDE_DIR}/AppController.h
)
set(SOURCES
${SOURCES_DIR}/IApp.cpp
${SOURCES_DIR}/AppBase.cpp
${SOURCES_DIR}/AppController.cpp
)
set(TEXTURES_DIR ${RESOURCES_DIR}/Textures)
set(TEXTURES
${TEXTURES_DIR}/MethaneLogoNameWatermark.png
)
set(FONTS
${RESOURCES_DIR}/Fonts/RobotoMono/RobotoMono-Regular.ttf
${RESOURCES_DIR}/Fonts/RobotoMono/RobotoMono-Bold.ttf
)
add_library(${TARGET} STATIC
${HEADERS}
${SOURCES}
)
add_methane_embedded_textures(${TARGET} "${TEXTURES_DIR}" "${TEXTURES}")
add_methane_embedded_fonts(${TARGET} "${RESOURCES_DIR}" "${FONTS}")
target_include_directories(${TARGET}
PRIVATE
Sources
PUBLIC
Include
)
target_link_libraries(${TARGET}
PUBLIC
MethaneGraphicsApp
MethaneUserInterfaceWidgets
MethaneInstrumentation
PRIVATE
MethaneBuildOptions
MethaneMathPrecompiledHeaders
MethaneUserInterfaceTypes
magic_enum
)
if(METHANE_PRECOMPILED_HEADERS_ENABLED)
target_precompile_headers(${TARGET} REUSE_FROM MethaneMathPrecompiledHeaders)
endif()
set_target_properties(${TARGET}
PROPERTIES
FOLDER Modules/UserInterface
PUBLIC_HEADER "${HEADERS}"
)
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${HEADERS} ${SOURCES})
install(TARGETS ${TARGET}
PUBLIC_HEADER
DESTINATION ${INSTALL_INCLUDE_DIR}
COMPONENT Development
ARCHIVE
DESTINATION lib
COMPONENT Development
)