Sat, 05 Oct 2019 23:47:03 +0300
added the settings editor
0 | 1 | project(ldforge) |
2 | cmake_minimum_required(VERSION 2.8.12) | |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
3 | set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake") |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
4 | include(cotire) |
0 | 5 | find_package(Qt5Widgets REQUIRED) |
6 | 6 | if (Qt5Widgets_VERSION VERSION_LESS 5.5.0) |
7 | message(FATAL_ERROR "Qt5 version 5.5 required") | |
8 | endif() | |
0 | 9 | find_package(Qt5Core REQUIRED) |
10 | find_package(Qt5OpenGL REQUIRED) | |
11 | find_package(Qt5Network REQUIRED) | |
6 | 12 | find_package(Qt5LinguistTools REQUIRED) |
0 | 13 | set (CMAKE_AUTOMOC ON) |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
14 | find_package(OpenGL REQUIRED) |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
15 | include_directories(${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR}) |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
16 | |
0 | 17 | set (LDFORGE_SOURCES |
3 | 18 | src/documentmanager.cpp |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
19 | src/libraries.cpp |
0 | 20 | src/main.cpp |
1 | 21 | src/mainwindow.cpp |
3 | 22 | src/model.cpp |
23 | src/modeleditcontext.cpp | |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
24 | src/parser.cpp |
1 | 25 | src/version.cpp |
3 | 26 | src/vertex.cpp |
27 | src/objecttypes/comment.cpp | |
28 | src/objecttypes/conditionaledge.cpp | |
29 | src/objecttypes/edge.cpp | |
30 | src/objecttypes/errorline.cpp | |
31 | src/objecttypes/modelobject.cpp | |
32 | src/objecttypes/polygon.cpp | |
33 | src/objecttypes/subfilereference.cpp | |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
34 | src/settingseditor/librarieseditor.cpp |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
35 | src/settingseditor/settingseditor.cpp |
0 | 36 | ) |
37 | set (LDFORGE_HEADERS | |
3 | 38 | src/basics.h |
39 | src/colors.h | |
40 | src/documentmanager.h | |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
41 | src/libraries.h |
0 | 42 | src/main.h |
1 | 43 | src/mainwindow.h |
3 | 44 | src/model.h |
45 | src/modeleditcontext.h | |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
46 | src/parser.h |
1 | 47 | src/version.h |
3 | 48 | src/vertex.h |
49 | src/objecttypes/comment.h | |
50 | src/objecttypes/conditionaledge.h | |
51 | src/objecttypes/edge.h | |
52 | src/objecttypes/errorline.h | |
53 | src/objecttypes/modelobject.h | |
54 | src/objecttypes/polygon.h | |
55 | src/objecttypes/subfilereference.h | |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
56 | src/settingseditor/librarieseditor.h |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
57 | src/settingseditor/settingseditor.h |
0 | 58 | ) |
59 | set (LDFORGE_FORMS | |
1 | 60 | src/mainwindow.ui |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
61 | src/settingseditor/librarieseditor.ui |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
62 | src/settingseditor/settingseditor.ui |
0 | 63 | ) |
6 | 64 | |
65 | set(LDFORGE_LOCALES | |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
66 | locale/fi.ts |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
67 | locale/sv.ts |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
68 | locale/ru.ts |
6 | 69 | ) |
70 | ||
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
71 | set(LDFORGE_RESOURCES ldforge.qrc) |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
72 | |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
73 | # Translations |
6 | 74 | qt5_create_translation(QM_FILES ${LDFORGE_SOURCES} ${LDFORGE_HEADERS} ${LDFORGE_FORMS} ${LDFORGE_LOCALES}) |
75 | add_custom_target(translations ALL DEPENDS ${QM_FILES}) | |
76 | add_custom_target(resources ALL DEPENDS ${RESOURCE_FILES}) | |
77 | add_dependencies(resources translations) | |
78 | ||
1 | 79 | set(CMAKE_CXX_STANDARD 17) |
0 | 80 | set(CMAKE_CXX_STANDARD_REQUIRED ON) |
81 | set(CMAKE_CXX_EXTENSIONS OFF) | |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
82 | include_directories("${PROJECT_BINARY_DIR}") |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
83 | include_directories("${PROJECT_BINARY_DIR}/src") |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
84 | include_directories("${PROJECT_SOURCE_DIR}/src") |
0 | 85 | if (NOT MSVC) |
86 | if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug" OR "${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo") | |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
87 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDEBUG") |
0 | 88 | endif() |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
89 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra") |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
90 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-implicit-fallthrough") |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
91 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-noexcept-type") |
0 | 92 | endif() |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
93 | qt5_add_resources(LDFORGE_QRC ${LDFORGE_RESOURCES}) |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
94 | qt5_wrap_ui(LDFORGE_FORMS_HEADERS ${LDFORGE_FORMS}) |
6 | 95 | |
96 | # Move languages.qrc into the build directory to bake the .qm-files into LDForge | |
97 | # so that they don't have to be shipped separately | |
98 | # https://stackoverflow.com/a/34798124 | |
99 | set(LANGUAGES_QRC "languages.qrc") | |
100 | configure_file(${LANGUAGES_QRC} ${LANGUAGES_QRC} COPYONLY) | |
101 | qt5_add_resources(LDFORGE_QM_RC_FILE ${CMAKE_CURRENT_BINARY_DIR}/${LANGUAGES_QRC}) | |
102 | ||
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
103 | add_executable(ldforge WIN32 |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
104 | ${LDFORGE_SOURCES} |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
105 | ${LDFORGE_HEADERS} |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
106 | ${LDFORGE_RESOURCES} |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
107 | ${LDFORGE_QRC} |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
108 | ${LDFORGE_QM_RC_FILE} |
0 | 109 | ${LDFORGE_FORMS_HEADERS} |
110 | ) | |
6 | 111 | |
0 | 112 | set_source_files_properties(${LDFORGE_HEADERS} PROPERTIES HEADER_FILE_ONLY TRUE) |
6 | 113 | set_source_files_properties(${LDFORGE_RESOURCES} PROPERTIES HEADER_FILE_ONLY TRUE) |
0 | 114 | set_target_properties(ldforge PROPERTIES AUTOMOC 1) |
115 | target_link_libraries(ldforge Qt5::Widgets Qt5::Network Qt5::OpenGL ${OPENGL_LIBRARIES}) | |
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
116 | cotire(ldforge) |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
117 | |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
118 | # Collect the current hg revision into hginfo.h |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
119 | add_custom_target(revision_check ALL |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
120 | 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
|
121 | WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
122 | add_dependencies(ldforge revision_check) |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
123 | |
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
124 | install(TARGETS ldforge RUNTIME DESTINATION bin) |