-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
110 lines (87 loc) · 2.69 KB
/
Copy pathCMakeLists.txt
File metadata and controls
110 lines (87 loc) · 2.69 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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
cmake_minimum_required(VERSION 3.20)
project(TrueGraphics VERSION 1.0.0 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
if(NOT WIN32)
message(FATAL_ERROR "TrueGraphics 1.0.0 currently targets Windows.")
endif()
set(PYBIND11_FINDPYTHON ON)
find_package(pybind11 CONFIG REQUIRED)
set(TG_ENGINE_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/engine/include")
set(TG_ENGINE_SOURCES
engine/src/core/Engine.cpp
engine/src/core/App.cpp
engine/src/core/Config.cpp
engine/src/core/Time.cpp
engine/src/core/Uuid.cpp
engine/src/system/Log.cpp
engine/src/system/Profiler.cpp
engine/src/window/Window.cpp
engine/src/window/Input.cpp
engine/src/window/Dpi.cpp
engine/src/graphics/Renderer.cpp
engine/src/graphics/Shader.cpp
engine/src/graphics/Gpu.cpp
engine/src/graphics/Image.cpp
engine/src/graphics/Canvas3D.cpp
engine/src/resource/Resources.cpp
engine/src/layout/Layout.cpp
engine/src/layout/FlexLayout.cpp
engine/src/widgets/Widget.cpp
engine/src/widgets/Button.cpp
engine/src/widgets/Label.cpp
engine/src/widgets/TextBox.cpp
engine/src/widgets/Checkbox.cpp
engine/src/widgets/RadioButton.cpp
engine/src/widgets/ScrollView.cpp
engine/src/widgets/Slider.cpp
engine/src/widgets/ProgressBar.cpp
engine/src/widgets/Dropdown.cpp
engine/src/widgets/Tabs.cpp
engine/src/widgets/ListView.cpp
engine/src/widgets/Table.cpp
engine/src/widgets/TreeView.cpp
engine/src/widgets/PasswordBox.cpp
engine/src/widgets/TextArea.cpp
engine/src/widgets/Container.cpp
engine/src/widgets/Canvas.cpp
engine/src/widgets/Image.cpp
engine/src/style/Style.cpp
engine/src/style/StyleEngine.cpp
engine/src/style/Theme.cpp
engine/src/animation/Animator.cpp
engine/src/animation/Easing.cpp
engine/src/state/State.cpp
engine/src/async/Async.cpp
engine/src/plugin/Plugin.cpp
)
pybind11_add_module(_truegraphics
bindings/module.cpp
${TG_ENGINE_SOURCES}
)
target_include_directories(_truegraphics PRIVATE
"${TG_ENGINE_INCLUDE_DIR}"
)
target_compile_definitions(_truegraphics PRIVATE
TG_VERSION_MAJOR=${PROJECT_VERSION_MAJOR}
TG_VERSION_MINOR=${PROJECT_VERSION_MINOR}
TG_VERSION_PATCH=${PROJECT_VERSION_PATCH}
TG_VERSION_STRING="${PROJECT_VERSION}"
NOMINMAX
WIN32_LEAN_AND_MEAN
)
if(MSVC)
target_compile_options(_truegraphics PRIVATE /W4 /EHsc /permissive-)
else()
target_compile_options(_truegraphics PRIVATE -Wall -Wextra -Wpedantic)
endif()
target_link_libraries(_truegraphics PRIVATE
user32
gdi32
gdiplus
comdlg32
ole32
uuid
)
install(TARGETS _truegraphics LIBRARY DESTINATION truegraphics RUNTIME DESTINATION truegraphics)