Mercurial > minori
comparison CMakeLists.txt @ 367:8d45d892be88
*: instead of pugixml, use Qt XML features
this means we have one extra Qt dependency though...
| author | Paper <paper@tflc.us> |
|---|---|
| date | Sun, 17 Nov 2024 22:55:47 -0500 |
| parents | 99c961c91809 |
| children | 6d37a998cf91 |
comparison
equal
deleted
inserted
replaced
| 366:886f66775f31 | 367:8d45d892be88 |
|---|---|
| 10 option(USE_QT5 "Force build with Qt 5" OFF) | 10 option(USE_QT5 "Force build with Qt 5" OFF) |
| 11 option(UPDATE_TRANSLATIONS "Update *.ts translation files" OFF) | 11 option(UPDATE_TRANSLATIONS "Update *.ts translation files" OFF) |
| 12 | 12 |
| 13 add_subdirectory(dep/animone) | 13 add_subdirectory(dep/animone) |
| 14 add_subdirectory(dep/anitomy) | 14 add_subdirectory(dep/anitomy) |
| 15 add_subdirectory(dep/pugixml) | |
| 16 add_subdirectory(dep/utf8proc) | |
| 17 add_subdirectory(dep/fmt) | |
| 18 | 15 |
| 19 # Fix for mingw64 | 16 # Fix for mingw64 |
| 20 list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".a") | 17 list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".a") |
| 21 | 18 |
| 22 if(USE_QT6 AND USE_QT5) | 19 if(USE_QT6 AND USE_QT5) |
| 27 set(QT_VERSION_MAJOR 5) | 24 set(QT_VERSION_MAJOR 5) |
| 28 else() | 25 else() |
| 29 find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core) | 26 find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core) |
| 30 endif() | 27 endif() |
| 31 | 28 |
| 32 find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets LinguistTools) | 29 find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets LinguistTools Xml) |
| 33 | 30 |
| 34 # find_package(CURL) fails sometimes | 31 # find_package(CURL) is dysfunctional |
| 35 find_package(PkgConfig REQUIRED) | 32 find_package(PkgConfig REQUIRED) |
| 36 pkg_check_modules(CURL REQUIRED libcurl) | 33 pkg_check_modules(CURL REQUIRED libcurl) |
| 34 pkg_check_modules(UTF8PROC libutf8proc) | |
| 35 pkg_check_modules(FMT fmt) | |
| 36 | |
| 37 message("${FMT_LINK_LIBRARIES}") | |
| 38 | |
| 39 if(NOT UTF8PROC_FOUND) | |
| 40 add_subdirectory(dep/utf8proc) | |
| 41 endif() | |
| 42 | |
| 43 if(NOT FMT_FOUND) | |
| 44 add_subdirectory(dep/fmt) | |
| 45 endif() | |
| 37 | 46 |
| 38 set(LIBRARIES | 47 set(LIBRARIES |
| 39 ${CURL_LIBRARIES} | |
| 40 ${Qt${QT_VERSION_MAJOR}Widgets_LIBRARIES} | 48 ${Qt${QT_VERSION_MAJOR}Widgets_LIBRARIES} |
| 49 ${Qt${QT_VERSION_MAJOR}Xml_LIBRARIES} | |
| 50 ${CURL_LINK_LIBRARIES} | |
| 41 anitomy | 51 anitomy |
| 42 animia | 52 animia |
| 43 pugixml | 53 ) |
| 44 utf8proc | 54 |
| 45 fmt | 55 if(UTF8PROC_FOUND) |
| 46 ) | 56 list(APPEND LIBRARIES ${UTF8PROC_LINK_LIBRARIES}) |
| 57 else() | |
| 58 list(APPEND LIBRARIES utf8proc) | |
| 59 endif() | |
| 60 | |
| 61 if(FMT_FOUND) | |
| 62 list(APPEND LIBRARIES ${FMT_LINK_LIBRARIES}) | |
| 63 else() | |
| 64 list(APPEND LIBRARIES fmt) | |
| 65 endif() | |
| 47 | 66 |
| 48 set(QT_MOC_FILES | 67 set(QT_MOC_FILES |
| 49 include/core/http.h | 68 include/core/http.h |
| 50 include/core/session.h | 69 include/core/session.h |
| 51 include/gui/dialog/about.h | 70 include/gui/dialog/about.h |
| 153 rc/animone.qrc | 172 rc/animone.qrc |
| 154 rc/licenses.qrc | 173 rc/licenses.qrc |
| 155 ) | 174 ) |
| 156 | 175 |
| 157 set(INCLUDE | 176 set(INCLUDE |
| 177 ${Qt${QT_VERSION_MAJOR}Widgets_INCLUDE_DIRS} | |
| 178 ${Qt${QT_VERSION_MAJOR}Xml_INCLUDE_DIRS} | |
| 179 ${CURL_INCLUDE_DIRS} | |
| 158 include | 180 include |
| 159 dep/pugixml/src | |
| 160 dep/animia/include | 181 dep/animia/include |
| 161 dep/fmt/include | |
| 162 dep/utf8proc | |
| 163 dep/anitomy | 182 dep/anitomy |
| 164 dep | 183 dep |
| 165 ) | 184 ) |
| 185 | |
| 186 if(UTF8PROC_FOUND) | |
| 187 list(APPEND INCLUDE ${UTF8PROC_INCLUDE_DIRS}) | |
| 188 else() | |
| 189 list(APPEND INCLUDE dep/utf8proc) | |
| 190 endif() | |
| 191 | |
| 192 if(FMT_FOUND) | |
| 193 list(APPEND INCLUDE ${FMT_INCLUDE_DIRS}) | |
| 194 else() | |
| 195 list(APPEND INCLUDE dep/fmt/include) | |
| 196 endif() | |
| 166 | 197 |
| 167 set(TS_FILES | 198 set(TS_FILES |
| 168 rc/locale/en_GB.ts | 199 rc/locale/en_GB.ts |
| 169 ) | 200 ) |
| 170 | 201 |
| 265 | 296 |
| 266 add_executable(minori WIN32 MACOSX_BUNDLE ${SRC_FILES}) | 297 add_executable(minori WIN32 MACOSX_BUNDLE ${SRC_FILES}) |
| 267 set_property(TARGET minori PROPERTY CXX_STANDARD 17) | 298 set_property(TARGET minori PROPERTY CXX_STANDARD 17) |
| 268 set_property(TARGET minori PROPERTY AUTORCC ON) | 299 set_property(TARGET minori PROPERTY AUTORCC ON) |
| 269 | 300 |
| 270 target_include_directories(minori PRIVATE ${Qt${QT_VERSION_MAJOR}Widgets_INCLUDE_DIRS} ${CURL_INCLUDE_DIRS} PUBLIC ${INCLUDE}) | 301 target_include_directories(minori PRIVATE ${INCLUDE}) |
| 271 target_link_libraries(minori PRIVATE ${LIBRARIES}) | 302 target_link_libraries(minori PRIVATE ${LIBRARIES}) |
| 272 target_compile_options(minori PRIVATE -Wall -Wpedantic -Wextra -Wsuggest-override -Wold-style-cast) | 303 target_compile_options(minori PRIVATE -Wall -Wpedantic -Wextra -Wsuggest-override -Wold-style-cast) |
| 273 target_compile_definitions(minori PRIVATE ${DEFINES}) | 304 target_compile_definitions(minori PRIVATE ${DEFINES}) |
| 274 | 305 |
| 275 if(APPLE) | 306 if(APPLE) |
