Thu, 03 Oct 2019 11:45:44 +0300
stuff
0 | 1 | project(ldforge) |
2 | cmake_minimum_required(VERSION 2.8.12) | |
3 | #set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake") | |
4 | #include(cotire) | |
5 | find_package(Qt5Widgets REQUIRED) | |
6 | find_package(Qt5Core REQUIRED) | |
7 | find_package(Qt5OpenGL REQUIRED) | |
8 | find_package(Qt5Network REQUIRED) | |
9 | if (Qt5Widgets_VERSION VERSION_LESS 5.5.0) | |
10 | message(FATAL_ERROR "Qt5 version 5.5 required") | |
11 | endif() | |
12 | set (CMAKE_AUTOMOC ON) | |
13 | find_package (OpenGL REQUIRED) | |
1 | 14 | add_custom_target (revision_check ALL |
15 | COMMAND python3 "${CMAKE_SOURCE_DIR}/tools/updaterevision.py" --cwd "$(CMAKE_SOURCE_DIR)" hginfo.h | |
16 | WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) | |
0 | 17 | include_directories (${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR}) |
18 | # set_source_files_properties (${CMAKE_BINARY_DIR}/configuration.cpp PROPERTIES GENERATED TRUE) | |
19 | # set_property(SOURCE configuration.cpp PROPERTY SKIP_AUTOMOC ON) | |
20 | set (LDFORGE_SOURCES | |
3 | 21 | src/documentmanager.cpp |
0 | 22 | src/main.cpp |
1 | 23 | src/mainwindow.cpp |
3 | 24 | src/model.cpp |
25 | src/modeleditcontext.cpp | |
26 | src/parser.cpp | |
27 | src/uuid.cpp | |
1 | 28 | src/version.cpp |
3 | 29 | src/vertex.cpp |
30 | src/objecttypes/comment.cpp | |
31 | src/objecttypes/conditionaledge.cpp | |
32 | src/objecttypes/edge.cpp | |
33 | src/objecttypes/errorline.cpp | |
34 | src/objecttypes/modelobject.cpp | |
35 | src/objecttypes/polygon.cpp | |
36 | src/objecttypes/subfilereference.cpp | |
0 | 37 | ) |
38 | set (LDFORGE_HEADERS | |
3 | 39 | src/basics.h |
40 | src/colors.h | |
41 | src/documentmanager.h | |
0 | 42 | src/main.h |
1 | 43 | src/mainwindow.h |
3 | 44 | src/model.h |
45 | src/modeleditcontext.h | |
46 | src/parser.h | |
47 | src/uuid.h | |
1 | 48 | src/version.h |
3 | 49 | src/vertex.h |
50 | src/objecttypes/comment.h | |
51 | src/objecttypes/conditionaledge.h | |
52 | src/objecttypes/edge.h | |
53 | src/objecttypes/errorline.h | |
54 | src/objecttypes/modelobject.h | |
55 | src/objecttypes/polygon.h | |
56 | src/objecttypes/subfilereference.h | |
0 | 57 | ) |
58 | set (LDFORGE_FORMS | |
1 | 59 | src/mainwindow.ui |
0 | 60 | ) |
61 | # set (LDFORGE_OTHER_FILES | |
62 | # src/configurationoptions.txt | |
63 | # data/primitive-categories.cfg | |
64 | # ) | |
65 | set (LDFORGE_RESOURCES ldforge.qrc) | |
1 | 66 | set(CMAKE_CXX_STANDARD 17) |
0 | 67 | set(CMAKE_CXX_STANDARD_REQUIRED ON) |
68 | set(CMAKE_CXX_EXTENSIONS OFF) | |
69 | include_directories ("${PROJECT_BINARY_DIR}") | |
70 | include_directories ("${PROJECT_BINARY_DIR}/src") | |
71 | include_directories ("${PROJECT_SOURCE_DIR}/src") | |
72 | if (NOT MSVC) | |
73 | if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug" OR "${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo") | |
74 | set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDEBUG") | |
75 | endif() | |
3 | 76 | set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra") |
77 | set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-implicit-fallthrough") | |
78 | set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-noexcept-type") | |
0 | 79 | endif() |
80 | # qt5_add_resources (LDFORGE_QRC ${LDFORGE_RESOURCES}) | |
81 | qt5_wrap_ui (LDFORGE_FORMS_HEADERS ${LDFORGE_FORMS}) | |
82 | add_executable (ldforge WIN32 | |
83 | ${LDFORGE_SOURCES} | |
84 | ${LDFORGE_HEADERS} | |
85 | # ${LDFORGE_OTHER_FILES} | |
86 | # ${LDFORGE_QRC} | |
87 | ${LDFORGE_FORMS_HEADERS} | |
88 | # ${CMAKE_BINARY_DIR}/configuration.cpp | |
89 | ) | |
90 | set_source_files_properties(${LDFORGE_HEADERS} PROPERTIES HEADER_FILE_ONLY TRUE) | |
91 | set_source_files_properties(${LDFORGE_OTHER_FILES} PROPERTIES HEADER_FILE_ONLY TRUE) | |
92 | set_target_properties(ldforge PROPERTIES AUTOMOC 1) | |
93 | target_link_libraries(ldforge Qt5::Widgets Qt5::Network Qt5::OpenGL ${OPENGL_LIBRARIES}) | |
94 | # cotire(ldforge) | |
95 | # add_custom_target (config_collection ALL | |
96 | # COMMAND python3 | |
97 | # "${CMAKE_SOURCE_DIR}/tools/configcollector.py" | |
98 | # --header ${CMAKE_BINARY_DIR}/configuration.h | |
99 | # --source ${CMAKE_BINARY_DIR}/configuration.cpp | |
100 | # --sourcedir ${CMAKE_SOURCE_DIR}/src | |
101 | # ${CMAKE_SOURCE_DIR}/src/configurationoptions.txt | |
102 | # WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) | |
1 | 103 | add_dependencies (ldforge revision_check) |
104 | #add_dependencies (ldforge config_collection) | |
0 | 105 | install (TARGETS ldforge RUNTIME DESTINATION bin) |