Mercurial > minori
annotate CMakeLists.txt @ 101:c537996cf67b
*: multitude of config changes
1. theme is now configurable from the settings menu
(but you have to restart for it to apply)
2. config is now stored in an INI file, with no method of
conversion from json (this repo is private-ish anyway)
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Fri, 03 Nov 2023 14:06:02 -0400 |
parents | c4bb49c2f6eb |
children | b315f3759c56 |
rev | line source |
---|---|
5 | 1 cmake_minimum_required(VERSION 3.16) |
17
db445ce42057
cmake: only enable OBJCXX on OS X
Paper <mrpapersonic@gmail.com>
parents:
15
diff
changeset
|
2 project(minori LANGUAGES CXX) |
db445ce42057
cmake: only enable OBJCXX on OS X
Paper <mrpapersonic@gmail.com>
parents:
15
diff
changeset
|
3 |
47
d8eb763e6661
information.cpp: add widgets to the list tab, and add an
Paper <mrpapersonic@gmail.com>
parents:
46
diff
changeset
|
4 # this should check for the target system, rather than |
d8eb763e6661
information.cpp: add widgets to the list tab, and add an
Paper <mrpapersonic@gmail.com>
parents:
46
diff
changeset
|
5 # the host system, for cross-compiling purposes |
17
db445ce42057
cmake: only enable OBJCXX on OS X
Paper <mrpapersonic@gmail.com>
parents:
15
diff
changeset
|
6 if(APPLE) |
db445ce42057
cmake: only enable OBJCXX on OS X
Paper <mrpapersonic@gmail.com>
parents:
15
diff
changeset
|
7 enable_language(OBJCXX) |
db445ce42057
cmake: only enable OBJCXX on OS X
Paper <mrpapersonic@gmail.com>
parents:
15
diff
changeset
|
8 endif() |
2 | 9 |
64 | 10 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}") |
11 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}") | |
12 set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}") | |
13 | |
14 option(BUILD_SHARED_LIBS "Build using shared libraries" ON) | |
15 option(USE_QT6 "Build with Qt 6 instead of Qt 5" OFF) | |
16 | |
9 | 17 add_subdirectory(dep/anitomy) |
64 | 18 add_subdirectory(dep/animia) |
55
d10b6c6b432e
add xml lib, we will need to use it eventually
Paper <mrpapersonic@gmail.com>
parents:
54
diff
changeset
|
19 add_subdirectory(dep/pugixml) |
9 | 20 |
12 | 21 # Fix for mingw64 |
22 list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".a") | |
23 | |
62 | 24 if(USE_QT6) |
25 find_package(Qt6 COMPONENTS Widgets REQUIRED) | |
26 else() | |
27 find_package(Qt5 COMPONENTS Widgets REQUIRED) | |
28 endif() | |
12 | 29 find_package(CURL REQUIRED) |
30 | |
31 set(LIBRARIES | |
32 ${CURL_LIBRARIES} | |
33 anitomy | |
64 | 34 animia |
12 | 35 ) |
36 | |
62 | 37 if(USE_QT6) |
38 list(APPEND LIBRARIES ${Qt6Widgets_LIBRARIES}) | |
39 else() | |
40 list(APPEND LIBRARIES ${Qt5Widgets_LIBRARIES}) | |
41 endif() | |
42 | |
12 | 43 # We need Cocoa for some OS X stuff |
44 if(APPLE) | |
45 find_library(COCOA_LIBRARY Cocoa) | |
46 list(APPEND LIBRARIES ${COCOA_LIBRARY}) | |
47 endif() | |
48 | |
2 | 49 set(SRC_FILES |
9 | 50 # Main entrypoint |
81 | 51 src/main.cc |
9 | 52 |
53 # Core files and datatype declarations... | |
81 | 54 src/core/anime.cc |
55 src/core/anime_db.cc | |
56 src/core/config.cc | |
57 src/core/date.cc | |
58 src/core/filesystem.cc | |
59 src/core/http.cc | |
60 src/core/json.cc | |
61 src/core/strings.cc | |
62 src/core/time.cc | |
9 | 63 |
46 | 64 # Main window |
81 | 65 src/gui/window.cc |
66 src/gui/dark_theme.cc | |
46 | 67 |
68 # Main window pages | |
81 | 69 src/gui/pages/anime_list.cc |
70 src/gui/pages/now_playing.cc | |
71 src/gui/pages/statistics.cc | |
72 src/gui/pages/search.cc | |
73 src/gui/pages/seasons.cc | |
74 src/gui/pages/torrents.cc | |
75 src/gui/pages/history.cc | |
54
466ac9870df9
add stub pages (to be implemented)
Paper <mrpapersonic@gmail.com>
parents:
51
diff
changeset
|
76 |
46 | 77 |
78 # Custom widgets | |
81 | 79 src/gui/widgets/anime_info.cc |
80 src/gui/widgets/poster.cc | |
81 src/gui/widgets/clickable_label.cc | |
82 src/gui/widgets/sidebar.cc | |
83 src/gui/widgets/text.cc | |
84 src/gui/widgets/optional_date.cc | |
9 | 85 |
86 # Dialogs | |
81 | 87 src/gui/dialog/about.cc |
88 src/gui/dialog/information.cc | |
89 src/gui/dialog/settings.cc | |
90 src/gui/dialog/settings/application.cc | |
91 src/gui/dialog/settings/services.cc | |
9 | 92 |
10 | 93 # Translate |
81 | 94 src/gui/translate/anime.cc |
95 src/gui/translate/anilist.cc | |
90
c4bb49c2f6eb
config: improve handling of vars
Paper <mrpapersonic@gmail.com>
parents:
82
diff
changeset
|
96 src/gui/translate/config.cc |
10 | 97 |
9 | 98 # Services (only AniList for now) |
81 | 99 src/services/services.cc |
100 src/services/anilist.cc | |
9 | 101 |
64 | 102 # Tracking |
82
8b65c417c225
*: fix old stuff, make video players and extensions constants
Paper <mrpapersonic@gmail.com>
parents:
81
diff
changeset
|
103 src/track/constants.cc |
81 | 104 src/track/media.cc |
64 | 105 |
9 | 106 # Qt resources |
2 | 107 rc/icons.qrc |
108 dep/darkstyle/darkstyle.qrc | |
109 ) | |
110 | |
9 | 111 if(APPLE) # Mac OS X (or OS X (or macOS)) |
5 | 112 list(APPEND SRC_FILES |
113 src/sys/osx/dark_theme.mm | |
114 src/sys/osx/filesystem.mm | |
115 ) | |
9 | 116 elseif(WIN32) # Windows |
81 | 117 list(APPEND SRC_FILES src/sys/win32/dark_theme.cc) |
2 | 118 endif() |
119 | |
51 | 120 add_executable(minori ${SRC_FILES}) |
63 | 121 set_property(TARGET minori PROPERTY CXX_STANDARD 11) |
11 | 122 set_property(TARGET minori PROPERTY AUTOMOC ON) |
123 set_property(TARGET minori PROPERTY AUTORCC ON) | |
2 | 124 |
101
c537996cf67b
*: multitude of config changes
Paper <mrpapersonic@gmail.com>
parents:
90
diff
changeset
|
125 target_include_directories(minori PUBLIC ${CURL_INCLUDE_DIRS} PRIVATE include dep/pugixml/src dep/animia/include dep/anitomy dep/mini) |
62 | 126 if(USE_QT6) |
127 target_include_directories(minori PUBLIC ${Qt6Widgets_INCLUDE_DIRS}) | |
128 else() | |
129 target_include_directories(minori PUBLIC ${Qt5Widgets_INCLUDE_DIRS}) | |
130 endif() | |
64 | 131 target_compile_options(minori PRIVATE -Wall -Wpedantic -Wextra -Wsuggest-override -Wold-style-cast) |
5 | 132 if(APPLE) |
11 | 133 target_compile_definitions(minori PUBLIC MACOSX) |
9 | 134 elseif(WIN32) |
11 | 135 target_compile_definitions(minori PUBLIC WIN32) |
5 | 136 endif() |
11 | 137 target_link_libraries(minori ${LIBRARIES}) |