annotate CMakeLists.txt @ 187:9613d72b097e

*: multiple performance improvements like marking `static const` when it makes sense... date: change old stupid heap-based method to a structure which should make copying the thing actually make a copy. also many performance-based changes, like removing the std::tie dependency and forward-declaring nlohmann json *: replace every instance of QString::fromUtf8 to Strings::ToQString. the main difference is that our function will always convert exactly what is in the string, while some other times it would only convert up to the nearest NUL byte
author Paper <mrpapersonic@gmail.com>
date Wed, 06 Dec 2023 13:43:54 -0500
parents 9c4645100fec
children 649786bae914
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
108
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
1 cmake_minimum_required(VERSION 3.18)
103
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
2 project(minori LANGUAGES CXX VERSION 0.1.0)
17
db445ce42057 cmake: only enable OBJCXX on OS X
Paper <mrpapersonic@gmail.com>
parents: 15
diff changeset
3
db445ce42057 cmake: only enable OBJCXX on OS X
Paper <mrpapersonic@gmail.com>
parents: 15
diff changeset
4 if(APPLE)
db445ce42057 cmake: only enable OBJCXX on OS X
Paper <mrpapersonic@gmail.com>
parents: 15
diff changeset
5 enable_language(OBJCXX)
db445ce42057 cmake: only enable OBJCXX on OS X
Paper <mrpapersonic@gmail.com>
parents: 15
diff changeset
6 endif()
2
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
7
64
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents: 63
diff changeset
8 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents: 63
diff changeset
9 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents: 63
diff changeset
10 set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents: 63
diff changeset
11
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents: 63
diff changeset
12 option(BUILD_SHARED_LIBS "Build using shared libraries" ON)
108
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
13 option(USE_QT6 "Force build with Qt 6" OFF)
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
14 option(USE_QT5 "Force build with Qt 5" OFF)
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 112
diff changeset
15 option(UPDATE_TRANSLATIONS "Update *.ts translation files" OFF)
64
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents: 63
diff changeset
16
9
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 7
diff changeset
17 add_subdirectory(dep/anitomy)
64
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents: 63
diff changeset
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
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 7
diff changeset
20
12
cf6a73a5ba1c cmake: fix for mingw
Paper <mrpapersonic@gmail.com>
parents: 11
diff changeset
21 # Fix for mingw64
cf6a73a5ba1c cmake: fix for mingw
Paper <mrpapersonic@gmail.com>
parents: 11
diff changeset
22 list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".a")
cf6a73a5ba1c cmake: fix for mingw
Paper <mrpapersonic@gmail.com>
parents: 11
diff changeset
23
110
2f3ae79adb02 cmake: fix what I tried to do in the last commit
Paper <mrpapersonic@gmail.com>
parents: 109
diff changeset
24 if(USE_QT6)
108
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
25 set(QT_VERSION_MAJOR 6)
109
79714c95a145 *: add translation files and locale files
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
26 elseif(USE_QT5)
108
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
27 set(QT_VERSION_MAJOR 5)
62
4c6dd5999b39 *: update
Paper <mrpapersonic@gmail.com>
parents: 57
diff changeset
28 else()
108
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
29 find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core)
62
4c6dd5999b39 *: update
Paper <mrpapersonic@gmail.com>
parents: 57
diff changeset
30 endif()
108
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
31
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
32 find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets LinguistTools)
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
33
12
cf6a73a5ba1c cmake: fix for mingw
Paper <mrpapersonic@gmail.com>
parents: 11
diff changeset
34 find_package(CURL REQUIRED)
cf6a73a5ba1c cmake: fix for mingw
Paper <mrpapersonic@gmail.com>
parents: 11
diff changeset
35
cf6a73a5ba1c cmake: fix for mingw
Paper <mrpapersonic@gmail.com>
parents: 11
diff changeset
36 set(LIBRARIES
cf6a73a5ba1c cmake: fix for mingw
Paper <mrpapersonic@gmail.com>
parents: 11
diff changeset
37 ${CURL_LIBRARIES}
108
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
38 ${Qt${QT_VERSION_MAJOR}Widgets_LIBRARIES}
12
cf6a73a5ba1c cmake: fix for mingw
Paper <mrpapersonic@gmail.com>
parents: 11
diff changeset
39 anitomy
64
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents: 63
diff changeset
40 animia
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 112
diff changeset
41 pugixml
12
cf6a73a5ba1c cmake: fix for mingw
Paper <mrpapersonic@gmail.com>
parents: 11
diff changeset
42 )
cf6a73a5ba1c cmake: fix for mingw
Paper <mrpapersonic@gmail.com>
parents: 11
diff changeset
43
cf6a73a5ba1c cmake: fix for mingw
Paper <mrpapersonic@gmail.com>
parents: 11
diff changeset
44 # We need Cocoa for some OS X stuff
cf6a73a5ba1c cmake: fix for mingw
Paper <mrpapersonic@gmail.com>
parents: 11
diff changeset
45 if(APPLE)
179
9c4645100fec osx: clean up includes, we do not need cocoa
Paper <mrpapersonic@gmail.com>
parents: 147
diff changeset
46 find_library(FOUNDATION_LIBRARY Foundation)
9c4645100fec osx: clean up includes, we do not need cocoa
Paper <mrpapersonic@gmail.com>
parents: 147
diff changeset
47 find_library(APPKIT_LIBRARY AppKit)
9c4645100fec osx: clean up includes, we do not need cocoa
Paper <mrpapersonic@gmail.com>
parents: 147
diff changeset
48 list(APPEND LIBRARIES ${FOUNDATION_LIBRARY} ${APPKIT_LIBRARY})
12
cf6a73a5ba1c cmake: fix for mingw
Paper <mrpapersonic@gmail.com>
parents: 11
diff changeset
49 endif()
cf6a73a5ba1c cmake: fix for mingw
Paper <mrpapersonic@gmail.com>
parents: 11
diff changeset
50
2
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
51 set(SRC_FILES
9
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 7
diff changeset
52 # Main entrypoint
81
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
53 src/main.cc
9
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 7
diff changeset
54
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 7
diff changeset
55 # Core files and datatype declarations...
81
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
56 src/core/anime.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
57 src/core/anime_db.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
58 src/core/config.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
59 src/core/date.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
60 src/core/filesystem.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
61 src/core/http.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
62 src/core/json.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
63 src/core/strings.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
64 src/core/time.cc
9
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 7
diff changeset
65
46
d0adc4aedfc8 *: update...
Paper <mrpapersonic@gmail.com>
parents: 17
diff changeset
66 # Main window
81
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
67 src/gui/window.cc
102
b315f3759c56 *: big patch
Paper <mrpapersonic@gmail.com>
parents: 101
diff changeset
68 src/gui/theme.cc
108
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
69 src/gui/locale.cc
46
d0adc4aedfc8 *: update...
Paper <mrpapersonic@gmail.com>
parents: 17
diff changeset
70
d0adc4aedfc8 *: update...
Paper <mrpapersonic@gmail.com>
parents: 17
diff changeset
71 # Main window pages
81
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
72 src/gui/pages/anime_list.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
73 src/gui/pages/now_playing.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
74 src/gui/pages/statistics.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
75 src/gui/pages/search.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
76 src/gui/pages/seasons.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
77 src/gui/pages/torrents.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
78 src/gui/pages/history.cc
54
466ac9870df9 add stub pages (to be implemented)
Paper <mrpapersonic@gmail.com>
parents: 51
diff changeset
79
46
d0adc4aedfc8 *: update...
Paper <mrpapersonic@gmail.com>
parents: 17
diff changeset
80 # Custom widgets
81
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
81 src/gui/widgets/anime_info.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
82 src/gui/widgets/poster.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
83 src/gui/widgets/clickable_label.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
84 src/gui/widgets/sidebar.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
85 src/gui/widgets/text.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
86 src/gui/widgets/optional_date.cc
9
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 7
diff changeset
87
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 7
diff changeset
88 # Dialogs
81
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
89 src/gui/dialog/about.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
90 src/gui/dialog/information.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
91 src/gui/dialog/settings.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
92 src/gui/dialog/settings/application.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
93 src/gui/dialog/settings/services.cc
116
254b1d2b7096 settings: add torrents page, make rss feed configurable
Paper <mrpapersonic@gmail.com>
parents: 114
diff changeset
94 src/gui/dialog/settings/torrents.cc
119
4eae379cb1ff settings: add a very early recognition tab for configuring players and extensions
Paper <mrpapersonic@gmail.com>
parents: 118
diff changeset
95 src/gui/dialog/settings/recognition.cc
9
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 7
diff changeset
96
10
Paper <mrpapersonic@gmail.com>
parents: 9
diff changeset
97 # Translate
81
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
98 src/gui/translate/anime.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
99 src/gui/translate/anilist.cc
90
c4bb49c2f6eb config: improve handling of vars
Paper <mrpapersonic@gmail.com>
parents: 82
diff changeset
100 src/gui/translate/config.cc
10
Paper <mrpapersonic@gmail.com>
parents: 9
diff changeset
101
9
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 7
diff changeset
102 # Services (only AniList for now)
81
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
103 src/services/services.cc
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
104 src/services/anilist.cc
9
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 7
diff changeset
105
64
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents: 63
diff changeset
106 # Tracking
82
8b65c417c225 *: fix old stuff, make video players and extensions constants
Paper <mrpapersonic@gmail.com>
parents: 81
diff changeset
107 src/track/constants.cc
81
9b2b41f83a5e boring: mass rename to cc
Paper <mrpapersonic@gmail.com>
parents: 75
diff changeset
108 src/track/media.cc
64
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents: 63
diff changeset
109
9
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 7
diff changeset
110 # Qt resources
2
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
111 rc/icons.qrc
105
6d8da6e64d61 theme: add dark stylesheet, make it actually usable
Paper <mrpapersonic@gmail.com>
parents: 103
diff changeset
112 rc/dark.qrc
138
28842a8d0c6b dep/animia: huge refactor (again...)
Paper <mrpapersonic@gmail.com>
parents: 128
diff changeset
113 rc/player_data.qrc
2
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
114 )
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
115
108
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
116 set(INCLUDE
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
117 include
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
118 dep/pugixml/src
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
119 dep/animia/include
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
120 dep/anitomy
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
121 dep
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
122 )
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
123
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
124 set(TS_FILES
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
125 rc/locale/en_GB.ts
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
126 rc/locale/es.ts
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
127 )
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
128
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
129 set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/rc/locale")
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
130
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
131 # dumb little hack to get this working on Qt5 and Qt6
110
2f3ae79adb02 cmake: fix what I tried to do in the last commit
Paper <mrpapersonic@gmail.com>
parents: 109
diff changeset
132 if(UPDATE_TRANSLATIONS)
109
79714c95a145 *: add translation files and locale files
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
133 cmake_language(CALL qt${QT_VERSION_MAJOR}_create_translation ${SRC_FILES} ${TS_FILES} OPTIONS "-I${CMAKE_CURRENT_SOURCE_DIR}/include")
79714c95a145 *: add translation files and locale files
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
134 endif()
108
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
135 cmake_language(CALL qt${QT_VERSION_MAJOR}_add_translation QM_FILES ${TS_FILES})
112
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 110
diff changeset
136 list(APPEND SRC_FILES ${QM_FILES})
108
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
137
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
138 function(qt_create_resource_file outfile)
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
139 set(QRC "<!DOCTYPE rcc><RCC version=\"1.0\">\n\t<qresource>\n")
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
140 get_filename_component(DIR ${outfile} DIRECTORY)
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
141 foreach (qm ${ARGN})
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
142 file(RELATIVE_PATH name ${DIR} ${qm})
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
143 string(APPEND QRC "\t\t<file>${name}</file>\n")
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
144 endforeach()
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
145 string(APPEND QRC "\t</qresource>\n</RCC>\n")
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
146 file(WRITE ${outfile} ${QRC})
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
147 endfunction()
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
148
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
149 qt_create_resource_file("${CMAKE_CURRENT_BINARY_DIR}/rc/locale.qrc" ${QM_FILES})
112
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 110
diff changeset
150 list(APPEND SRC_FILES "${CMAKE_CURRENT_BINARY_DIR}/rc/locale.qrc")
108
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
151
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
152 # This is also used in the Win32 rc file
103
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
153 set(RC_INFO_STRING "A lightweight anime tracker built with Qt.")
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
154
9
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 7
diff changeset
155 if(APPLE) # Mac OS X (or OS X (or macOS))
103
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
156 set(MACOSX_BUNDLE_BUNDLE_NAME "Minori")
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
157 set(MACOSX_BUNDLE_BUNDLE_VERSION ${minori_VERSION})
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
158 set(MACOSX_BUNDLE_COPYRIGHT "Copyright (C) Paper 2023")
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
159 set(MACOSX_BUNDLE_GUI_IDENTIFIER "org.eu.us.paper.minori")
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
160 set(MACOSX_BUNDLE_INFO_STRING ${RC_INFO_STRING})
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
161 set(MACOSX_BUNDLE_ICON_FILE rc/osx/favicon.icns)
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
162 set(app_icon_osx "${CMAKE_CURRENT_SOURCE_DIR}/rc/osx/favicon.icns")
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
163 set_source_files_properties(${app_icon_osx} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
164
5
51ae25154b70 Fix OS X support code
Paper <mrpapersonic@gmail.com>
parents: 4
diff changeset
165 list(APPEND SRC_FILES
51ae25154b70 Fix OS X support code
Paper <mrpapersonic@gmail.com>
parents: 4
diff changeset
166 src/sys/osx/dark_theme.mm
51ae25154b70 Fix OS X support code
Paper <mrpapersonic@gmail.com>
parents: 4
diff changeset
167 src/sys/osx/filesystem.mm
103
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
168 ${app_icon_osx}
5
51ae25154b70 Fix OS X support code
Paper <mrpapersonic@gmail.com>
parents: 4
diff changeset
169 )
9
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 7
diff changeset
170 elseif(WIN32) # Windows
103
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
171 configure_file(
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
172 ${CMAKE_CURRENT_SOURCE_DIR}/rc/win32/version.rc.in
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
173 ${CMAKE_CURRENT_BINARY_DIR}/rc/version.rc
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
174 @ONLY
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
175 )
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
176 list(APPEND SRC_FILES
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
177 src/sys/win32/dark_theme.cc
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
178 rc/win32/resource.rc
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
179 ${CMAKE_CURRENT_BINARY_DIR}/rc/version.rc
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
180 )
124
4c812fdf82a6 linux: add material for creating appimages, upload artifacts after CI build
Paper <mrpapersonic@gmail.com>
parents: 120
diff changeset
181 elseif(LINUX)
4c812fdf82a6 linux: add material for creating appimages, upload artifacts after CI build
Paper <mrpapersonic@gmail.com>
parents: 120
diff changeset
182 configure_file(
4c812fdf82a6 linux: add material for creating appimages, upload artifacts after CI build
Paper <mrpapersonic@gmail.com>
parents: 120
diff changeset
183 ${CMAKE_CURRENT_SOURCE_DIR}/rc/linux/Minori.desktop.in
4c812fdf82a6 linux: add material for creating appimages, upload artifacts after CI build
Paper <mrpapersonic@gmail.com>
parents: 120
diff changeset
184 ${CMAKE_CURRENT_BINARY_DIR}/rc/Minori.desktop
4c812fdf82a6 linux: add material for creating appimages, upload artifacts after CI build
Paper <mrpapersonic@gmail.com>
parents: 120
diff changeset
185 @ONLY
4c812fdf82a6 linux: add material for creating appimages, upload artifacts after CI build
Paper <mrpapersonic@gmail.com>
parents: 120
diff changeset
186 )
4c812fdf82a6 linux: add material for creating appimages, upload artifacts after CI build
Paper <mrpapersonic@gmail.com>
parents: 120
diff changeset
187 configure_file(
4c812fdf82a6 linux: add material for creating appimages, upload artifacts after CI build
Paper <mrpapersonic@gmail.com>
parents: 120
diff changeset
188 ${CMAKE_CURRENT_SOURCE_DIR}/rc/favicon256.png
4c812fdf82a6 linux: add material for creating appimages, upload artifacts after CI build
Paper <mrpapersonic@gmail.com>
parents: 120
diff changeset
189 ${CMAKE_CURRENT_BINARY_DIR}/rc/Minori.png
4c812fdf82a6 linux: add material for creating appimages, upload artifacts after CI build
Paper <mrpapersonic@gmail.com>
parents: 120
diff changeset
190 COPYONLY
4c812fdf82a6 linux: add material for creating appimages, upload artifacts after CI build
Paper <mrpapersonic@gmail.com>
parents: 120
diff changeset
191 )
2
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
192 endif()
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
193
103
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
194 add_executable(minori WIN32 MACOSX_BUNDLE ${SRC_FILES})
128
859d2a957940 cmake: set CXX_STANDARD to 17
Paper <mrpapersonic@gmail.com>
parents: 124
diff changeset
195 set_property(TARGET minori PROPERTY CXX_STANDARD 17)
11
fc1bf97c528b *: use C++11 standard
Paper <mrpapersonic@gmail.com>
parents: 10
diff changeset
196 set_property(TARGET minori PROPERTY AUTOMOC ON)
fc1bf97c528b *: use C++11 standard
Paper <mrpapersonic@gmail.com>
parents: 10
diff changeset
197 set_property(TARGET minori PROPERTY AUTORCC ON)
2
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
198
108
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
199 target_include_directories(minori PUBLIC ${CURL_INCLUDE_DIRS} PRIVATE ${INCLUDE})
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
200 target_include_directories(minori PUBLIC ${Qt${QT_VERSION_MAJOR}Widgets_INCLUDE_DIRS})
64
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents: 63
diff changeset
201 target_compile_options(minori PRIVATE -Wall -Wpedantic -Wextra -Wsuggest-override -Wold-style-cast)
5
51ae25154b70 Fix OS X support code
Paper <mrpapersonic@gmail.com>
parents: 4
diff changeset
202 if(APPLE)
11
fc1bf97c528b *: use C++11 standard
Paper <mrpapersonic@gmail.com>
parents: 10
diff changeset
203 target_compile_definitions(minori PUBLIC MACOSX)
9
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 7
diff changeset
204 elseif(WIN32)
11
fc1bf97c528b *: use C++11 standard
Paper <mrpapersonic@gmail.com>
parents: 10
diff changeset
205 target_compile_definitions(minori PUBLIC WIN32)
5
51ae25154b70 Fix OS X support code
Paper <mrpapersonic@gmail.com>
parents: 4
diff changeset
206 endif()
11
fc1bf97c528b *: use C++11 standard
Paper <mrpapersonic@gmail.com>
parents: 10
diff changeset
207 target_link_libraries(minori ${LIBRARIES})
138
28842a8d0c6b dep/animia: huge refactor (again...)
Paper <mrpapersonic@gmail.com>
parents: 128
diff changeset
208
28842a8d0c6b dep/animia: huge refactor (again...)
Paper <mrpapersonic@gmail.com>
parents: 128
diff changeset
209 if(WIN32)
28842a8d0c6b dep/animia: huge refactor (again...)
Paper <mrpapersonic@gmail.com>
parents: 128
diff changeset
210 install(FILES $<TARGET_RUNTIME_DLLS:minori> TYPE BIN)
28842a8d0c6b dep/animia: huge refactor (again...)
Paper <mrpapersonic@gmail.com>
parents: 128
diff changeset
211 endif()