Tue, 28 Jun 2022 12:47:46 +0300
Move app icon definition to main.cpp
281
afed72b544f0
- Add CMake build type to about page and window title
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
279
diff
changeset
|
1 | cmake_minimum_required(VERSION 3.0) |
afed72b544f0
- Add CMake build type to about page and window title
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
279
diff
changeset
|
2 | project(LDForge VERSION 1.0) |
272
9d52b119b3f5
Sort out versions more, add about page
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
269
diff
changeset
|
3 | set(COPYRIGHT "Copyright (C) 2013 - 2022 Teemu Piippo") |
268
fb319526ba6c
Define application name and version in CMakeLists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
267
diff
changeset
|
4 | |
269
593545977c5e
Further use APPNAME macro
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
268
diff
changeset
|
5 | string(TOLOWER ${PROJECT_NAME} TARGET_NAME) |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
6 | set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake") |
21 | 7 | set(OpenGL_GL_PREFERENCE GLVND) |
259
c27612f0eac0
- Made it build under Qt6
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
256
diff
changeset
|
8 | find_package(Qt6 COMPONENTS Core Widgets OpenGL UiPlugin OpenGLWidgets) |
c27612f0eac0
- Made it build under Qt6
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
256
diff
changeset
|
9 | if (Qt6_FOUND) |
c27612f0eac0
- Made it build under Qt6
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
256
diff
changeset
|
10 | message(NOTICE "-- Using Qt6") |
c27612f0eac0
- Made it build under Qt6
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
256
diff
changeset
|
11 | find_package(Qt6 REQUIRED COMPONENTS Core5Compat) |
c27612f0eac0
- Made it build under Qt6
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
256
diff
changeset
|
12 | # Unfortunately "Qt::UiPlugin" doesn't seem to work so let's resolve |
c27612f0eac0
- Made it build under Qt6
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
256
diff
changeset
|
13 | # it here instead... |
c27612f0eac0
- Made it build under Qt6
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
256
diff
changeset
|
14 | add_library(QtUiPlugin ALIAS Qt6::UiPlugin) |
c27612f0eac0
- Made it build under Qt6
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
256
diff
changeset
|
15 | else() |
c27612f0eac0
- Made it build under Qt6
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
256
diff
changeset
|
16 | message(NOTICE "-- Qt6 not found, using Qt5 instead") |
c27612f0eac0
- Made it build under Qt6
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
256
diff
changeset
|
17 | find_package(Qt5 5.5 REQUIRED COMPONENTS Core Widgets OpenGL UiPlugin) |
c27612f0eac0
- Made it build under Qt6
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
256
diff
changeset
|
18 | add_library(QtUiPlugin ALIAS Qt5::UiPlugin) |
6 | 19 | endif() |
259
c27612f0eac0
- Made it build under Qt6
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
256
diff
changeset
|
20 | find_package(OpenGL REQUIRED) |
28 | 21 | find_package(GLM REQUIRED) |
22 | set(CMAKE_AUTOMOC ON) | |
23 | set(CMAKE_AUTOUIC ON) | |
24 | set(CMAKE_AUTORCC ON) | |
259
c27612f0eac0
- Made it build under Qt6
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
256
diff
changeset
|
25 | include_directories(${CMAKE_CURRENT_BINARY_DIR}) |
28 | 26 | include_directories(${GLM_INCLUDE_DIR}) |
112 | 27 | add_definitions(-DQT_NO_KEYWORDS) |
266
2800a15e2a2f
use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
264
diff
changeset
|
28 | source_group(${PROJECT_NAME} REGULAR_EXPRESSION "src/.+\\.(cpp|h|ui)") |
279
cd70c845563a
Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
272
diff
changeset
|
29 | |
cd70c845563a
Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
272
diff
changeset
|
30 | if (NOT MSVC) |
cd70c845563a
Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
272
diff
changeset
|
31 | if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug" OR "${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo") |
cd70c845563a
Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
272
diff
changeset
|
32 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDEBUG") |
cd70c845563a
Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
272
diff
changeset
|
33 | endif() |
cd70c845563a
Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
272
diff
changeset
|
34 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -Wunused") |
cd70c845563a
Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
272
diff
changeset
|
35 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-implicit-fallthrough") |
cd70c845563a
Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
272
diff
changeset
|
36 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-noexcept-type") |
cd70c845563a
Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
272
diff
changeset
|
37 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wformat-nonliteral -Wnonnull -Wnull-dereference -Winfinite-recursion -Wuninitialized -Wmissing-noreturn") |
cd70c845563a
Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
272
diff
changeset
|
38 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wshadow") |
cd70c845563a
Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
272
diff
changeset
|
39 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wundef -Wmissing-field-initializers") |
cd70c845563a
Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
272
diff
changeset
|
40 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wcast-qual -Wcast-align -Wcast-function-type -Wconversion") |
cd70c845563a
Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
272
diff
changeset
|
41 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wmissing-declarations -Wdate-time") |
cd70c845563a
Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
272
diff
changeset
|
42 | endif() |
cd70c845563a
Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
272
diff
changeset
|
43 | if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") |
cd70c845563a
Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
272
diff
changeset
|
44 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wcovered-switch-default -Wextra-semi -Wgnu -Wmicrosoft") |
cd70c845563a
Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
272
diff
changeset
|
45 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Woverloaded-virtual -Wsometimes-uninitialized -Wstring-concatenation -Wstring-conversion -Wsuggest-override") |
cd70c845563a
Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
272
diff
changeset
|
46 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wsuggest-override -Wundefined-func-template -Wundefined-reinterpret-cast") |
cd70c845563a
Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
272
diff
changeset
|
47 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wuninitialized-const-reference -Wunreachable-code -Wunreachable-code-break -Wunreachable-code-return") |
cd70c845563a
Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
272
diff
changeset
|
48 | endif() |
281
afed72b544f0
- Add CMake build type to about page and window title
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
279
diff
changeset
|
49 | |
afed72b544f0
- Add CMake build type to about page and window title
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
279
diff
changeset
|
50 | # Pass some CMake variables down to the source code |
afed72b544f0
- Add CMake build type to about page and window title
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
279
diff
changeset
|
51 | add_definitions(-DCMAKE_PROJECT_NAME="${CMAKE_PROJECT_NAME}") |
afed72b544f0
- Add CMake build type to about page and window title
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
279
diff
changeset
|
52 | add_definitions(-DTARGET_NAME="${TARGET_NAME}") |
afed72b544f0
- Add CMake build type to about page and window title
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
279
diff
changeset
|
53 | add_definitions(-DCMAKE_PROJECT_VERSION="${CMAKE_PROJECT_VERSION}") |
afed72b544f0
- Add CMake build type to about page and window title
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
279
diff
changeset
|
54 | add_definitions(-DCOPYRIGHT="${COPYRIGHT}") |
afed72b544f0
- Add CMake build type to about page and window title
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
279
diff
changeset
|
55 | add_definitions(-DCMAKE_CXX_COMPILER_ID="${CMAKE_CXX_COMPILER_ID}") |
afed72b544f0
- Add CMake build type to about page and window title
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
279
diff
changeset
|
56 | add_definitions(-DCMAKE_CXX_COMPILER_VERSION="${CMAKE_CXX_COMPILER_VERSION}") |
afed72b544f0
- Add CMake build type to about page and window title
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
279
diff
changeset
|
57 | add_definitions(-DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS}") |
afed72b544f0
- Add CMake build type to about page and window title
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
279
diff
changeset
|
58 | add_definitions(-DCMAKE_SYSTEM_PROCESSOR="${CMAKE_SYSTEM_PROCESSOR}") |
afed72b544f0
- Add CMake build type to about page and window title
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
279
diff
changeset
|
59 | add_definitions(-DCMAKE_SYSTEM="${CMAKE_SYSTEM}") |
afed72b544f0
- Add CMake build type to about page and window title
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
279
diff
changeset
|
60 | add_definitions(-DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}") |
279
cd70c845563a
Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
272
diff
changeset
|
61 | |
253
8b994c917f69
Make LDForge widgets visible in Qt Designer
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
252
diff
changeset
|
62 | add_subdirectory(widgets) |
252
da4876bfd822
Move some widgets into a static library
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
250
diff
changeset
|
63 | |
266
2800a15e2a2f
use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
264
diff
changeset
|
64 | set(SOURCE_FILES |
26 | 65 | src/colors.cpp |
3 | 66 | src/documentmanager.cpp |
55 | 67 | src/geometry.cpp |
152 | 68 | src/ldrawalgorithm.cpp |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
69 | src/libraries.cpp |
17 | 70 | src/invert.cpp |
0 | 71 | src/main.cpp |
235
7ef03c2b46ab
Add a basic message log
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
233
diff
changeset
|
72 | src/messagelog.cpp |
3 | 73 | src/model.cpp |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
74 | src/parser.cpp |
150
b6cbba6e29a1
extract polygon cache out of Model
Teemu Piippo <teemu@hecknology.net>
parents:
148
diff
changeset
|
75 | src/polygoncache.cpp |
16 | 76 | src/uiutilities.cpp |
1 | 77 | src/version.cpp |
117 | 78 | src/vertexmap.cpp |
70 | 79 | src/gl/basicshaderprogram.cpp |
17 | 80 | src/gl/compiler.cpp |
237
10a6298f636f
Add an option to log opengl messages
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
235
diff
changeset
|
81 | src/gl/debug.cpp |
17 | 82 | src/gl/partrenderer.cpp |
215
34c6e7bc4ee1
Reimplement the axes program as a layer that can be added to PartRenderer
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
214
diff
changeset
|
83 | # src/gl/vertexprogram.cpp |
263
59b6027b9843
Move render layer files to new src/layers/ directory
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
259
diff
changeset
|
84 | src/layers/axeslayer.cpp |
59b6027b9843
Move render layer files to new src/layers/ directory
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
259
diff
changeset
|
85 | src/layers/edittools.cpp |
59b6027b9843
Move render layer files to new src/layers/ directory
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
259
diff
changeset
|
86 | src/layers/gridlayer.cpp |
16 | 87 | src/settingseditor/keyboardshortcutseditor.cpp |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
88 | src/settingseditor/librarieseditor.cpp |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
89 | src/settingseditor/settingseditor.cpp |
17 | 90 | src/types/boundingbox.cpp |
233 | 91 | src/ui/circletooloptionswidget.cpp |
81
62373840e33a
object editor widgets start to form up
Teemu Piippo <teemu@hecknology.net>
parents:
70
diff
changeset
|
92 | src/ui/objecteditor.cpp |
178 | 93 | src/widgets/colorindexinput.cpp |
94
164f53fb5921
added a color select dialog
Teemu Piippo <teemu@hecknology.net>
parents:
92
diff
changeset
|
94 | src/widgets/colorselectdialog.cpp |
0 | 95 | ) |
266
2800a15e2a2f
use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
264
diff
changeset
|
96 | set(HEADER_FILES |
3 | 97 | src/basics.h |
232
8efa3a33172e
Add base code for circular primitives
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
223
diff
changeset
|
98 | src/circularprimitive.h |
3 | 99 | src/colors.h |
100 | src/documentmanager.h | |
63
f7dd937667a5
omg functional programming
Teemu Piippo <teemu@hecknology.net>
parents:
55
diff
changeset
|
101 | src/functional.h |
55 | 102 | src/geometry.h |
17 | 103 | src/invert.h |
152 | 104 | src/ldrawalgorithm.h |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
105 | src/libraries.h |
235
7ef03c2b46ab
Add a basic message log
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
233
diff
changeset
|
106 | src/messagelog.h |
3 | 107 | src/model.h |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
108 | src/parser.h |
150
b6cbba6e29a1
extract polygon cache out of Model
Teemu Piippo <teemu@hecknology.net>
parents:
148
diff
changeset
|
109 | src/polygoncache.h |
17 | 110 | src/ring.h |
218
63125c36de73
Replace config collector with a simpler system
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
216
diff
changeset
|
111 | src/settings.h |
63125c36de73
Replace config collector with a simpler system
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
216
diff
changeset
|
112 | src/typeconversions.h |
16 | 113 | src/uiutilities.h |
1 | 114 | src/version.h |
117 | 115 | src/vertexmap.h |
223
ce81db996275
Use Mapbox's ear clipping algorithm to handle drawing any simple polygon
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
221
diff
changeset
|
116 | src/algorithm/earcut.h |
70 | 117 | src/gl/basicshaderprogram.h |
17 | 118 | src/gl/common.h |
119 | src/gl/compiler.h | |
237
10a6298f636f
Add an option to log opengl messages
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
235
diff
changeset
|
120 | src/gl/debug.h |
17 | 121 | src/gl/partrenderer.h |
215
34c6e7bc4ee1
Reimplement the axes program as a layer that can be added to PartRenderer
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
214
diff
changeset
|
122 | # src/gl/vertexprogram.h |
263
59b6027b9843
Move render layer files to new src/layers/ directory
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
259
diff
changeset
|
123 | src/layers/axeslayer.h |
59b6027b9843
Move render layer files to new src/layers/ directory
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
259
diff
changeset
|
124 | src/layers/edittools.h |
59b6027b9843
Move render layer files to new src/layers/ directory
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
259
diff
changeset
|
125 | src/layers/gridlayer.h |
16 | 126 | src/settingseditor/keyboardshortcutseditor.h |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
127 | src/settingseditor/librarieseditor.h |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
128 | src/settingseditor/settingseditor.h |
17 | 129 | src/types/boundingbox.h |
233 | 130 | src/ui/circletooloptionswidget.h |
81
62373840e33a
object editor widgets start to form up
Teemu Piippo <teemu@hecknology.net>
parents:
70
diff
changeset
|
131 | src/ui/objecteditor.h |
178 | 132 | src/widgets/colorindexinput.h |
94
164f53fb5921
added a color select dialog
Teemu Piippo <teemu@hecknology.net>
parents:
92
diff
changeset
|
133 | src/widgets/colorselectdialog.h |
0 | 134 | ) |
266
2800a15e2a2f
use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
264
diff
changeset
|
135 | set(FORM_FILES |
272
9d52b119b3f5
Sort out versions more, add about page
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
269
diff
changeset
|
136 | src/about.ui |
1 | 137 | src/mainwindow.ui |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
138 | src/settingseditor/librarieseditor.ui |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
139 | src/settingseditor/settingseditor.ui |
232
8efa3a33172e
Add base code for circular primitives
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
223
diff
changeset
|
140 | src/ui/circletool.ui |
182
27fb1c3c9fbb
add ui file to object editor
Teemu Piippo <teemu@hecknology.net>
parents:
180
diff
changeset
|
141 | src/ui/objecteditor.ui |
94
164f53fb5921
added a color select dialog
Teemu Piippo <teemu@hecknology.net>
parents:
92
diff
changeset
|
142 | src/widgets/colorselectdialog.ui |
178 | 143 | src/widgets/colorindexinput.ui |
0 | 144 | ) |
6 | 145 | |
266
2800a15e2a2f
use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
264
diff
changeset
|
146 | set(LOCALE_FILES |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
147 | locale/fi.ts |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
148 | locale/sv.ts |
6 | 149 | ) |
150 | ||
266
2800a15e2a2f
use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
264
diff
changeset
|
151 | set (OTHER_FILES |
42
1d03dc1173cd
made configurationoptions.txt visible in Qt Creator
Teemu Piippo <teemu@hecknology.net>
parents:
41
diff
changeset
|
152 | ) |
1d03dc1173cd
made configurationoptions.txt visible in Qt Creator
Teemu Piippo <teemu@hecknology.net>
parents:
41
diff
changeset
|
153 | |
232
8efa3a33172e
Add base code for circular primitives
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
223
diff
changeset
|
154 | set(CMAKE_AUTOUIC_SEARCH_PATHS src/ui) |
267
9a482f506747
rename ldforge.qrc -> resources.qrc
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
266
diff
changeset
|
155 | set(QRC_FILE resources.qrc) |
148 | 156 | set(CMAKE_CXX_STANDARD 20) |
39
caac957e9834
Main color is now configurable
Teemu Piippo <teemu@hecknology.net>
parents:
33
diff
changeset
|
157 | set(CMAKE_CXX_STANDARD_REQUIRED ON) |
caac957e9834
Main color is now configurable
Teemu Piippo <teemu@hecknology.net>
parents:
33
diff
changeset
|
158 | set(CMAKE_CXX_EXTENSIONS OFF) |
caac957e9834
Main color is now configurable
Teemu Piippo <teemu@hecknology.net>
parents:
33
diff
changeset
|
159 | include_directories("${PROJECT_BINARY_DIR}") |
caac957e9834
Main color is now configurable
Teemu Piippo <teemu@hecknology.net>
parents:
33
diff
changeset
|
160 | include_directories("${PROJECT_BINARY_DIR}/src") |
252
da4876bfd822
Move some widgets into a static library
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
250
diff
changeset
|
161 | include_directories("${PROJECT_SOURCE_DIR}") |
266
2800a15e2a2f
use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
264
diff
changeset
|
162 | qt_add_resources(QRC_SOURCE ${QRC_FILE}) |
2800a15e2a2f
use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
264
diff
changeset
|
163 | qt_wrap_ui(FORMS_HEADERS ${FORM_FILES}) |
6 | 164 | |
268
fb319526ba6c
Define application name and version in CMakeLists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
267
diff
changeset
|
165 | add_executable(${TARGET_NAME} WIN32 |
266
2800a15e2a2f
use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
264
diff
changeset
|
166 | ${SOURCE_FILES} |
2800a15e2a2f
use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
264
diff
changeset
|
167 | ${HEADER_FILES} |
2800a15e2a2f
use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
264
diff
changeset
|
168 | ${QRC_FILE} |
2800a15e2a2f
use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
264
diff
changeset
|
169 | ${QRC_SOURCE} |
2800a15e2a2f
use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
264
diff
changeset
|
170 | ${FORMS_HEADERS} |
2800a15e2a2f
use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
264
diff
changeset
|
171 | ${OTHER_FILES} |
0 | 172 | ) |
6 | 173 | |
266
2800a15e2a2f
use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
264
diff
changeset
|
174 | set_source_files_properties(${HEADER_FILES} PROPERTIES HEADER_FILE_ONLY TRUE) |
2800a15e2a2f
use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
264
diff
changeset
|
175 | set_source_files_properties(${QRC_FILE} PROPERTIES HEADER_FILE_ONLY TRUE) |
2800a15e2a2f
use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
264
diff
changeset
|
176 | set_source_files_properties(${OTHER_FILES} PROPERTIES HEADER_FILE_ONLY TRUE) |
268
fb319526ba6c
Define application name and version in CMakeLists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
267
diff
changeset
|
177 | set_target_properties(${TARGET_NAME} PROPERTIES AUTOMOC 1) |
fb319526ba6c
Define application name and version in CMakeLists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
267
diff
changeset
|
178 | target_link_libraries(${TARGET_NAME} PRIVATE Qt::Core) |
fb319526ba6c
Define application name and version in CMakeLists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
267
diff
changeset
|
179 | target_link_libraries(${TARGET_NAME} PRIVATE Qt::Widgets) |
fb319526ba6c
Define application name and version in CMakeLists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
267
diff
changeset
|
180 | target_link_libraries(${TARGET_NAME} PRIVATE Qt::OpenGL) |
fb319526ba6c
Define application name and version in CMakeLists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
267
diff
changeset
|
181 | target_link_libraries(${TARGET_NAME} PRIVATE ${OPENGL_LIBRARIES}) |
fb319526ba6c
Define application name and version in CMakeLists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
267
diff
changeset
|
182 | target_link_libraries(${TARGET_NAME} PRIVATE ${GLEW_LIBRARIES}) |
fb319526ba6c
Define application name and version in CMakeLists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
267
diff
changeset
|
183 | target_link_libraries(${TARGET_NAME} PRIVATE ${WIDGETLIB}) |
259
c27612f0eac0
- Made it build under Qt6
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
256
diff
changeset
|
184 | if (Qt6_FOUND) |
268
fb319526ba6c
Define application name and version in CMakeLists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
267
diff
changeset
|
185 | target_link_libraries(${TARGET_NAME} PRIVATE Qt6::Core5Compat) |
fb319526ba6c
Define application name and version in CMakeLists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
267
diff
changeset
|
186 | target_link_libraries(${TARGET_NAME} PRIVATE Qt6::OpenGLWidgets) |
259
c27612f0eac0
- Made it build under Qt6
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
256
diff
changeset
|
187 | endif() |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
188 | |
114
4e03b0e2a29f
added build-time test for line length
Teemu Piippo <teemu@hecknology.net>
parents:
112
diff
changeset
|
189 | add_custom_target(linelength ALL |
4e03b0e2a29f
added build-time test for line length
Teemu Piippo <teemu@hecknology.net>
parents:
112
diff
changeset
|
190 | COMMAND python3 |
4e03b0e2a29f
added build-time test for line length
Teemu Piippo <teemu@hecknology.net>
parents:
112
diff
changeset
|
191 | "${CMAKE_SOURCE_DIR}/tools/linelength.py" |
267
9a482f506747
rename ldforge.qrc -> resources.qrc
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
266
diff
changeset
|
192 | ${SOURCE_FILES} |
268
fb319526ba6c
Define application name and version in CMakeLists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
267
diff
changeset
|
193 | ${HEADER_FILESl} |
114
4e03b0e2a29f
added build-time test for line length
Teemu Piippo <teemu@hecknology.net>
parents:
112
diff
changeset
|
194 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) |
268
fb319526ba6c
Define application name and version in CMakeLists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
267
diff
changeset
|
195 | add_dependencies(${TARGET_NAME} linelength) |
114
4e03b0e2a29f
added build-time test for line length
Teemu Piippo <teemu@hecknology.net>
parents:
112
diff
changeset
|
196 | |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
197 | # Collect the current hg revision into hginfo.h |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
198 | add_custom_target(revision_check ALL |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
199 | COMMAND python3 "${CMAKE_SOURCE_DIR}/tools/updaterevision.py" --cwd "$(CMAKE_SOURCE_DIR)" hginfo.h |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
200 | WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) |
268
fb319526ba6c
Define application name and version in CMakeLists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
267
diff
changeset
|
201 | add_dependencies(${TARGET_NAME} revision_check) |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
202 | |
268
fb319526ba6c
Define application name and version in CMakeLists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
267
diff
changeset
|
203 | install(TARGETS ${TARGET_NAME} RUNTIME DESTINATION bin) |