CMakeLists.txt

Fri, 01 Jul 2022 16:46:43 +0300

author
Teemu Piippo <teemu.s.piippo@gmail.com>
date
Fri, 01 Jul 2022 16:46:43 +0300
changeset 312
2637134bc37c
parent 302
d59cb01d8031
child 317
852021f38b66
permissions
-rw-r--r--

Fix right click to delete not really working properly
Instead of removing the point that had been added, it would remove
the point that is being drawn, which would cause it to overwrite the
previous point using the new point, causing a bit of a delay

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")
269
593545977c5e Further use APPNAME macro
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 268
diff changeset
4 string(TOLOWER ${PROJECT_NAME} TARGET_NAME)
7
68443f5be176 added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents: 6
diff changeset
5 set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake")
302
d59cb01d8031 Enable cotire again
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 301
diff changeset
6 include(cotire)
21
Teemu Piippo <teemu@hecknology.net>
parents: 20
diff changeset
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
73e448b2943d language support
Teemu Piippo <teemu@hecknology.net>
parents: 3
diff changeset
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)
291
42b4953dff85 Let's bring GLEW back after all
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 281
diff changeset
21 find_package(GLEW REQUIRED)
28
c92c1daf735f modelview matrix set up
Teemu Piippo <teemu@hecknology.net>
parents: 26
diff changeset
22 find_package(GLM REQUIRED)
c92c1daf735f modelview matrix set up
Teemu Piippo <teemu@hecknology.net>
parents: 26
diff changeset
23 set(CMAKE_AUTOMOC ON)
c92c1daf735f modelview matrix set up
Teemu Piippo <teemu@hecknology.net>
parents: 26
diff changeset
24 set(CMAKE_AUTOUIC ON)
c92c1daf735f modelview matrix set up
Teemu Piippo <teemu@hecknology.net>
parents: 26
diff changeset
25 set(CMAKE_AUTORCC ON)
259
c27612f0eac0 - Made it build under Qt6
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 256
diff changeset
26 include_directories(${CMAKE_CURRENT_BINARY_DIR})
28
c92c1daf735f modelview matrix set up
Teemu Piippo <teemu@hecknology.net>
parents: 26
diff changeset
27 include_directories(${GLM_INCLUDE_DIR})
112
5760cbb32bc0 use QT_NO_KEYWORDS
Teemu Piippo <teemu@hecknology.net>
parents: 105
diff changeset
28 add_definitions(-DQT_NO_KEYWORDS)
266
2800a15e2a2f use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 264
diff changeset
29 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
30
cd70c845563a Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 272
diff changeset
31 if (NOT MSVC)
cd70c845563a Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 272
diff changeset
32 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
33 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
34 endif()
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} -Wall -Wextra -Wpedantic -Wunused")
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-implicit-fallthrough")
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} -Wno-noexcept-type")
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} -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
39 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
40 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
41 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
42 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
43 endif()
cd70c845563a Add build system information to the about dialog
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 272
diff changeset
44 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
45 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
46 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
47 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
48 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
49 endif()
281
afed72b544f0 - Add CMake build type to about page and window title
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 279
diff changeset
50
afed72b544f0 - Add CMake build type to about page and window title
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 279
diff changeset
51 # 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
52 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
53 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
54 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
55 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
56 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
57 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
58 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
59 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
60 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
61 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
62
253
8b994c917f69 Make LDForge widgets visible in Qt Designer
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 252
diff changeset
63 add_subdirectory(widgets)
252
da4876bfd822 Move some widgets into a static library
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 250
diff changeset
64
266
2800a15e2a2f use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 264
diff changeset
65 set(SOURCE_FILES
26
3a9e761e4faa at least VAOs work now
Teemu Piippo <teemu@hecknology.net>
parents: 21
diff changeset
66 src/colors.cpp
3
55a55a9ec2c2 Added lots of code
Teemu Piippo <teemu@hecknology.net>
parents: 2
diff changeset
67 src/documentmanager.cpp
55
cb81ecb5fb23 grid stuff
Teemu Piippo <teemu@hecknology.net>
parents: 53
diff changeset
68 src/geometry.cpp
152
03f8e6d42e13 Major refactoring
Teemu Piippo <teemu@hecknology.net>
parents: 150
diff changeset
69 src/ldrawalgorithm.cpp
7
68443f5be176 added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents: 6
diff changeset
70 src/libraries.cpp
17
a5111f4e6412 added teapot rendering
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
71 src/invert.cpp
0
f9f4d4d6f162 initial commit
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
72 src/main.cpp
235
7ef03c2b46ab Add a basic message log
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 233
diff changeset
73 src/messagelog.cpp
3
55a55a9ec2c2 Added lots of code
Teemu Piippo <teemu@hecknology.net>
parents: 2
diff changeset
74 src/model.cpp
7
68443f5be176 added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents: 6
diff changeset
75 src/parser.cpp
150
b6cbba6e29a1 extract polygon cache out of Model
Teemu Piippo <teemu@hecknology.net>
parents: 148
diff changeset
76 src/polygoncache.cpp
16
Teemu Piippo <teemu@hecknology.net>
parents: 15
diff changeset
77 src/uiutilities.cpp
1
51d14b0c68c0 add version
Teemu Piippo <teemu@hecknology.net>
parents: 0
diff changeset
78 src/version.cpp
117
121a40d5e34c Add vertex map
Teemu Piippo <teemu@hecknology.net>
parents: 114
diff changeset
79 src/vertexmap.cpp
70
f21b800b02a4 Added axes rendering
Teemu Piippo <teemu@hecknology.net>
parents: 69
diff changeset
80 src/gl/basicshaderprogram.cpp
17
a5111f4e6412 added teapot rendering
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
81 src/gl/compiler.cpp
a5111f4e6412 added teapot rendering
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
82 src/gl/partrenderer.cpp
263
59b6027b9843 Move render layer files to new src/layers/ directory
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 259
diff changeset
83 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
84 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
85 src/layers/gridlayer.cpp
16
Teemu Piippo <teemu@hecknology.net>
parents: 15
diff changeset
86 src/settingseditor/keyboardshortcutseditor.cpp
7
68443f5be176 added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents: 6
diff changeset
87 src/settingseditor/librarieseditor.cpp
68443f5be176 added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents: 6
diff changeset
88 src/settingseditor/settingseditor.cpp
17
a5111f4e6412 added teapot rendering
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
89 src/types/boundingbox.cpp
233
5509bec02c81 fix various things
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 232
diff changeset
90 src/ui/circletooloptionswidget.cpp
81
62373840e33a object editor widgets start to form up
Teemu Piippo <teemu@hecknology.net>
parents: 70
diff changeset
91 src/ui/objecteditor.cpp
178
a23024fc98e0 fix saving
Teemu Piippo <teemu@hecknology.net>
parents: 176
diff changeset
92 src/widgets/colorindexinput.cpp
94
164f53fb5921 added a color select dialog
Teemu Piippo <teemu@hecknology.net>
parents: 92
diff changeset
93 src/widgets/colorselectdialog.cpp
0
f9f4d4d6f162 initial commit
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
94 )
266
2800a15e2a2f use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 264
diff changeset
95 set(HEADER_FILES
3
55a55a9ec2c2 Added lots of code
Teemu Piippo <teemu@hecknology.net>
parents: 2
diff changeset
96 src/basics.h
232
8efa3a33172e Add base code for circular primitives
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 223
diff changeset
97 src/circularprimitive.h
3
55a55a9ec2c2 Added lots of code
Teemu Piippo <teemu@hecknology.net>
parents: 2
diff changeset
98 src/colors.h
55a55a9ec2c2 Added lots of code
Teemu Piippo <teemu@hecknology.net>
parents: 2
diff changeset
99 src/documentmanager.h
55
cb81ecb5fb23 grid stuff
Teemu Piippo <teemu@hecknology.net>
parents: 53
diff changeset
100 src/geometry.h
17
a5111f4e6412 added teapot rendering
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
101 src/invert.h
152
03f8e6d42e13 Major refactoring
Teemu Piippo <teemu@hecknology.net>
parents: 150
diff changeset
102 src/ldrawalgorithm.h
7
68443f5be176 added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents: 6
diff changeset
103 src/libraries.h
235
7ef03c2b46ab Add a basic message log
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 233
diff changeset
104 src/messagelog.h
3
55a55a9ec2c2 Added lots of code
Teemu Piippo <teemu@hecknology.net>
parents: 2
diff changeset
105 src/model.h
7
68443f5be176 added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents: 6
diff changeset
106 src/parser.h
150
b6cbba6e29a1 extract polygon cache out of Model
Teemu Piippo <teemu@hecknology.net>
parents: 148
diff changeset
107 src/polygoncache.h
218
63125c36de73 Replace config collector with a simpler system
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 216
diff changeset
108 src/settings.h
63125c36de73 Replace config collector with a simpler system
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 216
diff changeset
109 src/typeconversions.h
16
Teemu Piippo <teemu@hecknology.net>
parents: 15
diff changeset
110 src/uiutilities.h
1
51d14b0c68c0 add version
Teemu Piippo <teemu@hecknology.net>
parents: 0
diff changeset
111 src/version.h
117
121a40d5e34c Add vertex map
Teemu Piippo <teemu@hecknology.net>
parents: 114
diff changeset
112 src/vertexmap.h
70
f21b800b02a4 Added axes rendering
Teemu Piippo <teemu@hecknology.net>
parents: 69
diff changeset
113 src/gl/basicshaderprogram.h
17
a5111f4e6412 added teapot rendering
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
114 src/gl/common.h
a5111f4e6412 added teapot rendering
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
115 src/gl/compiler.h
a5111f4e6412 added teapot rendering
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
116 src/gl/partrenderer.h
263
59b6027b9843 Move render layer files to new src/layers/ directory
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 259
diff changeset
117 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
118 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
119 src/layers/gridlayer.h
16
Teemu Piippo <teemu@hecknology.net>
parents: 15
diff changeset
120 src/settingseditor/keyboardshortcutseditor.h
7
68443f5be176 added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents: 6
diff changeset
121 src/settingseditor/librarieseditor.h
68443f5be176 added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents: 6
diff changeset
122 src/settingseditor/settingseditor.h
17
a5111f4e6412 added teapot rendering
Teemu Piippo <teemu@hecknology.net>
parents: 16
diff changeset
123 src/types/boundingbox.h
233
5509bec02c81 fix various things
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 232
diff changeset
124 src/ui/circletooloptionswidget.h
81
62373840e33a object editor widgets start to form up
Teemu Piippo <teemu@hecknology.net>
parents: 70
diff changeset
125 src/ui/objecteditor.h
178
a23024fc98e0 fix saving
Teemu Piippo <teemu@hecknology.net>
parents: 176
diff changeset
126 src/widgets/colorindexinput.h
94
164f53fb5921 added a color select dialog
Teemu Piippo <teemu@hecknology.net>
parents: 92
diff changeset
127 src/widgets/colorselectdialog.h
301
8ccd6fdb30dc Move earcut.h outside src/ directory
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 299
diff changeset
128 thirdparty/earcut.h
0
f9f4d4d6f162 initial commit
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
129 )
266
2800a15e2a2f use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 264
diff changeset
130 set(FORM_FILES
272
9d52b119b3f5 Sort out versions more, add about page
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 269
diff changeset
131 src/about.ui
1
51d14b0c68c0 add version
Teemu Piippo <teemu@hecknology.net>
parents: 0
diff changeset
132 src/mainwindow.ui
7
68443f5be176 added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents: 6
diff changeset
133 src/settingseditor/librarieseditor.ui
68443f5be176 added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents: 6
diff changeset
134 src/settingseditor/settingseditor.ui
232
8efa3a33172e Add base code for circular primitives
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 223
diff changeset
135 src/ui/circletool.ui
182
27fb1c3c9fbb add ui file to object editor
Teemu Piippo <teemu@hecknology.net>
parents: 180
diff changeset
136 src/ui/objecteditor.ui
94
164f53fb5921 added a color select dialog
Teemu Piippo <teemu@hecknology.net>
parents: 92
diff changeset
137 src/widgets/colorselectdialog.ui
178
a23024fc98e0 fix saving
Teemu Piippo <teemu@hecknology.net>
parents: 176
diff changeset
138 src/widgets/colorindexinput.ui
0
f9f4d4d6f162 initial commit
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
139 )
6
73e448b2943d language support
Teemu Piippo <teemu@hecknology.net>
parents: 3
diff changeset
140
232
8efa3a33172e Add base code for circular primitives
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 223
diff changeset
141 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
142 set(QRC_FILE resources.qrc)
148
e1ced2523cad reworking
Teemu Piippo <teemu@hecknology.net>
parents: 140
diff changeset
143 set(CMAKE_CXX_STANDARD 20)
39
caac957e9834 Main color is now configurable
Teemu Piippo <teemu@hecknology.net>
parents: 33
diff changeset
144 set(CMAKE_CXX_STANDARD_REQUIRED ON)
caac957e9834 Main color is now configurable
Teemu Piippo <teemu@hecknology.net>
parents: 33
diff changeset
145 set(CMAKE_CXX_EXTENSIONS OFF)
caac957e9834 Main color is now configurable
Teemu Piippo <teemu@hecknology.net>
parents: 33
diff changeset
146 include_directories("${PROJECT_BINARY_DIR}")
caac957e9834 Main color is now configurable
Teemu Piippo <teemu@hecknology.net>
parents: 33
diff changeset
147 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
148 include_directories("${PROJECT_SOURCE_DIR}")
266
2800a15e2a2f use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 264
diff changeset
149 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
150 qt_wrap_ui(FORMS_HEADERS ${FORM_FILES})
6
73e448b2943d language support
Teemu Piippo <teemu@hecknology.net>
parents: 3
diff changeset
151
268
fb319526ba6c Define application name and version in CMakeLists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 267
diff changeset
152 add_executable(${TARGET_NAME} WIN32
266
2800a15e2a2f use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 264
diff changeset
153 ${SOURCE_FILES}
2800a15e2a2f use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 264
diff changeset
154 ${HEADER_FILES}
2800a15e2a2f use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 264
diff changeset
155 ${QRC_FILE}
2800a15e2a2f use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 264
diff changeset
156 ${QRC_SOURCE}
2800a15e2a2f use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 264
diff changeset
157 ${FORMS_HEADERS}
2800a15e2a2f use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 264
diff changeset
158 ${OTHER_FILES}
0
f9f4d4d6f162 initial commit
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
159 )
6
73e448b2943d language support
Teemu Piippo <teemu@hecknology.net>
parents: 3
diff changeset
160
266
2800a15e2a2f use project name more in cmakelists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 264
diff changeset
161 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
162 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
163 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
164 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
165 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
166 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
167 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
168 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
169 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
170 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
171 if (Qt6_FOUND)
268
fb319526ba6c Define application name and version in CMakeLists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 267
diff changeset
172 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
173 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
174 endif()
302
d59cb01d8031 Enable cotire again
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 301
diff changeset
175 cotire(${TARGET_NAME})
7
68443f5be176 added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents: 6
diff changeset
176
114
4e03b0e2a29f added build-time test for line length
Teemu Piippo <teemu@hecknology.net>
parents: 112
diff changeset
177 add_custom_target(linelength ALL
4e03b0e2a29f added build-time test for line length
Teemu Piippo <teemu@hecknology.net>
parents: 112
diff changeset
178 COMMAND python3
4e03b0e2a29f added build-time test for line length
Teemu Piippo <teemu@hecknology.net>
parents: 112
diff changeset
179 "${CMAKE_SOURCE_DIR}/tools/linelength.py"
267
9a482f506747 rename ldforge.qrc -> resources.qrc
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 266
diff changeset
180 ${SOURCE_FILES}
268
fb319526ba6c Define application name and version in CMakeLists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 267
diff changeset
181 ${HEADER_FILESl}
114
4e03b0e2a29f added build-time test for line length
Teemu Piippo <teemu@hecknology.net>
parents: 112
diff changeset
182 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
183 add_dependencies(${TARGET_NAME} linelength)
114
4e03b0e2a29f added build-time test for line length
Teemu Piippo <teemu@hecknology.net>
parents: 112
diff changeset
184
7
68443f5be176 added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents: 6
diff changeset
185 # Collect the current hg revision into hginfo.h
68443f5be176 added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents: 6
diff changeset
186 add_custom_target(revision_check ALL
68443f5be176 added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents: 6
diff changeset
187 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
188 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
189 add_dependencies(${TARGET_NAME} revision_check)
7
68443f5be176 added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents: 6
diff changeset
190
268
fb319526ba6c Define application name and version in CMakeLists
Teemu Piippo <teemu.s.piippo@gmail.com>
parents: 267
diff changeset
191 install(TARGETS ${TARGET_NAME} RUNTIME DESTINATION bin)

mercurial