35 set(CMAKE_AUTORCC ON) |
35 set(CMAKE_AUTORCC ON) |
36 include_directories(${CMAKE_CURRENT_BINARY_DIR}) |
36 include_directories(${CMAKE_CURRENT_BINARY_DIR}) |
37 include_directories(${GLM_INCLUDE_DIR}) |
37 include_directories(${GLM_INCLUDE_DIR}) |
38 add_definitions(-DQT_NO_KEYWORDS) |
38 add_definitions(-DQT_NO_KEYWORDS) |
39 source_group(${PROJECT_NAME} REGULAR_EXPRESSION "src/.+\\.(cpp|h|ui)") |
39 source_group(${PROJECT_NAME} REGULAR_EXPRESSION "src/.+\\.(cpp|h|ui)") |
|
40 |
|
41 if (NOT MSVC) |
|
42 if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug" OR "${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo") |
|
43 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDEBUG") |
|
44 endif() |
|
45 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -Wunused") |
|
46 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-implicit-fallthrough") |
|
47 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-noexcept-type") |
|
48 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wformat-nonliteral -Wnonnull -Wnull-dereference -Winfinite-recursion -Wuninitialized -Wmissing-noreturn") |
|
49 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wshadow") |
|
50 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wundef -Wmissing-field-initializers") |
|
51 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wcast-qual -Wcast-align -Wcast-function-type -Wconversion") |
|
52 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wmissing-declarations -Wdate-time") |
|
53 endif() |
|
54 if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") |
|
55 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wcovered-switch-default -Wextra-semi -Wgnu -Wmicrosoft") |
|
56 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Woverloaded-virtual -Wsometimes-uninitialized -Wstring-concatenation -Wstring-conversion -Wsuggest-override") |
|
57 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wsuggest-override -Wundefined-func-template -Wundefined-reinterpret-cast") |
|
58 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wuninitialized-const-reference -Wunreachable-code -Wunreachable-code-break -Wunreachable-code-return") |
|
59 endif() |
|
60 add_definitions(-DCOMPILER_ID="${CMAKE_CXX_COMPILER_ID}") |
|
61 add_definitions(-DCOMPILER_VERSION="${CMAKE_CXX_COMPILER_VERSION}") |
|
62 add_definitions(-DCOMPILER_FLAGS="${CMAKE_CXX_FLAGS}") |
|
63 add_definitions(-DCOMPILER_CPU="${CMAKE_SYSTEM_PROCESSOR}") |
|
64 add_definitions(-DCOMPILER_SYSTEM="${CMAKE_SYSTEM}") |
|
65 |
40 add_subdirectory(widgets) |
66 add_subdirectory(widgets) |
41 |
67 |
42 set(SOURCE_FILES |
68 set(SOURCE_FILES |
43 src/colors.cpp |
69 src/colors.cpp |
44 src/documentmanager.cpp |
70 src/documentmanager.cpp |
135 set(CMAKE_CXX_STANDARD_REQUIRED ON) |
161 set(CMAKE_CXX_STANDARD_REQUIRED ON) |
136 set(CMAKE_CXX_EXTENSIONS OFF) |
162 set(CMAKE_CXX_EXTENSIONS OFF) |
137 include_directories("${PROJECT_BINARY_DIR}") |
163 include_directories("${PROJECT_BINARY_DIR}") |
138 include_directories("${PROJECT_BINARY_DIR}/src") |
164 include_directories("${PROJECT_BINARY_DIR}/src") |
139 include_directories("${PROJECT_SOURCE_DIR}") |
165 include_directories("${PROJECT_SOURCE_DIR}") |
140 |
|
141 if (NOT MSVC) |
|
142 if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug" OR "${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo") |
|
143 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDEBUG") |
|
144 endif() |
|
145 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -Wunused") |
|
146 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-implicit-fallthrough") |
|
147 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-noexcept-type") |
|
148 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wformat-nonliteral -Wnonnull -Wnull-dereference -Winfinite-recursion -Wuninitialized -Wmissing-noreturn") |
|
149 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wshadow") |
|
150 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wundef -Wmissing-field-initializers") |
|
151 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wcast-qual -Wcast-align -Wcast-function-type -Wconversion") |
|
152 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wmissing-declarations -Wdate-time") |
|
153 endif() |
|
154 if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") |
|
155 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wcovered-switch-default -Wextra-semi -Wgnu -Wmicrosoft") |
|
156 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Woverloaded-virtual -Wsometimes-uninitialized -Wstring-concatenation -Wstring-conversion -Wsuggest-override") |
|
157 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wsuggest-override -Wundefined-func-template -Wundefined-reinterpret-cast") |
|
158 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wuninitialized-const-reference -Wunreachable-code -Wunreachable-code-break -Wunreachable-code-return") |
|
159 endif() |
|
160 qt_add_resources(QRC_SOURCE ${QRC_FILE}) |
166 qt_add_resources(QRC_SOURCE ${QRC_FILE}) |
161 qt_wrap_ui(FORMS_HEADERS ${FORM_FILES}) |
167 qt_wrap_ui(FORMS_HEADERS ${FORM_FILES}) |
162 |
168 |
163 add_executable(${TARGET_NAME} WIN32 |
169 add_executable(${TARGET_NAME} WIN32 |
164 ${SOURCE_FILES} |
170 ${SOURCE_FILES} |