Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 1 | CMAKE_MINIMUM_REQUIRED(VERSION 2.8) |
| 2 | |
| 3 | IF(POLICY CMP0022) |
| 4 | CMAKE_POLICY(SET CMP0022 NEW) |
| 5 | ENDIF(POLICY CMP0022) |
| 6 | |
Alexandre Lision | b47b4c8 | 2015-01-20 11:29:03 -0500 | [diff] [blame] | 7 | SET(PROJ_NAME Ring) |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 8 | |
| 9 | # To build nighlies we need to update RING_VERSION with an optional command line arg |
| 10 | IF("${RING_VERSION}" STREQUAL "") |
Guillaume Roguez | 812d550 | 2016-03-16 22:46:29 -0400 | [diff] [blame] | 11 | SET(RING_VERSION "1.0.0") |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 12 | ENDIF("${RING_VERSION}" STREQUAL "") |
| 13 | |
Anthony Léonard | f79fd7c | 2018-01-31 13:28:46 -0500 | [diff] [blame] | 14 | SET(RING_VERSION_NAME "In varietate concordia") |
Alexandre Lision | bb30613 | 2015-03-27 11:30:02 -0400 | [diff] [blame] | 15 | |
Alexandre Lision | 71b4151 | 2016-05-02 13:53:44 -0400 | [diff] [blame] | 16 | MESSAGE("Building Ring version - " ${RING_VERSION_NAME} " " ${RING_VERSION}) |
Anthony Léonard | f79fd7c | 2018-01-31 13:28:46 -0500 | [diff] [blame] | 17 | SET(PROJ_COPYRIGHT " © 2015-2018 Savoir-faire Linux \n GPLv3 https://www.gnu.org/copyleft/gpl.html") |
Alexandre Lision | b47b4c8 | 2015-01-20 11:29:03 -0500 | [diff] [blame] | 18 | |
Anthony Léonard | 643a390 | 2017-12-19 15:40:17 -0500 | [diff] [blame] | 19 | SET(CMAKE_CXX_STANDARD 14) |
| 20 | |
| 21 | ADD_DEFINITIONS("-stdlib=libc++ -fobjc-arc") |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 22 | |
Alexandre Lision | b47b4c8 | 2015-01-20 11:29:03 -0500 | [diff] [blame] | 23 | PROJECT(${PROJ_NAME}) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 24 | |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 25 | FIND_PACKAGE(Qt5Core REQUIRED) |
Alexandre Lision | 3b0bd33 | 2015-03-15 18:43:07 -0400 | [diff] [blame] | 26 | FIND_PACKAGE(Qt5MacExtras REQUIRED) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 27 | FIND_PACKAGE(Qt5Widgets REQUIRED) |
Anthony Léonard | 786d418 | 2017-11-08 14:26:31 -0500 | [diff] [blame] | 28 | FIND_PACKAGE(Qt5Sql REQUIRED) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 29 | FIND_PACKAGE(LibRingClient REQUIRED) |
Anthony Léonard | 14e7bf3 | 2017-06-08 08:13:16 -0400 | [diff] [blame] | 30 | FIND_PACKAGE(OpenGL REQUIRED) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 31 | |
Alexandre Lision | fd0d6c8 | 2016-03-29 17:06:54 -0400 | [diff] [blame] | 32 | EXECUTE_PROCESS(COMMAND git submodule update --init |
| 33 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) |
| 34 | |
| 35 | INCLUDE(ExternalProject) |
| 36 | ExternalProject_Add(libqrencode |
| 37 | GIT_SUBMODULES libqrencode |
| 38 | SOURCE_DIR ${CMAKE_SOURCE_DIR}/libqrencode |
| 39 | BINARY_DIR ${CMAKE_SOURCE_DIR}/libqrencode |
| 40 | INSTALL_DIR ${CMAKE_SOURCE_DIR}/libqrencode |
| 41 | CONFIGURE_COMMAND |
| 42 | #hack to fix incomplete config.h on first run |
| 43 | COMMAND ./autogen.sh |
| 44 | COMMAND ./autogen.sh && ./configure --prefix=${CMAKE_SOURCE_DIR}/libqrencode |
| 45 | BUILD_COMMAND make |
| 46 | INSTALL_COMMAND make install) |
| 47 | |
| 48 | INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/libqrencode/include) |
| 49 | LINK_DIRECTORIES(${CMAKE_SOURCE_DIR}/libqrencode/lib) |
| 50 | |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 51 | IF(NOT (${ENABLE_SPARKLE} MATCHES false)) |
| 52 | MESSAGE("Sparkle auto-update enabled") |
| 53 | |
| 54 | # find_library searches in /Library/Frameworks by default |
| 55 | # We add an hint to our custom location |
| 56 | |
| 57 | FIND_LIBRARY(SPARKLE_FRAMEWORK |
| 58 | NAMES Sparkle |
| 59 | HINTS ${CMAKE_CURRENT_SOURCE_DIR}/sparkle) |
| 60 | IF(EXISTS ${SPARKLE_FRAMEWORK}) |
| 61 | SET(ENABLE_SPARKLE 1 CACHE BOOLEAN "Enable Sparkle") |
| 62 | ADD_DEFINITIONS(-DENABLE_SPARKLE=1) |
| 63 | MESSAGE("Sparkle is here:" ${SPARKLE_FRAMEWORK}) |
| 64 | FIND_PATH(SPARKLE_INCLUDE_DIR Sparkle.h HINTS ${SPARKLE_FRAMEWORK}/Headers) |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 65 | # we need to copy the public key to check the updates |
| 66 | SET(PUBLIC_KEY_PATH "${CMAKE_CURRENT_SOURCE_DIR}/sparkle/dsa_pub.pem") |
| 67 | IF(EXISTS ${PUBLIC_KEY_PATH}) |
| 68 | MESSAGE(STATUS "Looking for Public Key - found") |
| 69 | SET_SOURCE_FILES_PROPERTIES(${PUBLIC_KEY_PATH} PROPERTIES MACOSX_PACKAGE_LOCATION Resources) |
| 70 | SET(PUBLIC_KEY ${PUBLIC_KEY_PATH}) |
| 71 | ELSE(EXISTS ${PUBLIC_KEY_PATH}) |
| 72 | MESSAGE(WARNING "Looking for Public Key - not found") |
| 73 | MESSAGE(WARNING "${PUBLIC_KEY_PATH} not found Sparkle Framework will NOT work and may even prevent application from launching. Please consider disabling Sparkle Framework, creating a keypair for testing purposes") |
| 74 | ENDIF(EXISTS ${PUBLIC_KEY_PATH}) |
| 75 | ELSE() |
Alexandre Lision | fba8f79 | 2016-03-08 13:45:51 -0500 | [diff] [blame] | 76 | MESSAGE(WARNING "Sparkle framework not found, disabling it... to build it see README") |
| 77 | SET(ENABLE_SPARKLE 0 CACHE BOOLEAN "Enable Sparkle") |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 78 | ENDIF(EXISTS ${SPARKLE_FRAMEWORK}) |
| 79 | ENDIF(NOT (${ENABLE_SPARKLE} MATCHES false)) |
| 80 | |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 81 | INCLUDE_DIRECTORIES(SYSTEM ${Qt5Core_INCLUDE_DIRS}) |
Alexandre Lision | 3b0bd33 | 2015-03-15 18:43:07 -0400 | [diff] [blame] | 82 | INCLUDE_DIRECTORIES(SYSTEM ${Qt5MacExtras_INCLUDE_DIRS}) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 83 | INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) |
| 84 | INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}) |
| 85 | INCLUDE_DIRECTORIES(${LIB_RING_CLIENT_INCLUDE_DIR}) |
Anthony Léonard | 14e7bf3 | 2017-06-08 08:13:16 -0400 | [diff] [blame] | 86 | INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 87 | |
Alexandre Lision | 04946de | 2016-03-08 09:31:38 -0500 | [diff] [blame] | 88 | SET(CMAKE_MACOSX_RPATH ON) |
| 89 | SET(CMAKE_SKIP_BUILD_RPATH FALSE) |
| 90 | SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) |
| 91 | SET(CMAKE_INSTALL_RPATH "${CMAKE_CURRENT_SOURCE_DIR}") |
| 92 | SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) |
| 93 | |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 94 | MESSAGE("LRC is here:" ${LIB_RING_CLIENT_INCLUDE_DIR}) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 95 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w") |
| 96 | |
| 97 | #Files to compile |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 98 | SET(ringclient_CONTROLLERS |
Alexandre Lision | 7d2a48b | 2015-03-30 14:59:58 -0400 | [diff] [blame] | 99 | src/QNSTreeController.mm |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 100 | src/QNSTreeController.h |
Alexandre Lision | 7d2a48b | 2015-03-30 14:59:58 -0400 | [diff] [blame] | 101 | src/CurrentCallVC.mm |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 102 | src/CurrentCallVC.h |
Alexandre Lision | 7d2a48b | 2015-03-30 14:59:58 -0400 | [diff] [blame] | 103 | src/GeneralPrefsVC.mm |
| 104 | src/RingWizardWC.mm |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 105 | src/RingWizardWC.h |
| 106 | src/RingWindowController.mm |
| 107 | src/RingWindowController.h |
Alexandre Lision | bfa68f6 | 2015-09-10 08:38:42 -0400 | [diff] [blame] | 108 | src/PreferencesWC.mm |
| 109 | src/PreferencesWC.h |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 110 | src/AccGeneralVC.mm |
| 111 | src/AccGeneralVC.h |
Alexandre Lision | e4d61cb | 2016-02-10 09:26:24 -0500 | [diff] [blame] | 112 | src/AccMediaVC.mm |
| 113 | src/AccMediaVC.h |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 114 | src/AccRingVC.mm |
| 115 | src/AccRingVC.h |
| 116 | src/AccAdvancedVC.mm |
| 117 | src/AccAdvancedVC.h |
| 118 | src/AccSecurityVC.mm |
| 119 | src/AccSecurityVC.h |
Alexandre Lision | 4de68ce | 2015-04-24 18:22:49 -0400 | [diff] [blame] | 120 | src/CertificateWC.mm |
| 121 | src/CertificateWC.h |
Alexandre Lision | 886cde1 | 2016-10-25 17:39:49 -0400 | [diff] [blame] | 122 | src/BackupAccountWC.mm |
| 123 | src/BackupAccountWC.h |
| 124 | src/RestoreAccountWC.mm |
| 125 | src/RestoreAccountWC.h |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 126 | src/AudioPrefsVC.mm |
| 127 | src/AudioPrefsVC.h |
| 128 | src/AccountsVC.mm |
| 129 | src/AccountsVC.h |
| 130 | src/VideoPrefsVC.mm |
| 131 | src/VideoPrefsVC.h |
| 132 | src/GeneralPrefsVC.h |
Alexandre Lision | 58cab67 | 2015-06-09 15:25:40 -0400 | [diff] [blame] | 133 | src/ChatVC.mm |
Alexandre Lision | 2db8f47 | 2015-07-22 15:05:46 -0400 | [diff] [blame] | 134 | src/ChatVC.h |
| 135 | src/PersonLinkerVC.mm |
Alexandre Lision | 4dfcafc | 2015-08-20 12:43:23 -0400 | [diff] [blame] | 136 | src/PersonLinkerVC.h |
| 137 | src/SmartViewVC.mm |
Alexandre Lision | 883719f | 2015-10-22 17:37:45 -0400 | [diff] [blame] | 138 | src/SmartViewVC.h |
| 139 | src/BrokerVC.mm |
Alexandre Lision | 0f66bd3 | 2016-01-18 11:30:45 -0500 | [diff] [blame] | 140 | src/BrokerVC.h |
| 141 | src/ConversationVC.mm |
Loïc Siret | 31d5cc0 | 2016-09-08 14:38:24 -0400 | [diff] [blame] | 142 | src/ConversationVC.h |
| 143 | src/LoadingWCDelegate.h |
| 144 | src/AbstractLoadingWC.h |
| 145 | src/AbstractLoadingWC.mm |
Alexandre Lision | 45f1f54 | 2016-08-25 15:16:17 -0400 | [diff] [blame] | 146 | src/AccDevicesVC.mm |
| 147 | src/AccDevicesVC.h |
| 148 | src/ExportPasswordWC.mm |
| 149 | src/ExportPasswordWC.h |
Alexandre Lision | 624b1a8 | 2016-09-11 19:29:01 -0400 | [diff] [blame] | 150 | src/MigrateRingAccountsWC.mm |
| 151 | src/MigrateRingAccountsWC.h |
Loïc Siret | fcb4ca6 | 2016-09-21 17:12:09 -0400 | [diff] [blame] | 152 | src/RingWizardChooseVC.h |
| 153 | src/RingWizardChooseVC.mm |
| 154 | src/RingWizardLinkAccountVC.h |
| 155 | src/RingWizardLinkAccountVC.mm |
| 156 | src/RingWizardNewAccountVC.mm |
| 157 | src/RingWizardNewAccountVC.h |
Alexandre Lision | 6200531 | 2016-01-28 15:55:16 -0500 | [diff] [blame] | 158 | src/DialpadWC.mm |
| 159 | src/DialpadWC.h |
Alexandre Lision | 34079c2 | 2016-10-31 16:14:02 -0400 | [diff] [blame] | 160 | src/RegisterNameWC.mm |
| 161 | src/RegisterNameWC.h |
Kateryna Kostiuk | 13b7688 | 2017-03-30 09:18:44 -0400 | [diff] [blame] | 162 | src/ChooseAccountVC.h |
| 163 | src/ChooseAccountVC.mm |
Kateryna Kostiuk | db1f3a1 | 2017-04-24 12:08:28 -0400 | [diff] [blame] | 164 | src/ContactRequestsListVC.h |
| 165 | src/ContactRequestsListVC.mm |
| 166 | src/ContactRequestVC.h |
| 167 | src/ContactRequestVC.mm |
Kateryna Kostiuk | 77e9390 | 2017-05-30 16:38:11 -0400 | [diff] [blame] | 168 | src/AccBannedContactsVC.h |
| 169 | src/AccBannedContactsVC.mm |
Kateryna Kostiuk | 58276bc | 2017-06-07 08:50:48 -0400 | [diff] [blame] | 170 | src/MessagesVC.h |
| 171 | src/MessagesVC.mm |
Anthony Léonard | 1f70f72 | 2017-10-02 10:53:32 -0400 | [diff] [blame] | 172 | src/PasswordChangeWC.h |
| 173 | src/PasswordChangeWC.mm |
Loïc Siret | 31d5cc0 | 2016-09-08 14:38:24 -0400 | [diff] [blame] | 174 | ) |
Alexandre Lision | 74dd47f | 2015-04-14 13:47:42 -0400 | [diff] [blame] | 175 | |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 176 | SET(ringclient_BACKENDS |
Alexandre Lision | 3b0bd33 | 2015-03-15 18:43:07 -0400 | [diff] [blame] | 177 | src/backends/AddressBookBackend.mm |
Alexandre Lision | 6664343 | 2015-06-04 11:59:36 -0400 | [diff] [blame] | 178 | src/backends/AddressBookBackend.h) |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 179 | |
| 180 | SET(ringclient_VIEWS |
| 181 | src/views/CallView.mm |
| 182 | src/views/CallView.h |
Anthony Léonard | 14e7bf3 | 2017-06-08 08:13:16 -0400 | [diff] [blame] | 183 | src/views/CallLayer.mm |
| 184 | src/views/CallLayer.h |
Alexandre Lision | f47a256 | 2015-06-15 15:48:29 -0400 | [diff] [blame] | 185 | src/views/ITProgressIndicator.mm |
| 186 | src/views/ITProgressIndicator.h |
Alexandre Lision | 2db8f47 | 2015-07-22 15:05:46 -0400 | [diff] [blame] | 187 | src/views/RingOutlineView.mm |
Alexandre Lision | 7f8351b | 2015-08-20 11:43:37 -0400 | [diff] [blame] | 188 | src/views/RingOutlineView.h |
Olivier Soldano | d431155 | 2017-11-20 15:09:53 -0500 | [diff] [blame] | 189 | src/views/RingTableView.mm |
| 190 | src/views/RingTableView.h |
Alexandre Lision | 7f8351b | 2015-08-20 11:43:37 -0400 | [diff] [blame] | 191 | src/views/RingIDField.mm |
Alexandre Lision | 4e280d6 | 2015-09-09 15:56:30 -0400 | [diff] [blame] | 192 | src/views/RingIDField.h |
| 193 | src/views/HoverTableRowView.mm |
| 194 | src/views/HoverTableRowView.h |
| 195 | src/views/NSColor+RingTheme.mm |
| 196 | src/views/NSColor+RingTheme.h |
Alexandre Lision | 261f1b9 | 2016-04-04 12:35:34 -0400 | [diff] [blame] | 197 | src/views/NSImage+Extensions.mm |
| 198 | src/views/NSImage+Extensions.h |
Alexandre Lision | 4e280d6 | 2015-09-09 15:56:30 -0400 | [diff] [blame] | 199 | src/views/ContextualTableCellView.mm |
Alexandre Lision | 6da08a8 | 2015-09-24 17:09:24 -0400 | [diff] [blame] | 200 | src/views/ContextualTableCellView.h |
| 201 | src/views/IconButton.h |
Alexandre Lision | 0f66bd3 | 2016-01-18 11:30:45 -0500 | [diff] [blame] | 202 | src/views/IconButton.mm |
Alexandre Lision | e77f6f9 | 2016-04-17 23:39:39 -0400 | [diff] [blame] | 203 | src/views/BackgroundView.h |
| 204 | src/views/BackgroundView.mm |
Alexandre Lision | 0f66bd3 | 2016-01-18 11:30:45 -0500 | [diff] [blame] | 205 | src/views/IMTableCellView.h |
Kateryna Kostiuk | 13b7688 | 2017-03-30 09:18:44 -0400 | [diff] [blame] | 206 | src/views/IMTableCellView.mm |
| 207 | src/views/AccountMenuItemView.h |
Kateryna Kostiuk | a9e5c71 | 2017-05-15 16:46:16 -0400 | [diff] [blame] | 208 | src/views/AccountMenuItemView.mm |
Kateryna Kostiuk | d9039e9 | 2017-05-24 14:29:54 -0400 | [diff] [blame] | 209 | src/views/RoundedTextField.h |
Kateryna Kostiuk | 58276bc | 2017-06-07 08:50:48 -0400 | [diff] [blame] | 210 | src/views/RoundedTextField.mm |
| 211 | src/views/MessageBubbleView.h |
| 212 | src/views/MessageBubbleView.mm |
Kateryna Kostiuk | 64d025a | 2017-07-14 11:30:44 -0400 | [diff] [blame] | 213 | src/views/SendMessageCell.h |
| 214 | src/views/SendMessageCell.mm |
| 215 | src/views/SendMessagePanel.h |
| 216 | src/views/SendMessagePanel.mm |
Kateryna Kostiuk | 958cd07 | 2017-07-14 15:56:35 -0400 | [diff] [blame] | 217 | src/views/HoverButton.h |
| 218 | src/views/HoverButton.mm |
Kateryna Kostiuk | 58276bc | 2017-06-07 08:50:48 -0400 | [diff] [blame] | 219 | ) |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 220 | |
| 221 | SET(ringclient_OTHERS |
| 222 | src/main.mm |
| 223 | src/AppDelegate.mm |
| 224 | src/AppDelegate.h |
Alexandre Lision | 9fe374b | 2016-01-06 10:17:31 -0500 | [diff] [blame] | 225 | src/Constants.h |
Alexandre Lision | 83180df | 2016-01-18 11:32:20 -0500 | [diff] [blame] | 226 | src/INDSequentialTextSelectionManager.mm |
| 227 | src/INDSequentialTextSelectionManager.h |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 228 | src/delegates/ImageManipulationDelegate.mm |
Kateryna Kostiuk | a16c986 | 2017-05-03 13:30:14 -0400 | [diff] [blame] | 229 | src/delegates/ImageManipulationDelegate.h |
| 230 | src/AccountSelectionManager.h |
Olivier Soldano | d431155 | 2017-11-20 15:09:53 -0500 | [diff] [blame] | 231 | src/AccountSelectionManager.mm |
| 232 | src/utils.h) |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 233 | |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 234 | |
Alexandre Lision | f241c6a | 2015-03-24 14:53:47 -0400 | [diff] [blame] | 235 | SET(ringclient_XIBS |
| 236 | MainMenu |
| 237 | RingWindow |
| 238 | CurrentCall |
| 239 | GeneralPrefs |
| 240 | Accounts |
| 241 | AccGeneral |
Alexandre Lision | e4d61cb | 2016-02-10 09:26:24 -0500 | [diff] [blame] | 242 | AccMedia |
Alexandre Lision | f241c6a | 2015-03-24 14:53:47 -0400 | [diff] [blame] | 243 | AccRing |
| 244 | AccAdvanced |
| 245 | AccSecurity |
| 246 | AudioPrefs |
| 247 | VideoPrefs |
Alexandre Lision | bfa68f6 | 2015-09-10 08:38:42 -0400 | [diff] [blame] | 248 | PreferencesWindow |
Alexandre Lision | 4de68ce | 2015-04-24 18:22:49 -0400 | [diff] [blame] | 249 | RingWizard |
Alexandre Lision | 2db8f47 | 2015-07-22 15:05:46 -0400 | [diff] [blame] | 250 | CertificateWindow |
Alexandre Lision | 886cde1 | 2016-10-25 17:39:49 -0400 | [diff] [blame] | 251 | BackupAccountWindow |
| 252 | RestoreAccountWindow |
Alexandre Lision | 45f1f54 | 2016-08-25 15:16:17 -0400 | [diff] [blame] | 253 | ExportPasswordWindow |
Alexandre Lision | 624b1a8 | 2016-09-11 19:29:01 -0400 | [diff] [blame] | 254 | MigrateRingAccountsWindow |
Alexandre Lision | 883719f | 2015-10-22 17:37:45 -0400 | [diff] [blame] | 255 | PersonLinker |
Alexandre Lision | 0f66bd3 | 2016-01-18 11:30:45 -0500 | [diff] [blame] | 256 | Broker |
Alexandre Lision | 45f1f54 | 2016-08-25 15:16:17 -0400 | [diff] [blame] | 257 | Conversation |
Loïc Siret | fcb4ca6 | 2016-09-21 17:12:09 -0400 | [diff] [blame] | 258 | AccDevices |
| 259 | RingWizardLinkAccount |
| 260 | RingWizardNewAccount |
Alexandre Lision | 6200531 | 2016-01-28 15:55:16 -0500 | [diff] [blame] | 261 | RingWizardChoose |
| 262 | Dialpad |
Alexandre Lision | 34079c2 | 2016-10-31 16:14:02 -0400 | [diff] [blame] | 263 | RegisterNameWindow |
Kateryna Kostiuk | 13b7688 | 2017-03-30 09:18:44 -0400 | [diff] [blame] | 264 | ChooseAccount |
| 265 | AccountMenuItemView |
Kateryna Kostiuk | db1f3a1 | 2017-04-24 12:08:28 -0400 | [diff] [blame] | 266 | ContactRequestList |
| 267 | ContactRequest |
Kateryna Kostiuk | 77e9390 | 2017-05-30 16:38:11 -0400 | [diff] [blame] | 268 | AccBannedContacts |
Anthony Léonard | 1f70f72 | 2017-10-02 10:53:32 -0400 | [diff] [blame] | 269 | PasswordChange |
Alexandre Lision | 6200531 | 2016-01-28 15:55:16 -0500 | [diff] [blame] | 270 | ) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 271 | |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 272 | # Icons |
Alexandre Lision | 5db3e4e | 2015-03-24 17:25:55 -0400 | [diff] [blame] | 273 | # This part tells CMake where to find and install the file itself |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 274 | SET(myApp_ICON ${CMAKE_CURRENT_SOURCE_DIR}/data/appicon.icns) |
| 275 | SET_SOURCE_FILES_PROPERTIES(${myApp_ICON} PROPERTIES |
Alexandre Lision | 3278ffe | 2016-02-03 14:45:22 -0500 | [diff] [blame] | 276 | MACOSX_PACKAGE_LOCATION Resources) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 277 | |
Alexandre Lision | 7f8351b | 2015-08-20 11:43:37 -0400 | [diff] [blame] | 278 | SET(ring_ICONS |
| 279 | ${CMAKE_CURRENT_SOURCE_DIR}/data/symbol_name.png |
Alexandre Lision | e77f6f9 | 2016-04-17 23:39:39 -0400 | [diff] [blame] | 280 | ${CMAKE_CURRENT_SOURCE_DIR}/data/background-light.png |
| 281 | ${CMAKE_CURRENT_SOURCE_DIR}/data/background-dark.png |
Alexandre Lision | 3460703 | 2016-02-08 16:16:49 -0500 | [diff] [blame] | 282 | ${CMAKE_CURRENT_SOURCE_DIR}/data/symbol_blue.png |
Alexandre Lision | 6da08a8 | 2015-09-24 17:09:24 -0400 | [diff] [blame] | 283 | ${CMAKE_CURRENT_SOURCE_DIR}/data/background_tile.png |
Alexandre Lision | 6200531 | 2016-01-28 15:55:16 -0500 | [diff] [blame] | 284 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_more.png |
| 285 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_dialpad.png |
Alexandre Lision | 7f8351b | 2015-08-20 11:43:37 -0400 | [diff] [blame] | 286 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_accept.png |
Alexandre Lision | 0f66bd3 | 2016-01-18 11:30:45 -0500 | [diff] [blame] | 287 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_arrow_back.png |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 288 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_call.png |
| 289 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_cancel.png |
Alexandre Lision | d18fa27 | 2015-06-15 11:18:03 -0400 | [diff] [blame] | 290 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_hangup.png |
| 291 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_hold.png |
| 292 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_holdoff.png |
| 293 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_mute_video.png |
| 294 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_mute_audio.png |
| 295 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_chat.png |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 296 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_search.png |
Alexandre Lision | f23ec5a | 2015-07-16 11:24:06 -0400 | [diff] [blame] | 297 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_quality.png |
Alexandre Lision | 266fca0 | 2015-09-28 14:47:05 -0400 | [diff] [blame] | 298 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_record.png |
Alexandre Lision | 4dfcafc | 2015-08-20 12:43:23 -0400 | [diff] [blame] | 299 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_call_received.png |
| 300 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_call_missed.png |
| 301 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_call_made.png |
Alexandre Lision | 883719f | 2015-10-22 17:37:45 -0400 | [diff] [blame] | 302 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_transfer.png |
Alexandre Lision | 89edc6a | 2015-11-09 11:30:47 -0500 | [diff] [blame] | 303 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_add_participant.png |
| 304 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_merge_calls.png |
Alexandre Lision | d5229f3 | 2015-11-16 11:17:41 -0500 | [diff] [blame] | 305 | ${CMAKE_CURRENT_SOURCE_DIR}/data/default_user_icon.png |
Alexandre Lision | 0f66bd3 | 2016-01-18 11:30:45 -0500 | [diff] [blame] | 306 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_send.png |
Alexandre Lision | 4a7b95e | 2015-02-20 10:06:43 -0500 | [diff] [blame] | 307 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/audio.png |
Alexandre Lision | 2db8f47 | 2015-07-22 15:05:46 -0400 | [diff] [blame] | 308 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_person_add.png |
Alexandre Lision | 4dfcafc | 2015-08-20 12:43:23 -0400 | [diff] [blame] | 309 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_persons.png |
| 310 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_history.png |
Alexandre Lision | 4a7b95e | 2015-02-20 10:06:43 -0500 | [diff] [blame] | 311 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/general.png |
| 312 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/video.png |
Alexandre Lision | f46768f | 2016-04-18 09:56:26 -0400 | [diff] [blame] | 313 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_delete.png |
Alexandre Lision | fd0d6c8 | 2016-03-29 17:06:54 -0400 | [diff] [blame] | 314 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/qrcode.png |
Kateryna Kostiuk | db1f3a1 | 2017-04-24 12:08:28 -0400 | [diff] [blame] | 315 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_video.png |
Anthony Léonard | e7d62ed | 2018-01-25 10:51:47 -0500 | [diff] [blame] | 316 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/pending_contact_request.png |
| 317 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_file_upload.png) |
Alexandre Lision | 5db3e4e | 2015-03-24 17:25:55 -0400 | [diff] [blame] | 318 | |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 319 | SET_SOURCE_FILES_PROPERTIES(${ring_ICONS} PROPERTIES |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 320 | MACOSX_PACKAGE_LOCATION Resources) |
Alexandre Lision | bb30613 | 2015-03-27 11:30:02 -0400 | [diff] [blame] | 321 | SET_SOURCE_FILES_PROPERTIES(Credits.rtf PROPERTIES |
| 322 | MACOSX_PACKAGE_LOCATION Resources) |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 323 | |
Alexandre Lision | 88ee6cc | 2016-05-05 14:32:43 -0400 | [diff] [blame] | 324 | # package ringtones |
| 325 | IF(NOT IS_DIRECTORY ${RINGTONE_DIR}) |
| 326 | MESSAGE("No ringtone folder provided, use RINGTONE_DIR to specify one") |
| 327 | SET(RINGTONE_DIR ${CMAKE_INSTALL_PREFIX}/share/ring/ringtones) |
| 328 | MESSAGE("Trying ${RINGTONE_DIR}") |
| 329 | ENDIF() |
Alexandre Lision | 3278ffe | 2016-02-03 14:45:22 -0500 | [diff] [blame] | 330 | |
Alexandre Lision | 88ee6cc | 2016-05-05 14:32:43 -0400 | [diff] [blame] | 331 | IF(IS_DIRECTORY ${RINGTONE_DIR}) |
| 332 | FILE(GLOB RINGTONE_LIST ${RINGTONE_DIR}/*) |
| 333 | FOREACH(RINGTONE ${RINGTONE_LIST}) |
| 334 | MESSAGE("Adding ringtone ${RINGTONE}") |
| 335 | GET_FILENAME_COMPONENT(FILE_PATH ${RINGTONE} ABSOLUTE) |
| 336 | SET(ring_RINGTONES ${ring_RINGTONES} ${FILE_PATH}) |
| 337 | ENDFOREACH() |
| 338 | ELSE() |
| 339 | MESSAGE("${RINGTONE_DIR} does not exist or is not readable") |
| 340 | ENDIF() |
Alexandre Lision | 3278ffe | 2016-02-03 14:45:22 -0500 | [diff] [blame] | 341 | |
| 342 | SET_SOURCE_FILES_PROPERTIES(${ring_RINGTONES} |
| 343 | PROPERTIES MACOSX_PACKAGE_LOCATION Resources/ringtones) |
Alexandre Lision | 46dc0c3 | 2015-09-15 10:22:59 -0400 | [diff] [blame] | 344 | |
| 345 | # Check which translations are found for LRC |
| 346 | SET(LRC_TRANSLATIONS_PATH ${CMAKE_INSTALL_PREFIX}/share/libringclient/translations) |
| 347 | FILE(GLOB QM_LIST ${LRC_TRANSLATIONS_PATH}/*.qm) |
| 348 | |
| 349 | FOREACH(QM_FILE ${QM_LIST}) |
| 350 | # Extract country code from filename |
| 351 | GET_FILENAME_COMPONENT(FILENAME ${QM_FILE} NAME_WE) |
| 352 | STRING(REGEX REPLACE "^lrc_" "" LANG ${FILENAME}) |
| 353 | |
| 354 | SET_SOURCE_FILES_PROPERTIES(${LRC_TRANSLATIONS_PATH}/lrc_${LANG}.qm |
| 355 | PROPERTIES MACOSX_PACKAGE_LOCATION Resources/QtTranslations) |
| 356 | SET(LOCALIZED_${LANG} ${LOCALIZED_${LANG}} |
| 357 | "${LRC_TRANSLATIONS_PATH}/lrc_${LANG}.qm") |
Alexandre Lision | 922380d | 2015-09-15 10:25:17 -0400 | [diff] [blame] | 358 | ENDFOREACH() |
| 359 | |
| 360 | # Check which translations are found for the client |
| 361 | FILE(GLOB LPROJ_LIST ui/*.lproj) |
| 362 | |
| 363 | FOREACH(LPROJ ${LPROJ_LIST}) |
| 364 | # Extract country code from <lang>.lproj folder name |
| 365 | GET_FILENAME_COMPONENT(LANG ${LPROJ} NAME_WE) |
| 366 | IF(EXISTS "${LPROJ}/Localizable.strings") |
| 367 | MESSAGE("Localizable:" ${LANG}) |
| 368 | SET_SOURCE_FILES_PROPERTIES(${LPROJ}/Localizable.strings |
Alexandre Lision | 3278ffe | 2016-02-03 14:45:22 -0500 | [diff] [blame] | 369 | PROPERTIES MACOSX_PACKAGE_LOCATION Resources/${LANG}.lproj) |
Alexandre Lision | 922380d | 2015-09-15 10:25:17 -0400 | [diff] [blame] | 370 | |
| 371 | SET(LOCALIZED_${LANG} ${LOCALIZED_${LANG}} |
| 372 | ${LPROJ}/Localizable.strings) |
| 373 | ENDIF() |
| 374 | FOREACH(xib ${ringclient_XIBS}) |
| 375 | IF(EXISTS "${LPROJ}/${xib}.strings") |
| 376 | SET_SOURCE_FILES_PROPERTIES(${LPROJ}/${xib}.strings |
Alexandre Lision | 3278ffe | 2016-02-03 14:45:22 -0500 | [diff] [blame] | 377 | PROPERTIES MACOSX_PACKAGE_LOCATION Resources/${LANG}.lproj) |
Alexandre Lision | 922380d | 2015-09-15 10:25:17 -0400 | [diff] [blame] | 378 | |
Alexandre Lision | 3278ffe | 2016-02-03 14:45:22 -0500 | [diff] [blame] | 379 | SET(LOCALIZED_${LANG} ${LOCALIZED_${LANG}} |
Alexandre Lision | 922380d | 2015-09-15 10:25:17 -0400 | [diff] [blame] | 380 | ${LPROJ}/${xib}.strings) |
| 381 | ENDIF() |
| 382 | ENDFOREACH() |
Alexandre Lision | 46dc0c3 | 2015-09-15 10:22:59 -0400 | [diff] [blame] | 383 | |
| 384 | # Regroup those files under a .lproj folder |
| 385 | SOURCE_GROUP("Resources\\${LANG}.lproj" FILES |
| 386 | ${LOCALIZED_${LANG}}) |
| 387 | # Add them to the list of files to package |
| 388 | SET(LOCALIZABLE_FILES ${LOCALIZABLE_FILES} ${LOCALIZED_${LANG}}) |
| 389 | ENDFOREACH() |
| 390 | |
Alexandre Lision | 5db3e4e | 2015-03-24 17:25:55 -0400 | [diff] [blame] | 391 | # append '.xib' extension before linking xib files in executable |
| 392 | FOREACH(xib ${ringclient_XIBS}) |
Alexandre Lision | 922380d | 2015-09-15 10:25:17 -0400 | [diff] [blame] | 393 | SET(ringclient_XIBS_FOR_EXECUTABLE ${ringclient_XIBS_FOR_EXECUTABLE} ui/Base.lproj/${xib}.xib) |
Alexandre Lision | 5db3e4e | 2015-03-24 17:25:55 -0400 | [diff] [blame] | 394 | ENDFOREACH() |
| 395 | |
Alexandre Lision | 46dc0c3 | 2015-09-15 10:22:59 -0400 | [diff] [blame] | 396 | SET(TO_ADD |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 397 | ${ringclient_CONTROLLERS} |
| 398 | ${ringclient_BACKENDS} |
| 399 | ${ringclient_VIEWS} |
| 400 | ${ringclient_OTHERS} |
Alexandre Lision | 5db3e4e | 2015-03-24 17:25:55 -0400 | [diff] [blame] | 401 | ${ringclient_XIBS_FOR_EXECUTABLE} |
Alexandre Lision | 46dc0c3 | 2015-09-15 10:22:59 -0400 | [diff] [blame] | 402 | ${LOCALIZABLE_FILES} |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 403 | ${myApp_ICON} |
Alexandre Lision | bb30613 | 2015-03-27 11:30:02 -0400 | [diff] [blame] | 404 | Credits.rtf |
Alexandre Lision | 3278ffe | 2016-02-03 14:45:22 -0500 | [diff] [blame] | 405 | ${ring_ICONS} |
| 406 | ${ring_RINGTONES}) |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 407 | |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 408 | IF(ENABLE_SPARKLE) |
| 409 | SET( TO_ADD ${TO_ADD} ${PUBLIC_KEY} ${SPARKLE_FRAMEWORK}) |
| 410 | ENDIF(ENABLE_SPARKLE) |
| 411 | |
| 412 | ADD_EXECUTABLE(${PROJ_NAME} MACOSX_BUNDLE ${TO_ADD}) |
| 413 | |
Alexandre Lision | fd0d6c8 | 2016-03-29 17:06:54 -0400 | [diff] [blame] | 414 | ADD_DEPENDENCIES(${PROJ_NAME} libqrencode) |
| 415 | |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 416 | # Follow Xcode hierarchy principles |
| 417 | SOURCE_GROUP("Controllers" FILES ${ringclient_CONTROLLERS}) |
| 418 | SOURCE_GROUP("Backends" FILES ${ringclient_BACKENDS}) |
| 419 | SOURCE_GROUP("CustomViews" FILES ${ringclient_VIEWS}) |
| 420 | SOURCE_GROUP("Classes" FILES ${ringclient_OTHERS}) |
Alexandre Lision | 46dc0c3 | 2015-09-15 10:22:59 -0400 | [diff] [blame] | 421 | SOURCE_GROUP("Resources\\Interface Builder" FILES |
| 422 | ${ringclient_XIBS_FOR_EXECUTABLE}) |
Alexandre Lision | 3278ffe | 2016-02-03 14:45:22 -0500 | [diff] [blame] | 423 | SOURCE_GROUP("Resources\\ringtones" FILES ${ring_RINGTONES}) |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 424 | |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 425 | IF(ENABLE_SPARKLE) |
| 426 | SOURCE_GROUP("Frameworks" FILES ${SPARKLE_FRAMEWORK}) |
| 427 | ENDIF(ENABLE_SPARKLE) |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 428 | |
Alexandre Lision | b47b4c8 | 2015-01-20 11:29:03 -0500 | [diff] [blame] | 429 | TARGET_LINK_LIBRARIES( ${PROJ_NAME} |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 430 | ${LIB_RING_CLIENT_LIBRARY} |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 431 | ${Qt5Core_LIBRARIES} |
Alexandre Lision | 3b0bd33 | 2015-03-15 18:43:07 -0400 | [diff] [blame] | 432 | ${Qt5MacExtras_LIBRARIES} |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 433 | ${Qt5Widgets_LIBRARIES} |
Anthony Léonard | 14e7bf3 | 2017-06-08 08:13:16 -0400 | [diff] [blame] | 434 | ${OPENGL_LIBRARIES} |
Alexandre Lision | fd0d6c8 | 2016-03-29 17:06:54 -0400 | [diff] [blame] | 435 | -lqrencode |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 436 | ) |
| 437 | |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 438 | IF(ENABLE_SPARKLE) |
| 439 | TARGET_LINK_LIBRARIES(${PROJ_NAME} ${SPARKLE_FRAMEWORK}) |
| 440 | ENDIF(ENABLE_SPARKLE) |
| 441 | |
Alexandre Lision | f241c6a | 2015-03-24 14:53:47 -0400 | [diff] [blame] | 442 | SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AppKit") |
| 443 | SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Cocoa") |
| 444 | SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Quartz") |
| 445 | SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AVFoundation") |
| 446 | SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AddressBook") |
Alexandre Lision | b9f3f94 | 2016-07-23 14:29:33 -0400 | [diff] [blame] | 447 | SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework SystemConfiguration") |
Alexandre Lision | f241c6a | 2015-03-24 14:53:47 -0400 | [diff] [blame] | 448 | |
| 449 | # These variables are specific to our plist and are NOT standard CMake variables |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 450 | SET(MACOSX_BUNDLE_NSMAIN_NIB_FILE "MainMenu") |
| 451 | SET(MACOSX_BUNDLE_NSPRINCIPAL_CLASS "NSApplication") |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 452 | |
Alexandre Lision | b47b4c8 | 2015-01-20 11:29:03 -0500 | [diff] [blame] | 453 | SET_TARGET_PROPERTIES(${PROJ_NAME} PROPERTIES |
| 454 | MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/cmake/MacOSXBundleInfo.plist.in |
| 455 | MACOSX_BUNDLE_GUI_IDENTIFIER "cx.ring" |
Alexandre Lision | 7208b76 | 2015-08-13 12:39:49 -0400 | [diff] [blame] | 456 | MACOSX_BUNDLE_SHORT_VERSION_STRING "${RING_VERSION_NAME}" |
Anthony Léonard | f79fd7c | 2018-01-31 13:28:46 -0500 | [diff] [blame] | 457 | MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJ_NAME} ${RING_VERSION_NAME}" |
Alexandre Lision | 7208b76 | 2015-08-13 12:39:49 -0400 | [diff] [blame] | 458 | MACOSX_BUNDLE_BUNDLE_VERSION ${RING_VERSION} |
Alexandre Lision | bb30613 | 2015-03-27 11:30:02 -0400 | [diff] [blame] | 459 | MACOSX_BUNDLE_COPYRIGHT "${PROJ_COPYRIGHT}" |
Anthony Léonard | f79fd7c | 2018-01-31 13:28:46 -0500 | [diff] [blame] | 460 | MACOSX_BUNDLE_INFO_STRING "Build of ${PROJ_NAME}, version ${RING_VERSION}" |
Alexandre Lision | b47b4c8 | 2015-01-20 11:29:03 -0500 | [diff] [blame] | 461 | MACOSX_BUNDLE_BUNDLE_NAME ${PROJ_NAME} |
| 462 | MACOSX_BUNDLE_ICON_FILE "appicon.icns" |
| 463 | ) |
Alexandre Lision | f241c6a | 2015-03-24 14:53:47 -0400 | [diff] [blame] | 464 | |
| 465 | # Make sure we can find the 'ibtool' program. If we can NOT find it we |
| 466 | # skip generation of this project |
| 467 | FIND_PROGRAM(IBTOOL ibtool HINTS "/usr/bin" "${OSX_DEVELOPER_ROOT}/usr/bin") |
| 468 | IF(${IBTOOL} STREQUAL "IBTOOL-NOTFOUND") |
| 469 | MESSAGE(SEND_ERROR "ibtool can not be found and is needed to compile the .xib files. It should have been installed with |
| 470 | the Apple developer tools. The default system paths were searched in addition to ${OSX_DEVELOPER_ROOT}/usr/bin") |
| 471 | endif() |
| 472 | |
Alexandre Lision | f241c6a | 2015-03-24 14:53:47 -0400 | [diff] [blame] | 473 | # Compile the .xib files using the 'ibtool' program with the destination being the app package |
| 474 | FOREACH(xib ${ringclient_XIBS}) |
| 475 | ADD_CUSTOM_COMMAND(TARGET ${PROJ_NAME} POST_BUILD |
| 476 | COMMAND ${IBTOOL} --errors --warnings --notices --output-format human-readable-text |
Alexandre Lision | 922380d | 2015-09-15 10:25:17 -0400 | [diff] [blame] | 477 | --compile ${CMAKE_CURRENT_BINARY_DIR}/\${CONFIGURATION}/${PROJ_NAME}.app/Contents/Resources/Base.lproj/${xib}.nib |
| 478 | ${CMAKE_CURRENT_SOURCE_DIR}/ui/Base.lproj/${xib}.xib |
| 479 | COMMENT "Compiling ${CMAKE_CURRENT_SOURCE_DIR}/ui/Base.lproj/${xib}.xib") |
Alexandre Lision | f241c6a | 2015-03-24 14:53:47 -0400 | [diff] [blame] | 480 | |
| 481 | ENDFOREACH() |
Alexandre Lision | e7e01ba | 2015-03-30 13:30:51 -0400 | [diff] [blame] | 482 | |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 483 | SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${CMAKE_INSTALL_PREFIX}) |
Alexandre Lision | e7e01ba | 2015-03-30 13:30:51 -0400 | [diff] [blame] | 484 | |
| 485 | SET(APPS "\${CMAKE_INSTALL_PREFIX}/${PROJ_NAME}.app") |
| 486 | |
Alexandre Lision | e7e01ba | 2015-03-30 13:30:51 -0400 | [diff] [blame] | 487 | INSTALL(TARGETS ${PROJ_NAME} BUNDLE DESTINATION . COMPONENT Runtime) |
| 488 | |
Alexandre Lision | 3a70f4f | 2015-04-15 14:18:26 -0400 | [diff] [blame] | 489 | SET(QT_PLUGINS_DESTDIR ${PROJ_NAME}.app/Contents/Plugins) |
Alexandre Lision | e7e01ba | 2015-03-30 13:30:51 -0400 | [diff] [blame] | 490 | #-------------------------------------------------------------------------------- |
| 491 | # Install needed Qt plugins by copying directories from the qt installation |
Alexandre Lision | 3a70f4f | 2015-04-15 14:18:26 -0400 | [diff] [blame] | 492 | |
| 493 | |
| 494 | #MESSAGE("GUI====") |
| 495 | #foreach(plugin ${Qt5Gui_PLUGINS}) |
| 496 | # message("Plugin ${plugin} is at location ${_loc}") |
| 497 | #endforeach() |
| 498 | |
| 499 | LIST(APPEND QT_PLUGINS_IMAGEFORMAT Qt5::QTgaPlugin |
| 500 | Qt5::QGifPlugin |
| 501 | Qt5::QICNSPlugin |
| 502 | Qt5::QICOPlugin |
| 503 | Qt5::QJpegPlugin |
Alexandre Lision | 8ac5c84 | 2017-03-18 08:45:31 +0100 | [diff] [blame] | 504 | Qt5::QTiffPlugin) |
Alexandre Lision | 3a70f4f | 2015-04-15 14:18:26 -0400 | [diff] [blame] | 505 | |
| 506 | # we need two plugin directories platform and imageformats |
| 507 | GET_TARGET_PROPERTY(_loc Qt5::QCocoaIntegrationPlugin LOCATION) |
| 508 | INSTALL(FILES ${_loc} DESTINATION ${QT_PLUGINS_DESTDIR}/platforms COMPONENT Runtime) |
| 509 | LIST(APPEND QT_PLUGINS Qt5::QCocoaIntegrationPlugin) |
| 510 | |
| 511 | FOREACH(plugin ${QT_PLUGINS_IMAGEFORMAT}) |
Alexandre Lision | e7e01ba | 2015-03-30 13:30:51 -0400 | [diff] [blame] | 512 | GET_TARGET_PROPERTY(_loc ${plugin} LOCATION) |
Alexandre Lision | 3a70f4f | 2015-04-15 14:18:26 -0400 | [diff] [blame] | 513 | INSTALL(FILES ${_loc} DESTINATION ${QT_PLUGINS_DESTDIR}/imageformats COMPONENT Runtime) |
| 514 | LIST(APPEND QT_PLUGINS ${plugin}) |
Alexandre Lision | e7e01ba | 2015-03-30 13:30:51 -0400 | [diff] [blame] | 515 | ENDFOREACH() |
| 516 | |
Anthony Léonard | 786d418 | 2017-11-08 14:26:31 -0500 | [diff] [blame] | 517 | # Add SQLite driver for QtSql |
| 518 | GET_TARGET_PROPERTY(_loc Qt5::QSQLiteDriverPlugin LOCATION) |
| 519 | INSTALL(FILES ${_loc} DESTINATION ${QT_PLUGINS_DESTDIR}/sqldrivers COMPONENT Runtime) |
| 520 | LIST(APPEND QT_PLUGINS Qt5::QSQLiteDriverPlugin) |
| 521 | |
Alexandre Lision | e7e01ba | 2015-03-30 13:30:51 -0400 | [diff] [blame] | 522 | # directories to look for dependencies |
Alexandre Lision | fd0d6c8 | 2016-03-29 17:06:54 -0400 | [diff] [blame] | 523 | SET(DIRS ${CMAKE_INSTALL_PREFIX}/lib |
| 524 | ${QT_LIB_DIR} |
| 525 | ${CMAKE_CURRENT_SOURCE_DIR}/sparkle |
| 526 | ${CMAKE_CURRENT_SOURCE_DIR}/libqrencode/lib) |
Alexandre Lision | e7e01ba | 2015-03-30 13:30:51 -0400 | [diff] [blame] | 527 | |
| 528 | INSTALL(CODE " |
| 529 | file(GLOB_RECURSE QTPLUGINS |
| 530 | \"\${CMAKE_INSTALL_PREFIX}/${QT_PLUGINS_DESTDIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}\") |
| 531 | include(BundleUtilities) |
| 532 | SET(BU_CHMOD_BUNDLE_ITEMS TRUE) |
| 533 | fixup_bundle(\"${APPS}\" \"\${QTPLUGINS}\" \"${DIRS}\") |
| 534 | " COMPONENT Runtime) |
| 535 | |
| 536 | #================================ |
| 537 | # Packaging |
| 538 | #================================ |
| 539 | SET( CPACK_PACKAGE_DESCRIPTION_SUMMARY ${PROJ_NAME}) |
| 540 | SET( CPACK_PACKAGE_NAME ${PROJ_NAME} ) |
| 541 | SET( CPACK_PACKAGE_CONTACT "Alexandre Lision") |
| 542 | SET( CPACK_PACKAGE_VENDOR "Savoir-faire Linux") |
| 543 | SET( CPACK_PACKAGE_VERSION_MAJOR ${PROG_MAJOR_VERSION}) |
| 544 | SET( CPACK_PACKAGE_VERSION_MINOR ${PROG_MINOR_VERSION}) |
| 545 | SET( CPACK_PACKAGE_VERSION_PATCH ${PROG_PATCH_VERSION}) |
| 546 | SET(CPACK_BINARY_DRAGNDROP ON) |
| 547 | SET( CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}") |
| 548 | INCLUDE(CPack) |