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 | |
Kateryna Kostiuk | 85a334e | 2018-12-03 15:54:19 -0500 | [diff] [blame] | 7 | SET(PROJ_NAME Jami) |
Kateryna Kostiuk | ee7bbf5 | 2019-12-05 11:10:31 -0500 | [diff] [blame] | 8 | ADD_DEFINITIONS(-DENABLE_LIBWRAP=true) |
Kateryna Kostiuk | 5d10ee2 | 2018-05-16 10:09:05 -0400 | [diff] [blame] | 9 | option(RELEASE_TYPE "RELEASE_TYPE" "website") |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 10 | |
| 11 | # To build nighlies we need to update RING_VERSION with an optional command line arg |
| 12 | IF("${RING_VERSION}" STREQUAL "") |
Guillaume Roguez | 812d550 | 2016-03-16 22:46:29 -0400 | [diff] [blame] | 13 | SET(RING_VERSION "1.0.0") |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 14 | ENDIF("${RING_VERSION}" STREQUAL "") |
Kateryna Kostiuk | 5d10ee2 | 2018-05-16 10:09:05 -0400 | [diff] [blame] | 15 | # if build for App Store version and build number should be incremented |
| 16 | IF("${RELEASE_TYPE}" STREQUAL "AppStore") |
kkostiuk | 5bd7958 | 2021-04-23 16:04:12 -0400 | [diff] [blame] | 17 | SET(RING_VERSION_NAME "1.94") |
Kateryna Kostiuk | 5d10ee2 | 2018-05-16 10:09:05 -0400 | [diff] [blame] | 18 | ELSE() |
kkostiuk | 5bd7958 | 2021-04-23 16:04:12 -0400 | [diff] [blame] | 19 | SET(RING_VERSION_NAME "1.94") |
Kateryna Kostiuk | 5d10ee2 | 2018-05-16 10:09:05 -0400 | [diff] [blame] | 20 | ENDIF() |
Alexandre Lision | bb30613 | 2015-03-27 11:30:02 -0400 | [diff] [blame] | 21 | |
Alexandre Lision | 71b4151 | 2016-05-02 13:53:44 -0400 | [diff] [blame] | 22 | MESSAGE("Building Ring version - " ${RING_VERSION_NAME} " " ${RING_VERSION}) |
Sébastien Blin | 029ffa8 | 2019-01-02 17:43:48 -0500 | [diff] [blame] | 23 | SET(PROJ_COPYRIGHT " © 2015-2019 Savoir-faire Linux \n GPLv3 https://www.gnu.org/copyleft/gpl.html") |
Alexandre Lision | b47b4c8 | 2015-01-20 11:29:03 -0500 | [diff] [blame] | 24 | |
Kateryna Kostiuk | a7b909c | 2020-10-19 11:46:26 -0400 | [diff] [blame] | 25 | SET(CMAKE_CXX_STANDARD 17) |
Anthony Léonard | 643a390 | 2017-12-19 15:40:17 -0500 | [diff] [blame] | 26 | |
| 27 | ADD_DEFINITIONS("-stdlib=libc++ -fobjc-arc") |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 28 | |
Alexandre Lision | b47b4c8 | 2015-01-20 11:29:03 -0500 | [diff] [blame] | 29 | PROJECT(${PROJ_NAME}) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 30 | |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 31 | FIND_PACKAGE(Qt5Core REQUIRED) |
Alexandre Lision | 3b0bd33 | 2015-03-15 18:43:07 -0400 | [diff] [blame] | 32 | FIND_PACKAGE(Qt5MacExtras REQUIRED) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 33 | FIND_PACKAGE(Qt5Widgets REQUIRED) |
Anthony Léonard | 786d418 | 2017-11-08 14:26:31 -0500 | [diff] [blame] | 34 | FIND_PACKAGE(Qt5Sql REQUIRED) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 35 | FIND_PACKAGE(LibRingClient REQUIRED) |
Anthony Léonard | 14e7bf3 | 2017-06-08 08:13:16 -0400 | [diff] [blame] | 36 | FIND_PACKAGE(OpenGL REQUIRED) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 37 | |
Alexandre Lision | fd0d6c8 | 2016-03-29 17:06:54 -0400 | [diff] [blame] | 38 | EXECUTE_PROCESS(COMMAND git submodule update --init |
| 39 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) |
| 40 | |
Kateryna Kostiuk | 00dcbff | 2019-07-11 15:42:13 -0400 | [diff] [blame] | 41 | get_filename_component(PARENT_DIR ${CMAKE_SOURCE_DIR} PATH) |
| 42 | |
Alexandre Lision | fd0d6c8 | 2016-03-29 17:06:54 -0400 | [diff] [blame] | 43 | INCLUDE(ExternalProject) |
| 44 | ExternalProject_Add(libqrencode |
| 45 | GIT_SUBMODULES libqrencode |
| 46 | SOURCE_DIR ${CMAKE_SOURCE_DIR}/libqrencode |
| 47 | BINARY_DIR ${CMAKE_SOURCE_DIR}/libqrencode |
| 48 | INSTALL_DIR ${CMAKE_SOURCE_DIR}/libqrencode |
| 49 | CONFIGURE_COMMAND |
| 50 | #hack to fix incomplete config.h on first run |
| 51 | COMMAND ./autogen.sh |
| 52 | COMMAND ./autogen.sh && ./configure --prefix=${CMAKE_SOURCE_DIR}/libqrencode |
| 53 | BUILD_COMMAND make |
| 54 | INSTALL_COMMAND make install) |
| 55 | |
| 56 | INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/libqrencode/include) |
| 57 | LINK_DIRECTORIES(${CMAKE_SOURCE_DIR}/libqrencode/lib) |
Kateryna Kostiuk | 00dcbff | 2019-07-11 15:42:13 -0400 | [diff] [blame] | 58 | INCLUDE_DIRECTORIES(${PARENT_DIR}/daemon/contrib/native/ffmpeg) |
| 59 | |
| 60 | set(SHADERS_FILE "Shader.metallib") |
| 61 | add_custom_command (OUTPUT ${CMAKE_SOURCE_DIR}/Shader.metallib |
| 62 | COMMAND ${CMAKE_SOURCE_DIR}/generateShaderLib.sh |
| 63 | COMMENT "Creating Shader.metallib") |
kkostiuk | c48e73e | 2021-04-13 09:20:08 -0400 | [diff] [blame] | 64 | add_custom_target(shader ALL |
| 65 | DEPENDS ${CMAKE_SOURCE_DIR}/Shader.metallib) |
kkostiuk | 3a2c9f7 | 2021-01-27 10:30:49 -0500 | [diff] [blame] | 66 | |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 67 | IF(NOT (${ENABLE_SPARKLE} MATCHES false)) |
| 68 | MESSAGE("Sparkle auto-update enabled") |
| 69 | |
| 70 | # find_library searches in /Library/Frameworks by default |
| 71 | # We add an hint to our custom location |
| 72 | |
| 73 | FIND_LIBRARY(SPARKLE_FRAMEWORK |
| 74 | NAMES Sparkle |
| 75 | HINTS ${CMAKE_CURRENT_SOURCE_DIR}/sparkle) |
| 76 | IF(EXISTS ${SPARKLE_FRAMEWORK}) |
| 77 | SET(ENABLE_SPARKLE 1 CACHE BOOLEAN "Enable Sparkle") |
| 78 | ADD_DEFINITIONS(-DENABLE_SPARKLE=1) |
| 79 | MESSAGE("Sparkle is here:" ${SPARKLE_FRAMEWORK}) |
| 80 | FIND_PATH(SPARKLE_INCLUDE_DIR Sparkle.h HINTS ${SPARKLE_FRAMEWORK}/Headers) |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 81 | # we need to copy the public key to check the updates |
| 82 | SET(PUBLIC_KEY_PATH "${CMAKE_CURRENT_SOURCE_DIR}/sparkle/dsa_pub.pem") |
| 83 | IF(EXISTS ${PUBLIC_KEY_PATH}) |
| 84 | MESSAGE(STATUS "Looking for Public Key - found") |
| 85 | SET_SOURCE_FILES_PROPERTIES(${PUBLIC_KEY_PATH} PROPERTIES MACOSX_PACKAGE_LOCATION Resources) |
| 86 | SET(PUBLIC_KEY ${PUBLIC_KEY_PATH}) |
| 87 | ELSE(EXISTS ${PUBLIC_KEY_PATH}) |
| 88 | MESSAGE(WARNING "Looking for Public Key - not found") |
| 89 | 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") |
| 90 | ENDIF(EXISTS ${PUBLIC_KEY_PATH}) |
| 91 | ELSE() |
Alexandre Lision | fba8f79 | 2016-03-08 13:45:51 -0500 | [diff] [blame] | 92 | MESSAGE(WARNING "Sparkle framework not found, disabling it... to build it see README") |
| 93 | SET(ENABLE_SPARKLE 0 CACHE BOOLEAN "Enable Sparkle") |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 94 | ENDIF(EXISTS ${SPARKLE_FRAMEWORK}) |
| 95 | ENDIF(NOT (${ENABLE_SPARKLE} MATCHES false)) |
| 96 | |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 97 | INCLUDE_DIRECTORIES(SYSTEM ${Qt5Core_INCLUDE_DIRS}) |
Alexandre Lision | 3b0bd33 | 2015-03-15 18:43:07 -0400 | [diff] [blame] | 98 | INCLUDE_DIRECTORIES(SYSTEM ${Qt5MacExtras_INCLUDE_DIRS}) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 99 | INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) |
| 100 | INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}) |
| 101 | INCLUDE_DIRECTORIES(${LIB_RING_CLIENT_INCLUDE_DIR}) |
Anthony Léonard | 14e7bf3 | 2017-06-08 08:13:16 -0400 | [diff] [blame] | 102 | INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 103 | |
Alexandre Lision | 04946de | 2016-03-08 09:31:38 -0500 | [diff] [blame] | 104 | SET(CMAKE_MACOSX_RPATH ON) |
| 105 | SET(CMAKE_SKIP_BUILD_RPATH FALSE) |
| 106 | SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) |
| 107 | SET(CMAKE_INSTALL_RPATH "${CMAKE_CURRENT_SOURCE_DIR}") |
| 108 | SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) |
| 109 | |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 110 | MESSAGE("LRC is here:" ${LIB_RING_CLIENT_INCLUDE_DIR}) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 111 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w") |
| 112 | |
| 113 | #Files to compile |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 114 | SET(ringclient_CONTROLLERS |
Alexandre Lision | 7d2a48b | 2015-03-30 14:59:58 -0400 | [diff] [blame] | 115 | src/CurrentCallVC.mm |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 116 | src/CurrentCallVC.h |
Alexandre Lision | 7d2a48b | 2015-03-30 14:59:58 -0400 | [diff] [blame] | 117 | src/GeneralPrefsVC.mm |
| 118 | src/RingWizardWC.mm |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 119 | src/RingWizardWC.h |
| 120 | src/RingWindowController.mm |
| 121 | src/RingWindowController.h |
Alexandre Lision | bfa68f6 | 2015-09-10 08:38:42 -0400 | [diff] [blame] | 122 | src/PreferencesWC.mm |
| 123 | src/PreferencesWC.h |
Kateryna Kostiuk | 1f8c125 | 2018-07-30 18:18:57 -0400 | [diff] [blame] | 124 | src/AccSipGeneralVC.mm |
| 125 | src/AccSipGeneralVC.h |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 126 | src/AccAdvancedVC.mm |
| 127 | src/AccAdvancedVC.h |
Kateryna Kostiuk | 1f8c125 | 2018-07-30 18:18:57 -0400 | [diff] [blame] | 128 | src/AccRingGeneralVC.mm |
| 129 | src/AccRingGeneralVC.h |
| 130 | src/AccAdvancedSipVC.mm |
| 131 | src/AccAdvancedSipVC.h |
| 132 | src/AccAdvancedRingVC.mm |
| 133 | src/AccAdvancedRingVC.h |
Alexandre Lision | 4de68ce | 2015-04-24 18:22:49 -0400 | [diff] [blame] | 134 | src/CertificateWC.mm |
| 135 | src/CertificateWC.h |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 136 | src/AudioPrefsVC.mm |
| 137 | src/AudioPrefsVC.h |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 138 | src/VideoPrefsVC.mm |
| 139 | src/VideoPrefsVC.h |
| 140 | src/GeneralPrefsVC.h |
Alexandre Lision | 58cab67 | 2015-06-09 15:25:40 -0400 | [diff] [blame] | 141 | src/ChatVC.mm |
Alexandre Lision | 2db8f47 | 2015-07-22 15:05:46 -0400 | [diff] [blame] | 142 | src/ChatVC.h |
Alexandre Lision | 4dfcafc | 2015-08-20 12:43:23 -0400 | [diff] [blame] | 143 | src/SmartViewVC.mm |
Alexandre Lision | 883719f | 2015-10-22 17:37:45 -0400 | [diff] [blame] | 144 | src/SmartViewVC.h |
Alexandre Lision | 0f66bd3 | 2016-01-18 11:30:45 -0500 | [diff] [blame] | 145 | src/ConversationVC.mm |
Loïc Siret | 31d5cc0 | 2016-09-08 14:38:24 -0400 | [diff] [blame] | 146 | src/ConversationVC.h |
| 147 | src/LoadingWCDelegate.h |
| 148 | src/AbstractLoadingWC.h |
| 149 | src/AbstractLoadingWC.mm |
Alexandre Lision | 45f1f54 | 2016-08-25 15:16:17 -0400 | [diff] [blame] | 150 | src/ExportPasswordWC.mm |
| 151 | src/ExportPasswordWC.h |
Alexandre Lision | 624b1a8 | 2016-09-11 19:29:01 -0400 | [diff] [blame] | 152 | src/MigrateRingAccountsWC.mm |
| 153 | src/MigrateRingAccountsWC.h |
Loïc Siret | fcb4ca6 | 2016-09-21 17:12:09 -0400 | [diff] [blame] | 154 | src/RingWizardChooseVC.h |
| 155 | src/RingWizardChooseVC.mm |
| 156 | src/RingWizardLinkAccountVC.h |
| 157 | src/RingWizardLinkAccountVC.mm |
| 158 | src/RingWizardNewAccountVC.mm |
| 159 | src/RingWizardNewAccountVC.h |
Alexandre Lision | 6200531 | 2016-01-28 15:55:16 -0500 | [diff] [blame] | 160 | src/DialpadWC.mm |
| 161 | src/DialpadWC.h |
Alexandre Lision | 34079c2 | 2016-10-31 16:14:02 -0400 | [diff] [blame] | 162 | src/RegisterNameWC.mm |
| 163 | src/RegisterNameWC.h |
Kateryna Kostiuk | 13b7688 | 2017-03-30 09:18:44 -0400 | [diff] [blame] | 164 | src/ChooseAccountVC.h |
| 165 | src/ChooseAccountVC.mm |
Kateryna Kostiuk | 58276bc | 2017-06-07 08:50:48 -0400 | [diff] [blame] | 166 | src/MessagesVC.h |
| 167 | src/MessagesVC.mm |
Anthony Léonard | 1f70f72 | 2017-10-02 10:53:32 -0400 | [diff] [blame] | 168 | src/PasswordChangeWC.h |
| 169 | src/PasswordChangeWC.mm |
Kateryna Kostiuk | ecaa395 | 2018-07-13 16:00:34 -0400 | [diff] [blame] | 170 | src/LrcModelsProtocol.h |
| 171 | src/AddSIPAccountVC.mm |
| 172 | src/AddSIPAccountVC.h |
Kateryna Kostiuk | 1f8c125 | 2018-07-30 18:18:57 -0400 | [diff] [blame] | 173 | src/AccountSettingsVC.mm |
| 174 | src/AccountSettingsVC.h |
Kateryna Kostiuk | f631742 | 2018-09-27 17:08:20 -0400 | [diff] [blame] | 175 | src/LeaveMessageVC.mm |
| 176 | src/LeaveMessageVC.h |
Kateryna Kostiuk | fbe1b2f | 2019-10-07 17:32:26 -0400 | [diff] [blame] | 177 | src/RecordFileVC.mm |
| 178 | src/RecordFileVC.h |
Kateryna Kostiuk | 4db6109 | 2019-10-17 16:57:40 -0400 | [diff] [blame] | 179 | src/ChooseContactVC.mm |
| 180 | src/ChooseContactVC.h |
| 181 | src/CallInConferenceVC.mm |
| 182 | src/CallInConferenceVC.h |
Kateryna Kostiuk | c7e68f3 | 2019-10-09 16:15:45 -0400 | [diff] [blame] | 183 | src/ConnectToAccManagerVC.mm |
| 184 | src/ConnectToAccManagerVC.h |
Kateryna Kostiuk | 61d4116 | 2019-10-25 16:51:44 -0400 | [diff] [blame] | 185 | src/AccountBackupVC.mm |
| 186 | src/AccountBackupVC.h |
Loïc Siret | 31d5cc0 | 2016-09-08 14:38:24 -0400 | [diff] [blame] | 187 | ) |
Alexandre Lision | 74dd47f | 2015-04-14 13:47:42 -0400 | [diff] [blame] | 188 | |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 189 | SET(ringclient_VIEWS |
| 190 | src/views/CallView.mm |
| 191 | src/views/CallView.h |
Anthony Léonard | 14e7bf3 | 2017-06-08 08:13:16 -0400 | [diff] [blame] | 192 | src/views/CallLayer.mm |
| 193 | src/views/CallLayer.h |
Alexandre Lision | f47a256 | 2015-06-15 15:48:29 -0400 | [diff] [blame] | 194 | src/views/ITProgressIndicator.mm |
| 195 | src/views/ITProgressIndicator.h |
Alexandre Lision | 2db8f47 | 2015-07-22 15:05:46 -0400 | [diff] [blame] | 196 | src/views/RingOutlineView.mm |
Alexandre Lision | 7f8351b | 2015-08-20 11:43:37 -0400 | [diff] [blame] | 197 | src/views/RingOutlineView.h |
Olivier Soldano | d431155 | 2017-11-20 15:09:53 -0500 | [diff] [blame] | 198 | src/views/RingTableView.mm |
| 199 | src/views/RingTableView.h |
Alexandre Lision | 7f8351b | 2015-08-20 11:43:37 -0400 | [diff] [blame] | 200 | src/views/RingIDField.mm |
Alexandre Lision | 4e280d6 | 2015-09-09 15:56:30 -0400 | [diff] [blame] | 201 | src/views/RingIDField.h |
| 202 | src/views/HoverTableRowView.mm |
| 203 | src/views/HoverTableRowView.h |
| 204 | src/views/NSColor+RingTheme.mm |
| 205 | src/views/NSColor+RingTheme.h |
Alexandre Lision | 261f1b9 | 2016-04-04 12:35:34 -0400 | [diff] [blame] | 206 | src/views/NSImage+Extensions.mm |
| 207 | src/views/NSImage+Extensions.h |
Alexandre Lision | 4e280d6 | 2015-09-09 15:56:30 -0400 | [diff] [blame] | 208 | src/views/ContextualTableCellView.mm |
Alexandre Lision | 6da08a8 | 2015-09-24 17:09:24 -0400 | [diff] [blame] | 209 | src/views/ContextualTableCellView.h |
| 210 | src/views/IconButton.h |
Alexandre Lision | 0f66bd3 | 2016-01-18 11:30:45 -0500 | [diff] [blame] | 211 | src/views/IconButton.mm |
Alexandre Lision | e77f6f9 | 2016-04-17 23:39:39 -0400 | [diff] [blame] | 212 | src/views/BackgroundView.h |
| 213 | src/views/BackgroundView.mm |
Alexandre Lision | 0f66bd3 | 2016-01-18 11:30:45 -0500 | [diff] [blame] | 214 | src/views/IMTableCellView.h |
Kateryna Kostiuk | 13b7688 | 2017-03-30 09:18:44 -0400 | [diff] [blame] | 215 | src/views/IMTableCellView.mm |
| 216 | src/views/AccountMenuItemView.h |
Kateryna Kostiuk | a9e5c71 | 2017-05-15 16:46:16 -0400 | [diff] [blame] | 217 | src/views/AccountMenuItemView.mm |
Kateryna Kostiuk | d9039e9 | 2017-05-24 14:29:54 -0400 | [diff] [blame] | 218 | src/views/RoundedTextField.h |
Kateryna Kostiuk | 58276bc | 2017-06-07 08:50:48 -0400 | [diff] [blame] | 219 | src/views/RoundedTextField.mm |
| 220 | src/views/MessageBubbleView.h |
| 221 | src/views/MessageBubbleView.mm |
Kateryna Kostiuk | 64d025a | 2017-07-14 11:30:44 -0400 | [diff] [blame] | 222 | src/views/SendMessagePanel.h |
| 223 | src/views/SendMessagePanel.mm |
Kateryna Kostiuk | 958cd07 | 2017-07-14 15:56:35 -0400 | [diff] [blame] | 224 | src/views/HoverButton.h |
| 225 | src/views/HoverButton.mm |
Kateryna Kostiuk | 1f8c125 | 2018-07-30 18:18:57 -0400 | [diff] [blame] | 226 | src/views/CenteredClipView.h |
| 227 | src/views/CenteredClipView.mm |
Kateryna Kostiuk | 00dcbff | 2019-07-11 15:42:13 -0400 | [diff] [blame] | 228 | src/views/CallMTKView.h |
| 229 | src/views/CallMTKView.mm |
Kateryna Kostiuk | 88a6ee8 | 2019-09-10 17:55:08 -0400 | [diff] [blame] | 230 | src/views/GradientView.h |
| 231 | src/views/GradientView.mm |
Kateryna Kostiuk | 6891d4f | 2019-09-19 17:44:33 -0400 | [diff] [blame] | 232 | src/views/MovableView.h |
| 233 | src/views/MovableView.mm |
Kateryna Kostiuk | 0668168 | 2020-05-07 20:50:56 -0400 | [diff] [blame] | 234 | src/views/RenderingView.h |
| 235 | src/views/RenderingView.mm |
| 236 | src/views/VideoRendering.h |
Kateryna Kostiuk | 1705a5a | 2020-08-26 09:48:00 -0400 | [diff] [blame] | 237 | src/views/ConferenceOverlayView.h |
| 238 | src/views/ConferenceOverlayView.mm |
kkostiuk | 3a2c9f7 | 2021-01-27 10:30:49 -0500 | [diff] [blame] | 239 | src/views/CustomBackgroundView.h |
| 240 | src/views/CustomBackgroundView.mm |
kkostiuk | cf0757f | 2021-03-26 12:29:47 -0400 | [diff] [blame] | 241 | src/views/TextViewWithPlaceholder.h |
| 242 | src/views/TextViewWithPlaceholder.mm |
kkostiuk | c48e73e | 2021-04-13 09:20:08 -0400 | [diff] [blame] | 243 | src/views/FileToSendCollectionItem.h |
| 244 | src/views/FileToSendCollectionItem.mm |
| 245 | src/views/DraggingDestinationView.h |
| 246 | src/views/DraggingDestinationView.mm |
Kateryna Kostiuk | 58276bc | 2017-06-07 08:50:48 -0400 | [diff] [blame] | 247 | ) |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 248 | |
| 249 | SET(ringclient_OTHERS |
| 250 | src/main.mm |
| 251 | src/AppDelegate.mm |
| 252 | src/AppDelegate.h |
Alexandre Lision | 9fe374b | 2016-01-06 10:17:31 -0500 | [diff] [blame] | 253 | src/Constants.h |
Kateryna Kostiuk | c5fd3b9 | 2019-07-24 10:12:44 -0400 | [diff] [blame] | 254 | src/VideoCommon.h |
| 255 | src/VideoCommon.mm |
Alexandre Lision | 83180df | 2016-01-18 11:32:20 -0500 | [diff] [blame] | 256 | src/INDSequentialTextSelectionManager.mm |
| 257 | src/INDSequentialTextSelectionManager.h |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 258 | src/delegates/ImageManipulationDelegate.mm |
Kateryna Kostiuk | a16c986 | 2017-05-03 13:30:14 -0400 | [diff] [blame] | 259 | src/delegates/ImageManipulationDelegate.h |
| 260 | src/AccountSelectionManager.h |
Olivier Soldano | d431155 | 2017-11-20 15:09:53 -0500 | [diff] [blame] | 261 | src/AccountSelectionManager.mm |
Andreas Traczyk | 252a94a | 2018-04-20 16:36:20 -0400 | [diff] [blame] | 262 | src/utils.h |
| 263 | src/NSString+Extensions.h |
Kateryna Kostiuk | 465cfbe | 2018-06-05 16:13:05 -0400 | [diff] [blame] | 264 | src/NSString+Extensions.mm |
| 265 | src/RingMainWindow.h |
Kateryna Kostiuk | 00dcbff | 2019-07-11 15:42:13 -0400 | [diff] [blame] | 266 | src/RingMainWindow.mm |
Kateryna Kostiuk | 38a77e3 | 2020-04-10 20:07:23 -0400 | [diff] [blame] | 267 | src/MenuResponder.h |
| 268 | src/MenuResponder.mm |
Kateryna Kostiuk | 00dcbff | 2019-07-11 15:42:13 -0400 | [diff] [blame] | 269 | src/Shader.metal |
| 270 | ) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 271 | |
Alexandre Lision | f241c6a | 2015-03-24 14:53:47 -0400 | [diff] [blame] | 272 | SET(ringclient_XIBS |
| 273 | MainMenu |
| 274 | RingWindow |
| 275 | CurrentCall |
| 276 | GeneralPrefs |
Kateryna Kostiuk | 1f8c125 | 2018-07-30 18:18:57 -0400 | [diff] [blame] | 277 | AccSipGeneral |
Kateryna Kostiuk | 1f8c125 | 2018-07-30 18:18:57 -0400 | [diff] [blame] | 278 | AccRingGeneral |
| 279 | AccAdvancedSip |
| 280 | AccAdvancedRing |
Alexandre Lision | f241c6a | 2015-03-24 14:53:47 -0400 | [diff] [blame] | 281 | AudioPrefs |
| 282 | VideoPrefs |
Alexandre Lision | bfa68f6 | 2015-09-10 08:38:42 -0400 | [diff] [blame] | 283 | PreferencesWindow |
Alexandre Lision | 4de68ce | 2015-04-24 18:22:49 -0400 | [diff] [blame] | 284 | RingWizard |
Alexandre Lision | 2db8f47 | 2015-07-22 15:05:46 -0400 | [diff] [blame] | 285 | CertificateWindow |
Alexandre Lision | 45f1f54 | 2016-08-25 15:16:17 -0400 | [diff] [blame] | 286 | ExportPasswordWindow |
Alexandre Lision | 624b1a8 | 2016-09-11 19:29:01 -0400 | [diff] [blame] | 287 | MigrateRingAccountsWindow |
Alexandre Lision | 45f1f54 | 2016-08-25 15:16:17 -0400 | [diff] [blame] | 288 | Conversation |
Loïc Siret | fcb4ca6 | 2016-09-21 17:12:09 -0400 | [diff] [blame] | 289 | RingWizardLinkAccount |
| 290 | RingWizardNewAccount |
Alexandre Lision | 6200531 | 2016-01-28 15:55:16 -0500 | [diff] [blame] | 291 | RingWizardChoose |
| 292 | Dialpad |
Alexandre Lision | 34079c2 | 2016-10-31 16:14:02 -0400 | [diff] [blame] | 293 | RegisterNameWindow |
Kateryna Kostiuk | 13b7688 | 2017-03-30 09:18:44 -0400 | [diff] [blame] | 294 | AccountMenuItemView |
Anthony Léonard | 1f70f72 | 2017-10-02 10:53:32 -0400 | [diff] [blame] | 295 | PasswordChange |
Kateryna Kostiuk | ae660fd | 2018-04-24 14:10:41 -0400 | [diff] [blame] | 296 | MessageCells |
Kateryna Kostiuk | ecaa395 | 2018-07-13 16:00:34 -0400 | [diff] [blame] | 297 | AddSIPAccountVC |
Kateryna Kostiuk | 1f8c125 | 2018-07-30 18:18:57 -0400 | [diff] [blame] | 298 | AccountSettings |
Kateryna Kostiuk | f631742 | 2018-09-27 17:08:20 -0400 | [diff] [blame] | 299 | LeaveMessageVC |
Kateryna Kostiuk | fbe1b2f | 2019-10-07 17:32:26 -0400 | [diff] [blame] | 300 | RecordFileVC |
Kateryna Kostiuk | 4db6109 | 2019-10-17 16:57:40 -0400 | [diff] [blame] | 301 | ChooseContactVC |
| 302 | CallInConferenceVC |
Kateryna Kostiuk | c7e68f3 | 2019-10-09 16:15:45 -0400 | [diff] [blame] | 303 | ConnectToAccManagerVC |
Kateryna Kostiuk | 61d4116 | 2019-10-25 16:51:44 -0400 | [diff] [blame] | 304 | AccountBackupVC |
kkostiuk | c48e73e | 2021-04-13 09:20:08 -0400 | [diff] [blame] | 305 | FileToSendCollectionItem |
Alexandre Lision | 6200531 | 2016-01-28 15:55:16 -0500 | [diff] [blame] | 306 | ) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 307 | |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 308 | # Icons |
Alexandre Lision | 5db3e4e | 2015-03-24 17:25:55 -0400 | [diff] [blame] | 309 | # This part tells CMake where to find and install the file itself |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 310 | SET(myApp_ICON ${CMAKE_CURRENT_SOURCE_DIR}/data/appicon.icns) |
| 311 | SET_SOURCE_FILES_PROPERTIES(${myApp_ICON} PROPERTIES |
Alexandre Lision | 3278ffe | 2016-02-03 14:45:22 -0500 | [diff] [blame] | 312 | MACOSX_PACKAGE_LOCATION Resources) |
Alexandre Lision | 7f8351b | 2015-08-20 11:43:37 -0400 | [diff] [blame] | 313 | SET(ring_ICONS |
Kateryna Kostiuk | f631742 | 2018-09-27 17:08:20 -0400 | [diff] [blame] | 314 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_audio_file.png |
| 315 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_exit.png |
| 316 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_stoprecord.png |
| 317 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_audio.png |
Kateryna Kostiuk | 54d7697 | 2018-06-07 15:45:07 -0400 | [diff] [blame] | 318 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_audio.png |
Kateryna Kostiuk | 6773523 | 2018-05-10 15:05:32 -0400 | [diff] [blame] | 319 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_folder.png |
Andreas Traczyk | 252a94a | 2018-04-20 16:36:20 -0400 | [diff] [blame] | 320 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_block.png |
Kateryna Kostiuk | ae660fd | 2018-04-24 14:10:41 -0400 | [diff] [blame] | 321 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_attachment.png |
Andreas Traczyk | 87c999f | 2018-04-12 17:38:25 -0400 | [diff] [blame] | 322 | ${CMAKE_CURRENT_SOURCE_DIR}/data/default_avatar_overlay.png |
Alexandre Lision | 7f8351b | 2015-08-20 11:43:37 -0400 | [diff] [blame] | 323 | ${CMAKE_CURRENT_SOURCE_DIR}/data/symbol_name.png |
Alexandre Lision | e77f6f9 | 2016-04-17 23:39:39 -0400 | [diff] [blame] | 324 | ${CMAKE_CURRENT_SOURCE_DIR}/data/background-light.png |
| 325 | ${CMAKE_CURRENT_SOURCE_DIR}/data/background-dark.png |
Alexandre Lision | 3460703 | 2016-02-08 16:16:49 -0500 | [diff] [blame] | 326 | ${CMAKE_CURRENT_SOURCE_DIR}/data/symbol_blue.png |
Alexandre Lision | 6da08a8 | 2015-09-24 17:09:24 -0400 | [diff] [blame] | 327 | ${CMAKE_CURRENT_SOURCE_DIR}/data/background_tile.png |
kkostiuk | 4c020ed | 2021-04-13 10:58:25 -0400 | [diff] [blame] | 328 | ${CMAKE_CURRENT_SOURCE_DIR}/data/logo_white.png |
Alexandre Lision | 6200531 | 2016-01-28 15:55:16 -0500 | [diff] [blame] | 329 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_more.png |
| 330 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_dialpad.png |
Alexandre Lision | 7f8351b | 2015-08-20 11:43:37 -0400 | [diff] [blame] | 331 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_accept.png |
Alexandre Lision | 0f66bd3 | 2016-01-18 11:30:45 -0500 | [diff] [blame] | 332 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_arrow_back.png |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 333 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_call.png |
| 334 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_cancel.png |
Alexandre Lision | d18fa27 | 2015-06-15 11:18:03 -0400 | [diff] [blame] | 335 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_hangup.png |
| 336 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_hold.png |
| 337 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_holdoff.png |
| 338 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_mute_video.png |
| 339 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_mute_audio.png |
| 340 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_chat.png |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 341 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_search.png |
Alexandre Lision | f23ec5a | 2015-07-16 11:24:06 -0400 | [diff] [blame] | 342 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_quality.png |
Alexandre Lision | 266fca0 | 2015-09-28 14:47:05 -0400 | [diff] [blame] | 343 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_record.png |
Alexandre Lision | 4dfcafc | 2015-08-20 12:43:23 -0400 | [diff] [blame] | 344 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_call_received.png |
| 345 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_call_missed.png |
| 346 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_call_made.png |
Alexandre Lision | 883719f | 2015-10-22 17:37:45 -0400 | [diff] [blame] | 347 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_transfer.png |
Alexandre Lision | 89edc6a | 2015-11-09 11:30:47 -0500 | [diff] [blame] | 348 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_add_participant.png |
| 349 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_merge_calls.png |
Alexandre Lision | 0f66bd3 | 2016-01-18 11:30:45 -0500 | [diff] [blame] | 350 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_send.png |
Alexandre Lision | 4a7b95e | 2015-02-20 10:06:43 -0500 | [diff] [blame] | 351 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/audio.png |
Alexandre Lision | 2db8f47 | 2015-07-22 15:05:46 -0400 | [diff] [blame] | 352 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_person_add.png |
Alexandre Lision | 4dfcafc | 2015-08-20 12:43:23 -0400 | [diff] [blame] | 353 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_persons.png |
| 354 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_history.png |
Alexandre Lision | 4a7b95e | 2015-02-20 10:06:43 -0500 | [diff] [blame] | 355 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/general.png |
| 356 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/video.png |
Alexandre Lision | f46768f | 2016-04-18 09:56:26 -0400 | [diff] [blame] | 357 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_delete.png |
Alexandre Lision | fd0d6c8 | 2016-03-29 17:06:54 -0400 | [diff] [blame] | 358 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/qrcode.png |
Kateryna Kostiuk | db1f3a1 | 2017-04-24 12:08:28 -0400 | [diff] [blame] | 359 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_video.png |
Anthony Léonard | e7d62ed | 2018-01-25 10:51:47 -0500 | [diff] [blame] | 360 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/pending_contact_request.png |
Kateryna Kostiuk | 87ae2bf | 2018-05-04 13:46:17 -0400 | [diff] [blame] | 361 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_file_upload.png |
Kateryna Kostiuk | 88a6ee8 | 2019-09-10 17:55:08 -0400 | [diff] [blame] | 362 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_record_stop.png |
Kateryna Kostiuk | fbe1b2f | 2019-10-07 17:32:26 -0400 | [diff] [blame] | 363 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_camera.png |
Kateryna Kostiuk | a740481 | 2019-10-28 12:24:46 -0400 | [diff] [blame] | 364 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_audio_msg.png |
Kateryna Kostiuk | f362e2b | 2020-09-10 19:00:52 -0400 | [diff] [blame] | 365 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_group.png |
kkostiuk | 3a2c9f7 | 2021-01-27 10:30:49 -0500 | [diff] [blame] | 366 | ${CMAKE_CURRENT_SOURCE_DIR}/data/light/ic_picture.png |
| 367 | ${CMAKE_CURRENT_SOURCE_DIR}/data/light/ic_moderator.png |
| 368 | ${CMAKE_CURRENT_SOURCE_DIR}/data/light/ic_moderator_audio_muted.png |
| 369 | ${CMAKE_CURRENT_SOURCE_DIR}/data/light/ic_moderator_audio_unmuted.png |
| 370 | ${CMAKE_CURRENT_SOURCE_DIR}/data/light/ic_moderator_maximize.png |
| 371 | ${CMAKE_CURRENT_SOURCE_DIR}/data/light/ic_moderator_minimize.png |
| 372 | ${CMAKE_CURRENT_SOURCE_DIR}/data/light/ic_moderator_hangup.png |
kkostiuk | 305da2c | 2021-04-13 11:27:18 -0400 | [diff] [blame] | 373 | ${CMAKE_CURRENT_SOURCE_DIR}/data/light/ic_star.png |
| 374 | ${CMAKE_CURRENT_SOURCE_DIR}/data/light/ic_file.png) |
Alexandre Lision | 5db3e4e | 2015-03-24 17:25:55 -0400 | [diff] [blame] | 375 | |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 376 | SET_SOURCE_FILES_PROPERTIES(${ring_ICONS} PROPERTIES |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 377 | MACOSX_PACKAGE_LOCATION Resources) |
Alexandre Lision | bb30613 | 2015-03-27 11:30:02 -0400 | [diff] [blame] | 378 | SET_SOURCE_FILES_PROPERTIES(Credits.rtf PROPERTIES |
| 379 | MACOSX_PACKAGE_LOCATION Resources) |
Kateryna Kostiuk | 00dcbff | 2019-07-11 15:42:13 -0400 | [diff] [blame] | 380 | SET_SOURCE_FILES_PROPERTIES(Shader.metallib PROPERTIES |
| 381 | MACOSX_PACKAGE_LOCATION Resources) |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 382 | |
Alexandre Lision | 88ee6cc | 2016-05-05 14:32:43 -0400 | [diff] [blame] | 383 | # package ringtones |
| 384 | IF(NOT IS_DIRECTORY ${RINGTONE_DIR}) |
| 385 | MESSAGE("No ringtone folder provided, use RINGTONE_DIR to specify one") |
| 386 | SET(RINGTONE_DIR ${CMAKE_INSTALL_PREFIX}/share/ring/ringtones) |
| 387 | MESSAGE("Trying ${RINGTONE_DIR}") |
| 388 | ENDIF() |
Alexandre Lision | 3278ffe | 2016-02-03 14:45:22 -0500 | [diff] [blame] | 389 | |
Alexandre Lision | 88ee6cc | 2016-05-05 14:32:43 -0400 | [diff] [blame] | 390 | IF(IS_DIRECTORY ${RINGTONE_DIR}) |
| 391 | FILE(GLOB RINGTONE_LIST ${RINGTONE_DIR}/*) |
| 392 | FOREACH(RINGTONE ${RINGTONE_LIST}) |
| 393 | MESSAGE("Adding ringtone ${RINGTONE}") |
| 394 | GET_FILENAME_COMPONENT(FILE_PATH ${RINGTONE} ABSOLUTE) |
| 395 | SET(ring_RINGTONES ${ring_RINGTONES} ${FILE_PATH}) |
| 396 | ENDFOREACH() |
| 397 | ELSE() |
| 398 | MESSAGE("${RINGTONE_DIR} does not exist or is not readable") |
| 399 | ENDIF() |
Alexandre Lision | 3278ffe | 2016-02-03 14:45:22 -0500 | [diff] [blame] | 400 | |
| 401 | SET_SOURCE_FILES_PROPERTIES(${ring_RINGTONES} |
| 402 | PROPERTIES MACOSX_PACKAGE_LOCATION Resources/ringtones) |
Alexandre Lision | 46dc0c3 | 2015-09-15 10:22:59 -0400 | [diff] [blame] | 403 | |
| 404 | # Check which translations are found for LRC |
| 405 | SET(LRC_TRANSLATIONS_PATH ${CMAKE_INSTALL_PREFIX}/share/libringclient/translations) |
| 406 | FILE(GLOB QM_LIST ${LRC_TRANSLATIONS_PATH}/*.qm) |
| 407 | |
| 408 | FOREACH(QM_FILE ${QM_LIST}) |
| 409 | # Extract country code from filename |
| 410 | GET_FILENAME_COMPONENT(FILENAME ${QM_FILE} NAME_WE) |
| 411 | STRING(REGEX REPLACE "^lrc_" "" LANG ${FILENAME}) |
| 412 | |
| 413 | SET_SOURCE_FILES_PROPERTIES(${LRC_TRANSLATIONS_PATH}/lrc_${LANG}.qm |
| 414 | PROPERTIES MACOSX_PACKAGE_LOCATION Resources/QtTranslations) |
| 415 | SET(LOCALIZED_${LANG} ${LOCALIZED_${LANG}} |
| 416 | "${LRC_TRANSLATIONS_PATH}/lrc_${LANG}.qm") |
Alexandre Lision | 922380d | 2015-09-15 10:25:17 -0400 | [diff] [blame] | 417 | ENDFOREACH() |
| 418 | |
| 419 | # Check which translations are found for the client |
| 420 | FILE(GLOB LPROJ_LIST ui/*.lproj) |
| 421 | |
| 422 | FOREACH(LPROJ ${LPROJ_LIST}) |
| 423 | # Extract country code from <lang>.lproj folder name |
| 424 | GET_FILENAME_COMPONENT(LANG ${LPROJ} NAME_WE) |
| 425 | IF(EXISTS "${LPROJ}/Localizable.strings") |
| 426 | MESSAGE("Localizable:" ${LANG}) |
| 427 | SET_SOURCE_FILES_PROPERTIES(${LPROJ}/Localizable.strings |
Alexandre Lision | 3278ffe | 2016-02-03 14:45:22 -0500 | [diff] [blame] | 428 | PROPERTIES MACOSX_PACKAGE_LOCATION Resources/${LANG}.lproj) |
Alexandre Lision | 922380d | 2015-09-15 10:25:17 -0400 | [diff] [blame] | 429 | |
| 430 | SET(LOCALIZED_${LANG} ${LOCALIZED_${LANG}} |
| 431 | ${LPROJ}/Localizable.strings) |
| 432 | ENDIF() |
| 433 | FOREACH(xib ${ringclient_XIBS}) |
| 434 | IF(EXISTS "${LPROJ}/${xib}.strings") |
| 435 | SET_SOURCE_FILES_PROPERTIES(${LPROJ}/${xib}.strings |
Alexandre Lision | 3278ffe | 2016-02-03 14:45:22 -0500 | [diff] [blame] | 436 | PROPERTIES MACOSX_PACKAGE_LOCATION Resources/${LANG}.lproj) |
Alexandre Lision | 922380d | 2015-09-15 10:25:17 -0400 | [diff] [blame] | 437 | |
Alexandre Lision | 3278ffe | 2016-02-03 14:45:22 -0500 | [diff] [blame] | 438 | SET(LOCALIZED_${LANG} ${LOCALIZED_${LANG}} |
Alexandre Lision | 922380d | 2015-09-15 10:25:17 -0400 | [diff] [blame] | 439 | ${LPROJ}/${xib}.strings) |
| 440 | ENDIF() |
| 441 | ENDFOREACH() |
Alexandre Lision | 46dc0c3 | 2015-09-15 10:22:59 -0400 | [diff] [blame] | 442 | |
| 443 | # Regroup those files under a .lproj folder |
| 444 | SOURCE_GROUP("Resources\\${LANG}.lproj" FILES |
| 445 | ${LOCALIZED_${LANG}}) |
| 446 | # Add them to the list of files to package |
| 447 | SET(LOCALIZABLE_FILES ${LOCALIZABLE_FILES} ${LOCALIZED_${LANG}}) |
| 448 | ENDFOREACH() |
| 449 | |
Alexandre Lision | 5db3e4e | 2015-03-24 17:25:55 -0400 | [diff] [blame] | 450 | # append '.xib' extension before linking xib files in executable |
| 451 | FOREACH(xib ${ringclient_XIBS}) |
Alexandre Lision | 922380d | 2015-09-15 10:25:17 -0400 | [diff] [blame] | 452 | 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] | 453 | ENDFOREACH() |
| 454 | |
Alexandre Lision | 46dc0c3 | 2015-09-15 10:22:59 -0400 | [diff] [blame] | 455 | SET(TO_ADD |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 456 | ${ringclient_CONTROLLERS} |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 457 | ${ringclient_VIEWS} |
| 458 | ${ringclient_OTHERS} |
Alexandre Lision | 5db3e4e | 2015-03-24 17:25:55 -0400 | [diff] [blame] | 459 | ${ringclient_XIBS_FOR_EXECUTABLE} |
Alexandre Lision | 46dc0c3 | 2015-09-15 10:22:59 -0400 | [diff] [blame] | 460 | ${LOCALIZABLE_FILES} |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 461 | ${myApp_ICON} |
Alexandre Lision | bb30613 | 2015-03-27 11:30:02 -0400 | [diff] [blame] | 462 | Credits.rtf |
Kateryna Kostiuk | 00dcbff | 2019-07-11 15:42:13 -0400 | [diff] [blame] | 463 | Shader.metallib |
Alexandre Lision | 3278ffe | 2016-02-03 14:45:22 -0500 | [diff] [blame] | 464 | ${ring_ICONS} |
| 465 | ${ring_RINGTONES}) |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 466 | |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 467 | IF(ENABLE_SPARKLE) |
| 468 | SET( TO_ADD ${TO_ADD} ${PUBLIC_KEY} ${SPARKLE_FRAMEWORK}) |
| 469 | ENDIF(ENABLE_SPARKLE) |
| 470 | |
| 471 | ADD_EXECUTABLE(${PROJ_NAME} MACOSX_BUNDLE ${TO_ADD}) |
| 472 | |
Alexandre Lision | fd0d6c8 | 2016-03-29 17:06:54 -0400 | [diff] [blame] | 473 | ADD_DEPENDENCIES(${PROJ_NAME} libqrencode) |
| 474 | |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 475 | # Follow Xcode hierarchy principles |
| 476 | SOURCE_GROUP("Controllers" FILES ${ringclient_CONTROLLERS}) |
| 477 | SOURCE_GROUP("Backends" FILES ${ringclient_BACKENDS}) |
| 478 | SOURCE_GROUP("CustomViews" FILES ${ringclient_VIEWS}) |
| 479 | SOURCE_GROUP("Classes" FILES ${ringclient_OTHERS}) |
Alexandre Lision | 46dc0c3 | 2015-09-15 10:22:59 -0400 | [diff] [blame] | 480 | SOURCE_GROUP("Resources\\Interface Builder" FILES |
| 481 | ${ringclient_XIBS_FOR_EXECUTABLE}) |
Alexandre Lision | 3278ffe | 2016-02-03 14:45:22 -0500 | [diff] [blame] | 482 | SOURCE_GROUP("Resources\\ringtones" FILES ${ring_RINGTONES}) |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 483 | |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 484 | IF(ENABLE_SPARKLE) |
| 485 | SOURCE_GROUP("Frameworks" FILES ${SPARKLE_FRAMEWORK}) |
| 486 | ENDIF(ENABLE_SPARKLE) |
Alexandre Lision | 4ba1802 | 2015-04-23 12:17:40 -0400 | [diff] [blame] | 487 | |
Alexandre Lision | b47b4c8 | 2015-01-20 11:29:03 -0500 | [diff] [blame] | 488 | TARGET_LINK_LIBRARIES( ${PROJ_NAME} |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 489 | ${LIB_RING_CLIENT_LIBRARY} |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 490 | ${Qt5Core_LIBRARIES} |
Alexandre Lision | 3b0bd33 | 2015-03-15 18:43:07 -0400 | [diff] [blame] | 491 | ${Qt5MacExtras_LIBRARIES} |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 492 | ${Qt5Widgets_LIBRARIES} |
Anthony Léonard | 14e7bf3 | 2017-06-08 08:13:16 -0400 | [diff] [blame] | 493 | ${OPENGL_LIBRARIES} |
Alexandre Lision | fd0d6c8 | 2016-03-29 17:06:54 -0400 | [diff] [blame] | 494 | -lqrencode |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 495 | ) |
| 496 | |
Kateryna Kostiuk | 00dcbff | 2019-07-11 15:42:13 -0400 | [diff] [blame] | 497 | target_link_libraries(${PROJ_NAME} ${PARENT_DIR}/daemon/contrib/x86_64-apple-darwin${CMAKE_SYSTEM_VERSION}/lib/libavutil.a) |
| 498 | |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 499 | IF(ENABLE_SPARKLE) |
| 500 | TARGET_LINK_LIBRARIES(${PROJ_NAME} ${SPARKLE_FRAMEWORK}) |
| 501 | ENDIF(ENABLE_SPARKLE) |
| 502 | |
Alexandre Lision | f241c6a | 2015-03-24 14:53:47 -0400 | [diff] [blame] | 503 | SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AppKit") |
| 504 | SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Cocoa") |
| 505 | SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Quartz") |
| 506 | SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AVFoundation") |
| 507 | SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AddressBook") |
Alexandre Lision | b9f3f94 | 2016-07-23 14:29:33 -0400 | [diff] [blame] | 508 | SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework SystemConfiguration") |
Kateryna Kostiuk | 00dcbff | 2019-07-11 15:42:13 -0400 | [diff] [blame] | 509 | SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework MetalKit") |
| 510 | SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Metal") |
Kateryna Kostiuk | d5aded7 | 2020-11-06 17:03:42 -0500 | [diff] [blame] | 511 | SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework IOKit") |
Alexandre Lision | f241c6a | 2015-03-24 14:53:47 -0400 | [diff] [blame] | 512 | |
| 513 | # 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] | 514 | SET(MACOSX_BUNDLE_NSMAIN_NIB_FILE "MainMenu") |
| 515 | SET(MACOSX_BUNDLE_NSPRINCIPAL_CLASS "NSApplication") |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 516 | |
Kateryna Kostiuk | 5d10ee2 | 2018-05-16 10:09:05 -0400 | [diff] [blame] | 517 | # App store version should be sandboxed and using different bundle identifier |
| 518 | IF("${RELEASE_TYPE}" STREQUAL "AppStore") |
| 519 | SET_TARGET_PROPERTIES(${PROJ_NAME} PROPERTIES |
| 520 | MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/cmake/MacOSXBundleInfo.plist.in |
| 521 | MACOSX_BUNDLE_GUI_IDENTIFIER "com.savoirfairelinux.ring.macos" |
Kateryna Kostiuk | 85a334e | 2018-12-03 15:54:19 -0500 | [diff] [blame] | 522 | XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_CURRENT_LIST_DIR}/data/Jami.entitlements" |
Kateryna Kostiuk | 5d10ee2 | 2018-05-16 10:09:05 -0400 | [diff] [blame] | 523 | MACOSX_BUNDLE_SHORT_VERSION_STRING "${RING_VERSION_NAME}" |
| 524 | MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJ_NAME} ${RING_VERSION_NAME}" |
| 525 | MACOSX_BUNDLE_BUNDLE_VERSION ${RING_VERSION} |
| 526 | MACOSX_BUNDLE_COPYRIGHT "${PROJ_COPYRIGHT}" |
| 527 | MACOSX_BUNDLE_INFO_STRING "Build of ${PROJ_NAME}, version ${RING_VERSION}" |
| 528 | MACOSX_BUNDLE_BUNDLE_NAME ${PROJ_NAME} |
| 529 | MACOSX_BUNDLE_ICON_FILE "appicon.icns" |
| 530 | ) |
| 531 | ELSE() |
| 532 | SET_TARGET_PROPERTIES(${PROJ_NAME} PROPERTIES |
Alexandre Lision | b47b4c8 | 2015-01-20 11:29:03 -0500 | [diff] [blame] | 533 | MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/cmake/MacOSXBundleInfo.plist.in |
| 534 | MACOSX_BUNDLE_GUI_IDENTIFIER "cx.ring" |
Kateryna Kostiuk | 03ce9b2 | 2019-07-15 08:58:09 -0400 | [diff] [blame] | 535 | XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_CURRENT_LIST_DIR}/data/HardenedRuntimeEntitlements/Jami.entitlements" |
Alexandre Lision | 7208b76 | 2015-08-13 12:39:49 -0400 | [diff] [blame] | 536 | MACOSX_BUNDLE_SHORT_VERSION_STRING "${RING_VERSION_NAME}" |
Anthony Léonard | f79fd7c | 2018-01-31 13:28:46 -0500 | [diff] [blame] | 537 | MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJ_NAME} ${RING_VERSION_NAME}" |
Alexandre Lision | 7208b76 | 2015-08-13 12:39:49 -0400 | [diff] [blame] | 538 | MACOSX_BUNDLE_BUNDLE_VERSION ${RING_VERSION} |
Alexandre Lision | bb30613 | 2015-03-27 11:30:02 -0400 | [diff] [blame] | 539 | MACOSX_BUNDLE_COPYRIGHT "${PROJ_COPYRIGHT}" |
Anthony Léonard | f79fd7c | 2018-01-31 13:28:46 -0500 | [diff] [blame] | 540 | MACOSX_BUNDLE_INFO_STRING "Build of ${PROJ_NAME}, version ${RING_VERSION}" |
Alexandre Lision | b47b4c8 | 2015-01-20 11:29:03 -0500 | [diff] [blame] | 541 | MACOSX_BUNDLE_BUNDLE_NAME ${PROJ_NAME} |
| 542 | MACOSX_BUNDLE_ICON_FILE "appicon.icns" |
Kateryna Kostiuk | 03ce9b2 | 2019-07-15 08:58:09 -0400 | [diff] [blame] | 543 | XCODE_ATTRIBUTE_ENABLE_HARDENED_RUNTIME TRUE |
Alexandre Lision | b47b4c8 | 2015-01-20 11:29:03 -0500 | [diff] [blame] | 544 | ) |
Kateryna Kostiuk | 5d10ee2 | 2018-05-16 10:09:05 -0400 | [diff] [blame] | 545 | ENDIF() |
Kateryna Kostiuk | 09365c0 | 2019-09-13 14:23:27 -0400 | [diff] [blame] | 546 | set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf-with-dsym") |
Alexandre Lision | f241c6a | 2015-03-24 14:53:47 -0400 | [diff] [blame] | 547 | # Make sure we can find the 'ibtool' program. If we can NOT find it we |
| 548 | # skip generation of this project |
| 549 | FIND_PROGRAM(IBTOOL ibtool HINTS "/usr/bin" "${OSX_DEVELOPER_ROOT}/usr/bin") |
| 550 | IF(${IBTOOL} STREQUAL "IBTOOL-NOTFOUND") |
| 551 | MESSAGE(SEND_ERROR "ibtool can not be found and is needed to compile the .xib files. It should have been installed with |
| 552 | the Apple developer tools. The default system paths were searched in addition to ${OSX_DEVELOPER_ROOT}/usr/bin") |
| 553 | endif() |
| 554 | |
Alexandre Lision | f241c6a | 2015-03-24 14:53:47 -0400 | [diff] [blame] | 555 | # Compile the .xib files using the 'ibtool' program with the destination being the app package |
| 556 | FOREACH(xib ${ringclient_XIBS}) |
| 557 | ADD_CUSTOM_COMMAND(TARGET ${PROJ_NAME} POST_BUILD |
| 558 | COMMAND ${IBTOOL} --errors --warnings --notices --output-format human-readable-text |
Alexandre Lision | 922380d | 2015-09-15 10:25:17 -0400 | [diff] [blame] | 559 | --compile ${CMAKE_CURRENT_BINARY_DIR}/\${CONFIGURATION}/${PROJ_NAME}.app/Contents/Resources/Base.lproj/${xib}.nib |
| 560 | ${CMAKE_CURRENT_SOURCE_DIR}/ui/Base.lproj/${xib}.xib |
| 561 | COMMENT "Compiling ${CMAKE_CURRENT_SOURCE_DIR}/ui/Base.lproj/${xib}.xib") |
Alexandre Lision | f241c6a | 2015-03-24 14:53:47 -0400 | [diff] [blame] | 562 | |
| 563 | ENDFOREACH() |
Alexandre Lision | e7e01ba | 2015-03-30 13:30:51 -0400 | [diff] [blame] | 564 | |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 565 | SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${CMAKE_INSTALL_PREFIX}) |
Alexandre Lision | e7e01ba | 2015-03-30 13:30:51 -0400 | [diff] [blame] | 566 | |
| 567 | SET(APPS "\${CMAKE_INSTALL_PREFIX}/${PROJ_NAME}.app") |
| 568 | |
Alexandre Lision | e7e01ba | 2015-03-30 13:30:51 -0400 | [diff] [blame] | 569 | INSTALL(TARGETS ${PROJ_NAME} BUNDLE DESTINATION . COMPONENT Runtime) |
| 570 | |
Alexandre Lision | 3a70f4f | 2015-04-15 14:18:26 -0400 | [diff] [blame] | 571 | SET(QT_PLUGINS_DESTDIR ${PROJ_NAME}.app/Contents/Plugins) |
Alexandre Lision | e7e01ba | 2015-03-30 13:30:51 -0400 | [diff] [blame] | 572 | #-------------------------------------------------------------------------------- |
| 573 | # Install needed Qt plugins by copying directories from the qt installation |
Alexandre Lision | 3a70f4f | 2015-04-15 14:18:26 -0400 | [diff] [blame] | 574 | |
| 575 | |
| 576 | #MESSAGE("GUI====") |
| 577 | #foreach(plugin ${Qt5Gui_PLUGINS}) |
| 578 | # message("Plugin ${plugin} is at location ${_loc}") |
| 579 | #endforeach() |
| 580 | |
| 581 | LIST(APPEND QT_PLUGINS_IMAGEFORMAT Qt5::QTgaPlugin |
| 582 | Qt5::QGifPlugin |
| 583 | Qt5::QICNSPlugin |
| 584 | Qt5::QICOPlugin |
| 585 | Qt5::QJpegPlugin |
Alexandre Lision | 8ac5c84 | 2017-03-18 08:45:31 +0100 | [diff] [blame] | 586 | Qt5::QTiffPlugin) |
Alexandre Lision | 3a70f4f | 2015-04-15 14:18:26 -0400 | [diff] [blame] | 587 | |
| 588 | # we need two plugin directories platform and imageformats |
| 589 | GET_TARGET_PROPERTY(_loc Qt5::QCocoaIntegrationPlugin LOCATION) |
| 590 | INSTALL(FILES ${_loc} DESTINATION ${QT_PLUGINS_DESTDIR}/platforms COMPONENT Runtime) |
| 591 | LIST(APPEND QT_PLUGINS Qt5::QCocoaIntegrationPlugin) |
| 592 | |
| 593 | FOREACH(plugin ${QT_PLUGINS_IMAGEFORMAT}) |
Alexandre Lision | e7e01ba | 2015-03-30 13:30:51 -0400 | [diff] [blame] | 594 | GET_TARGET_PROPERTY(_loc ${plugin} LOCATION) |
Alexandre Lision | 3a70f4f | 2015-04-15 14:18:26 -0400 | [diff] [blame] | 595 | INSTALL(FILES ${_loc} DESTINATION ${QT_PLUGINS_DESTDIR}/imageformats COMPONENT Runtime) |
| 596 | LIST(APPEND QT_PLUGINS ${plugin}) |
Alexandre Lision | e7e01ba | 2015-03-30 13:30:51 -0400 | [diff] [blame] | 597 | ENDFOREACH() |
| 598 | |
Anthony Léonard | 786d418 | 2017-11-08 14:26:31 -0500 | [diff] [blame] | 599 | # Add SQLite driver for QtSql |
| 600 | GET_TARGET_PROPERTY(_loc Qt5::QSQLiteDriverPlugin LOCATION) |
| 601 | INSTALL(FILES ${_loc} DESTINATION ${QT_PLUGINS_DESTDIR}/sqldrivers COMPONENT Runtime) |
| 602 | LIST(APPEND QT_PLUGINS Qt5::QSQLiteDriverPlugin) |
| 603 | |
Alexandre Lision | e7e01ba | 2015-03-30 13:30:51 -0400 | [diff] [blame] | 604 | # directories to look for dependencies |
Alexandre Lision | fd0d6c8 | 2016-03-29 17:06:54 -0400 | [diff] [blame] | 605 | SET(DIRS ${CMAKE_INSTALL_PREFIX}/lib |
| 606 | ${QT_LIB_DIR} |
| 607 | ${CMAKE_CURRENT_SOURCE_DIR}/sparkle |
| 608 | ${CMAKE_CURRENT_SOURCE_DIR}/libqrencode/lib) |
Alexandre Lision | e7e01ba | 2015-03-30 13:30:51 -0400 | [diff] [blame] | 609 | |
| 610 | INSTALL(CODE " |
| 611 | file(GLOB_RECURSE QTPLUGINS |
| 612 | \"\${CMAKE_INSTALL_PREFIX}/${QT_PLUGINS_DESTDIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}\") |
| 613 | include(BundleUtilities) |
| 614 | SET(BU_CHMOD_BUNDLE_ITEMS TRUE) |
| 615 | fixup_bundle(\"${APPS}\" \"\${QTPLUGINS}\" \"${DIRS}\") |
| 616 | " COMPONENT Runtime) |
| 617 | |
| 618 | #================================ |
| 619 | # Packaging |
| 620 | #================================ |
| 621 | SET( CPACK_PACKAGE_DESCRIPTION_SUMMARY ${PROJ_NAME}) |
| 622 | SET( CPACK_PACKAGE_NAME ${PROJ_NAME} ) |
| 623 | SET( CPACK_PACKAGE_CONTACT "Alexandre Lision") |
| 624 | SET( CPACK_PACKAGE_VENDOR "Savoir-faire Linux") |
| 625 | SET( CPACK_PACKAGE_VERSION_MAJOR ${PROG_MAJOR_VERSION}) |
| 626 | SET( CPACK_PACKAGE_VERSION_MINOR ${PROG_MINOR_VERSION}) |
| 627 | SET( CPACK_PACKAGE_VERSION_PATCH ${PROG_PATCH_VERSION}) |
| 628 | SET(CPACK_BINARY_DRAGNDROP ON) |
| 629 | SET( CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}") |
| 630 | INCLUDE(CPack) |