Sun, 03 Nov 2019 18:13:38 +0200
renamings
| 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 |
|
8
44679e468ba9
major update with many things
Teemu Piippo <teemu@hecknology.net>
parents:
7
diff
changeset
|
18 | src/document.cpp |
| 3 | 19 | src/documentmanager.cpp |
|
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
20 | src/libraries.cpp |
| 0 | 21 | src/main.cpp |
| 1 | 22 | src/mainwindow.cpp |
|
8
44679e468ba9
major update with many things
Teemu Piippo <teemu@hecknology.net>
parents:
7
diff
changeset
|
23 | src/matrix.cpp |
| 3 | 24 | src/model.cpp |
| 25 | src/modeleditcontext.cpp | |
|
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
26 | src/parser.cpp |
| 1 | 27 | src/version.cpp |
| 3 | 28 | src/vertex.cpp |
| 14 | 29 | src/linetypes/comment.cpp |
| 30 | src/linetypes/conditionaledge.cpp | |
| 31 | src/linetypes/edge.cpp | |
| 32 | src/linetypes/errorline.cpp | |
| 33 | src/linetypes/metacommand.cpp | |
| 34 | src/linetypes/object.cpp | |
| 35 | src/linetypes/polygon.cpp | |
| 36 | src/linetypes/subfilereference.cpp | |
|
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
37 | src/settingseditor/librarieseditor.cpp |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
38 | src/settingseditor/settingseditor.cpp |
| 0 | 39 | ) |
| 40 | set (LDFORGE_HEADERS | |
| 3 | 41 | src/basics.h |
| 42 | src/colors.h | |
|
8
44679e468ba9
major update with many things
Teemu Piippo <teemu@hecknology.net>
parents:
7
diff
changeset
|
43 | src/document.h |
| 3 | 44 | src/documentmanager.h |
|
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
45 | src/libraries.h |
| 0 | 46 | src/main.h |
| 1 | 47 | src/mainwindow.h |
|
8
44679e468ba9
major update with many things
Teemu Piippo <teemu@hecknology.net>
parents:
7
diff
changeset
|
48 | src/matrix.h |
| 3 | 49 | src/model.h |
| 50 | src/modeleditcontext.h | |
|
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
51 | src/parser.h |
|
8
44679e468ba9
major update with many things
Teemu Piippo <teemu@hecknology.net>
parents:
7
diff
changeset
|
52 | src/utility.h |
| 1 | 53 | src/version.h |
| 3 | 54 | src/vertex.h |
| 14 | 55 | src/linetypes/comment.h |
| 56 | src/linetypes/conditionaledge.h | |
| 57 | src/linetypes/edge.h | |
| 58 | src/linetypes/errorline.h | |
| 59 | src/linetypes/metacommand.h | |
| 60 | src/linetypes/object.h | |
| 61 | src/linetypes/polygon.h | |
| 62 | src/linetypes/subfilereference.h | |
|
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
63 | src/settingseditor/librarieseditor.h |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
64 | src/settingseditor/settingseditor.h |
| 0 | 65 | ) |
| 66 | set (LDFORGE_FORMS | |
|
8
44679e468ba9
major update with many things
Teemu Piippo <teemu@hecknology.net>
parents:
7
diff
changeset
|
67 | src/document.ui |
| 1 | 68 | src/mainwindow.ui |
|
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
69 | src/settingseditor/librarieseditor.ui |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
70 | src/settingseditor/settingseditor.ui |
| 0 | 71 | ) |
| 6 | 72 | |
| 73 | set(LDFORGE_LOCALES | |
|
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
74 | locale/fi.ts |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
75 | locale/sv.ts |
| 6 | 76 | ) |
| 77 | ||
|
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
78 | set(LDFORGE_RESOURCES ldforge.qrc) |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
79 | |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
80 | # Translations |
| 6 | 81 | qt5_create_translation(QM_FILES ${LDFORGE_SOURCES} ${LDFORGE_HEADERS} ${LDFORGE_FORMS} ${LDFORGE_LOCALES}) |
| 82 | add_custom_target(translations ALL DEPENDS ${QM_FILES}) | |
|
10
e249d97c7fe6
fixed translations being updated twice at the same time, that's bad
Teemu Piippo <teemu@hecknology.net>
parents:
8
diff
changeset
|
83 | add_custom_target(resources ALL DEPENDS ${LDFORGE_RESOURCES}) |
| 6 | 84 | add_dependencies(resources translations) |
| 85 | ||
| 1 | 86 | set(CMAKE_CXX_STANDARD 17) |
| 0 | 87 | set(CMAKE_CXX_STANDARD_REQUIRED ON) |
| 88 | set(CMAKE_CXX_EXTENSIONS OFF) | |
|
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
89 | include_directories("${PROJECT_BINARY_DIR}") |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
90 | include_directories("${PROJECT_BINARY_DIR}/src") |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
91 | include_directories("${PROJECT_SOURCE_DIR}/src") |
| 0 | 92 | if (NOT MSVC) |
| 93 | 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
|
94 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDEBUG") |
| 0 | 95 | endif() |
|
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
96 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra") |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
97 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-implicit-fallthrough") |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
98 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-noexcept-type") |
| 0 | 99 | endif() |
|
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
100 | qt5_add_resources(LDFORGE_QRC ${LDFORGE_RESOURCES}) |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
101 | qt5_wrap_ui(LDFORGE_FORMS_HEADERS ${LDFORGE_FORMS}) |
| 6 | 102 | |
| 103 | # Move languages.qrc into the build directory to bake the .qm-files into LDForge | |
| 104 | # so that they don't have to be shipped separately | |
| 105 | # https://stackoverflow.com/a/34798124 | |
|
10
e249d97c7fe6
fixed translations being updated twice at the same time, that's bad
Teemu Piippo <teemu@hecknology.net>
parents:
8
diff
changeset
|
106 | # https://gist.github.com/giraldeau/546ba5512a74dfe9d8ea0862d66db412 |
| 6 | 107 | set(LANGUAGES_QRC "languages.qrc") |
|
10
e249d97c7fe6
fixed translations being updated twice at the same time, that's bad
Teemu Piippo <teemu@hecknology.net>
parents:
8
diff
changeset
|
108 | configure_file(${LANGUAGES_QRC} ${CMAKE_CURRENT_BINARY_DIR} COPYONLY) |
| 6 | 109 | qt5_add_resources(LDFORGE_QM_RC_FILE ${CMAKE_CURRENT_BINARY_DIR}/${LANGUAGES_QRC}) |
| 110 | ||
|
7
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
111 | add_executable(ldforge WIN32 |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
112 | ${LDFORGE_SOURCES} |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
113 | ${LDFORGE_HEADERS} |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
114 | ${LDFORGE_RESOURCES} |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
115 | ${LDFORGE_QRC} |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
116 | ${LDFORGE_QM_RC_FILE} |
| 0 | 117 | ${LDFORGE_FORMS_HEADERS} |
| 118 | ) | |
| 6 | 119 | |
| 0 | 120 | set_source_files_properties(${LDFORGE_HEADERS} PROPERTIES HEADER_FILE_ONLY TRUE) |
| 6 | 121 | set_source_files_properties(${LDFORGE_RESOURCES} PROPERTIES HEADER_FILE_ONLY TRUE) |
| 0 | 122 | set_target_properties(ldforge PROPERTIES AUTOMOC 1) |
| 123 | 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
|
124 | cotire(ldforge) |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
125 | |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
126 | # Collect the current hg revision into hginfo.h |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
127 | add_custom_target(revision_check ALL |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
128 | 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
|
129 | WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
130 | add_dependencies(ldforge revision_check) |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
131 | |
|
68443f5be176
added the settings editor
Teemu Piippo <teemu@hecknology.net>
parents:
6
diff
changeset
|
132 | install(TARGETS ldforge RUNTIME DESTINATION bin) |