blob: 8cfc88500f376bbe9d2ec116988eab1c08ca6109 [file] [log] [blame]
Alexandre Lision10e86dd2015-01-19 16:11:14 -05001CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
2
3IF(POLICY CMP0022)
4 CMAKE_POLICY(SET CMP0022 NEW)
5ENDIF(POLICY CMP0022)
6
Kateryna Kostiuk85a334e2018-12-03 15:54:19 -05007SET(PROJ_NAME Jami)
Kateryna Kostiuk5d10ee22018-05-16 10:09:05 -04008option(RELEASE_TYPE "RELEASE_TYPE" "website")
Alexandre Lision3d4143a2015-06-10 14:27:49 -04009
10# To build nighlies we need to update RING_VERSION with an optional command line arg
11IF("${RING_VERSION}" STREQUAL "")
Guillaume Roguez812d5502016-03-16 22:46:29 -040012 SET(RING_VERSION "1.0.0")
Alexandre Lision3d4143a2015-06-10 14:27:49 -040013ENDIF("${RING_VERSION}" STREQUAL "")
Kateryna Kostiuk5d10ee22018-05-16 10:09:05 -040014# if build for App Store version and build number should be incremented
15IF("${RELEASE_TYPE}" STREQUAL "AppStore")
Kateryna Kostiuk8e355252018-12-18 16:26:16 -050016 SET(RING_VERSION_NAME "1.32")
Kateryna Kostiuk5d10ee22018-05-16 10:09:05 -040017ELSE()
Kateryna Kostiuk8be23e52018-08-23 16:01:05 -040018 SET(RING_VERSION_NAME "1")
Kateryna Kostiuk5d10ee22018-05-16 10:09:05 -040019ENDIF()
Alexandre Lisionbb306132015-03-27 11:30:02 -040020
Alexandre Lision71b41512016-05-02 13:53:44 -040021MESSAGE("Building Ring version - " ${RING_VERSION_NAME} " " ${RING_VERSION})
Anthony Léonardf79fd7c2018-01-31 13:28:46 -050022SET(PROJ_COPYRIGHT " © 2015-2018 Savoir-faire Linux \n GPLv3 https://www.gnu.org/copyleft/gpl.html")
Alexandre Lisionb47b4c82015-01-20 11:29:03 -050023
Anthony Léonard643a3902017-12-19 15:40:17 -050024SET(CMAKE_CXX_STANDARD 14)
25
26ADD_DEFINITIONS("-stdlib=libc++ -fobjc-arc")
Alexandre Lision5855b6a2015-02-03 11:31:05 -050027
Alexandre Lisionb47b4c82015-01-20 11:29:03 -050028PROJECT(${PROJ_NAME})
Alexandre Lision10e86dd2015-01-19 16:11:14 -050029
Alexandre Lision10e86dd2015-01-19 16:11:14 -050030FIND_PACKAGE(Qt5Core REQUIRED)
Alexandre Lision3b0bd332015-03-15 18:43:07 -040031FIND_PACKAGE(Qt5MacExtras REQUIRED)
Alexandre Lision10e86dd2015-01-19 16:11:14 -050032FIND_PACKAGE(Qt5Widgets REQUIRED)
Anthony Léonard786d4182017-11-08 14:26:31 -050033FIND_PACKAGE(Qt5Sql REQUIRED)
Alexandre Lision10e86dd2015-01-19 16:11:14 -050034FIND_PACKAGE(LibRingClient REQUIRED)
Anthony Léonard14e7bf32017-06-08 08:13:16 -040035FIND_PACKAGE(OpenGL REQUIRED)
Alexandre Lision10e86dd2015-01-19 16:11:14 -050036
Alexandre Lisionfd0d6c82016-03-29 17:06:54 -040037EXECUTE_PROCESS(COMMAND git submodule update --init
38 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
39
40INCLUDE(ExternalProject)
41ExternalProject_Add(libqrencode
42 GIT_SUBMODULES libqrencode
43 SOURCE_DIR ${CMAKE_SOURCE_DIR}/libqrencode
44 BINARY_DIR ${CMAKE_SOURCE_DIR}/libqrencode
45 INSTALL_DIR ${CMAKE_SOURCE_DIR}/libqrencode
46 CONFIGURE_COMMAND
47 #hack to fix incomplete config.h on first run
48 COMMAND ./autogen.sh
49 COMMAND ./autogen.sh && ./configure --prefix=${CMAKE_SOURCE_DIR}/libqrencode
50 BUILD_COMMAND make
51 INSTALL_COMMAND make install)
52
53INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/libqrencode/include)
54LINK_DIRECTORIES(${CMAKE_SOURCE_DIR}/libqrencode/lib)
55
Alexandre Lision3d4143a2015-06-10 14:27:49 -040056IF(NOT (${ENABLE_SPARKLE} MATCHES false))
57 MESSAGE("Sparkle auto-update enabled")
58
59 # find_library searches in /Library/Frameworks by default
60 # We add an hint to our custom location
61
62 FIND_LIBRARY(SPARKLE_FRAMEWORK
63 NAMES Sparkle
64 HINTS ${CMAKE_CURRENT_SOURCE_DIR}/sparkle)
65 IF(EXISTS ${SPARKLE_FRAMEWORK})
66 SET(ENABLE_SPARKLE 1 CACHE BOOLEAN "Enable Sparkle")
67 ADD_DEFINITIONS(-DENABLE_SPARKLE=1)
68 MESSAGE("Sparkle is here:" ${SPARKLE_FRAMEWORK})
69 FIND_PATH(SPARKLE_INCLUDE_DIR Sparkle.h HINTS ${SPARKLE_FRAMEWORK}/Headers)
Alexandre Lision3d4143a2015-06-10 14:27:49 -040070 # we need to copy the public key to check the updates
71 SET(PUBLIC_KEY_PATH "${CMAKE_CURRENT_SOURCE_DIR}/sparkle/dsa_pub.pem")
72 IF(EXISTS ${PUBLIC_KEY_PATH})
73 MESSAGE(STATUS "Looking for Public Key - found")
74 SET_SOURCE_FILES_PROPERTIES(${PUBLIC_KEY_PATH} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
75 SET(PUBLIC_KEY ${PUBLIC_KEY_PATH})
76 ELSE(EXISTS ${PUBLIC_KEY_PATH})
77 MESSAGE(WARNING "Looking for Public Key - not found")
78 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")
79 ENDIF(EXISTS ${PUBLIC_KEY_PATH})
80 ELSE()
Alexandre Lisionfba8f792016-03-08 13:45:51 -050081 MESSAGE(WARNING "Sparkle framework not found, disabling it... to build it see README")
82 SET(ENABLE_SPARKLE 0 CACHE BOOLEAN "Enable Sparkle")
Alexandre Lision3d4143a2015-06-10 14:27:49 -040083 ENDIF(EXISTS ${SPARKLE_FRAMEWORK})
84ENDIF(NOT (${ENABLE_SPARKLE} MATCHES false))
85
Alexandre Lision10e86dd2015-01-19 16:11:14 -050086INCLUDE_DIRECTORIES(SYSTEM ${Qt5Core_INCLUDE_DIRS})
Alexandre Lision3b0bd332015-03-15 18:43:07 -040087INCLUDE_DIRECTORIES(SYSTEM ${Qt5MacExtras_INCLUDE_DIRS})
Alexandre Lision10e86dd2015-01-19 16:11:14 -050088INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
89INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR})
90INCLUDE_DIRECTORIES(${LIB_RING_CLIENT_INCLUDE_DIR})
Anthony Léonard14e7bf32017-06-08 08:13:16 -040091INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
Alexandre Lision10e86dd2015-01-19 16:11:14 -050092
Alexandre Lision04946de2016-03-08 09:31:38 -050093SET(CMAKE_MACOSX_RPATH ON)
94SET(CMAKE_SKIP_BUILD_RPATH FALSE)
95SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
96SET(CMAKE_INSTALL_RPATH "${CMAKE_CURRENT_SOURCE_DIR}")
97SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
98
Alexandre Lision3d4143a2015-06-10 14:27:49 -040099MESSAGE("LRC is here:" ${LIB_RING_CLIENT_INCLUDE_DIR})
Alexandre Lision10e86dd2015-01-19 16:11:14 -0500100SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
101
102#Files to compile
Alexandre Lision4ba18022015-04-23 12:17:40 -0400103SET(ringclient_CONTROLLERS
Alexandre Lision7d2a48b2015-03-30 14:59:58 -0400104 src/QNSTreeController.mm
Alexandre Lision4ba18022015-04-23 12:17:40 -0400105 src/QNSTreeController.h
Alexandre Lision7d2a48b2015-03-30 14:59:58 -0400106 src/CurrentCallVC.mm
Alexandre Lision4ba18022015-04-23 12:17:40 -0400107 src/CurrentCallVC.h
Alexandre Lision7d2a48b2015-03-30 14:59:58 -0400108 src/GeneralPrefsVC.mm
109 src/RingWizardWC.mm
Alexandre Lision4ba18022015-04-23 12:17:40 -0400110 src/RingWizardWC.h
111 src/RingWindowController.mm
112 src/RingWindowController.h
Alexandre Lisionbfa68f62015-09-10 08:38:42 -0400113 src/PreferencesWC.mm
114 src/PreferencesWC.h
Kateryna Kostiuk1f8c1252018-07-30 18:18:57 -0400115 src/AccSipGeneralVC.mm
116 src/AccSipGeneralVC.h
Alexandre Lision4ba18022015-04-23 12:17:40 -0400117 src/AccAdvancedVC.mm
118 src/AccAdvancedVC.h
Kateryna Kostiuk1f8c1252018-07-30 18:18:57 -0400119 src/AccRingGeneralVC.mm
120 src/AccRingGeneralVC.h
121 src/AccAdvancedSipVC.mm
122 src/AccAdvancedSipVC.h
123 src/AccAdvancedRingVC.mm
124 src/AccAdvancedRingVC.h
Alexandre Lision4de68ce2015-04-24 18:22:49 -0400125 src/CertificateWC.mm
126 src/CertificateWC.h
Alexandre Lision886cde12016-10-25 17:39:49 -0400127 src/BackupAccountWC.mm
128 src/BackupAccountWC.h
129 src/RestoreAccountWC.mm
130 src/RestoreAccountWC.h
Alexandre Lision4ba18022015-04-23 12:17:40 -0400131 src/AudioPrefsVC.mm
132 src/AudioPrefsVC.h
Alexandre Lision4ba18022015-04-23 12:17:40 -0400133 src/VideoPrefsVC.mm
134 src/VideoPrefsVC.h
135 src/GeneralPrefsVC.h
Alexandre Lision58cab672015-06-09 15:25:40 -0400136 src/ChatVC.mm
Alexandre Lision2db8f472015-07-22 15:05:46 -0400137 src/ChatVC.h
Alexandre Lision4dfcafc2015-08-20 12:43:23 -0400138 src/SmartViewVC.mm
Alexandre Lision883719f2015-10-22 17:37:45 -0400139 src/SmartViewVC.h
Alexandre Lision0f66bd32016-01-18 11:30:45 -0500140 src/ConversationVC.mm
Loïc Siret31d5cc02016-09-08 14:38:24 -0400141 src/ConversationVC.h
142 src/LoadingWCDelegate.h
143 src/AbstractLoadingWC.h
144 src/AbstractLoadingWC.mm
Alexandre Lision45f1f542016-08-25 15:16:17 -0400145 src/ExportPasswordWC.mm
146 src/ExportPasswordWC.h
Alexandre Lision624b1a82016-09-11 19:29:01 -0400147 src/MigrateRingAccountsWC.mm
148 src/MigrateRingAccountsWC.h
Loïc Siretfcb4ca62016-09-21 17:12:09 -0400149 src/RingWizardChooseVC.h
150 src/RingWizardChooseVC.mm
151 src/RingWizardLinkAccountVC.h
152 src/RingWizardLinkAccountVC.mm
153 src/RingWizardNewAccountVC.mm
154 src/RingWizardNewAccountVC.h
Alexandre Lision62005312016-01-28 15:55:16 -0500155 src/DialpadWC.mm
156 src/DialpadWC.h
Alexandre Lision34079c22016-10-31 16:14:02 -0400157 src/RegisterNameWC.mm
158 src/RegisterNameWC.h
Kateryna Kostiuk13b76882017-03-30 09:18:44 -0400159 src/ChooseAccountVC.h
160 src/ChooseAccountVC.mm
Kateryna Kostiuk58276bc2017-06-07 08:50:48 -0400161 src/MessagesVC.h
162 src/MessagesVC.mm
Anthony Léonard1f70f722017-10-02 10:53:32 -0400163 src/PasswordChangeWC.h
164 src/PasswordChangeWC.mm
Kateryna Kostiukecaa3952018-07-13 16:00:34 -0400165 src/LrcModelsProtocol.h
166 src/AddSIPAccountVC.mm
167 src/AddSIPAccountVC.h
Kateryna Kostiuk1f8c1252018-07-30 18:18:57 -0400168 src/AccountSettingsVC.mm
169 src/AccountSettingsVC.h
Kateryna Kostiukf6317422018-09-27 17:08:20 -0400170 src/LeaveMessageVC.mm
171 src/LeaveMessageVC.h
Loïc Siret31d5cc02016-09-08 14:38:24 -0400172)
Alexandre Lision74dd47f2015-04-14 13:47:42 -0400173
Alexandre Lision4ba18022015-04-23 12:17:40 -0400174SET(ringclient_BACKENDS
Alexandre Lision3b0bd332015-03-15 18:43:07 -0400175 src/backends/AddressBookBackend.mm
Alexandre Lision66643432015-06-04 11:59:36 -0400176 src/backends/AddressBookBackend.h)
Alexandre Lision4ba18022015-04-23 12:17:40 -0400177
178SET(ringclient_VIEWS
179 src/views/CallView.mm
180 src/views/CallView.h
Anthony Léonard14e7bf32017-06-08 08:13:16 -0400181 src/views/CallLayer.mm
182 src/views/CallLayer.h
Alexandre Lisionf47a2562015-06-15 15:48:29 -0400183 src/views/ITProgressIndicator.mm
184 src/views/ITProgressIndicator.h
Alexandre Lision2db8f472015-07-22 15:05:46 -0400185 src/views/RingOutlineView.mm
Alexandre Lision7f8351b2015-08-20 11:43:37 -0400186 src/views/RingOutlineView.h
Olivier Soldanod4311552017-11-20 15:09:53 -0500187 src/views/RingTableView.mm
188 src/views/RingTableView.h
Alexandre Lision7f8351b2015-08-20 11:43:37 -0400189 src/views/RingIDField.mm
Alexandre Lision4e280d62015-09-09 15:56:30 -0400190 src/views/RingIDField.h
191 src/views/HoverTableRowView.mm
192 src/views/HoverTableRowView.h
193 src/views/NSColor+RingTheme.mm
194 src/views/NSColor+RingTheme.h
Alexandre Lision261f1b92016-04-04 12:35:34 -0400195 src/views/NSImage+Extensions.mm
196 src/views/NSImage+Extensions.h
Alexandre Lision4e280d62015-09-09 15:56:30 -0400197 src/views/ContextualTableCellView.mm
Alexandre Lision6da08a82015-09-24 17:09:24 -0400198 src/views/ContextualTableCellView.h
199 src/views/IconButton.h
Alexandre Lision0f66bd32016-01-18 11:30:45 -0500200 src/views/IconButton.mm
Alexandre Lisione77f6f92016-04-17 23:39:39 -0400201 src/views/BackgroundView.h
202 src/views/BackgroundView.mm
Alexandre Lision0f66bd32016-01-18 11:30:45 -0500203 src/views/IMTableCellView.h
Kateryna Kostiuk13b76882017-03-30 09:18:44 -0400204 src/views/IMTableCellView.mm
205 src/views/AccountMenuItemView.h
Kateryna Kostiuka9e5c712017-05-15 16:46:16 -0400206 src/views/AccountMenuItemView.mm
Kateryna Kostiukd9039e92017-05-24 14:29:54 -0400207 src/views/RoundedTextField.h
Kateryna Kostiuk58276bc2017-06-07 08:50:48 -0400208 src/views/RoundedTextField.mm
209 src/views/MessageBubbleView.h
210 src/views/MessageBubbleView.mm
Kateryna Kostiuk64d025a2017-07-14 11:30:44 -0400211 src/views/SendMessagePanel.h
212 src/views/SendMessagePanel.mm
Kateryna Kostiuk958cd072017-07-14 15:56:35 -0400213 src/views/HoverButton.h
214 src/views/HoverButton.mm
Kateryna Kostiuk1f8c1252018-07-30 18:18:57 -0400215 src/views/CenteredClipView.h
216 src/views/CenteredClipView.mm
Kateryna Kostiuk58276bc2017-06-07 08:50:48 -0400217)
Alexandre Lision4ba18022015-04-23 12:17:40 -0400218
219SET(ringclient_OTHERS
220 src/main.mm
221 src/AppDelegate.mm
222 src/AppDelegate.h
Alexandre Lision9fe374b2016-01-06 10:17:31 -0500223 src/Constants.h
Alexandre Lision83180df2016-01-18 11:32:20 -0500224 src/INDSequentialTextSelectionManager.mm
225 src/INDSequentialTextSelectionManager.h
Alexandre Lision4ba18022015-04-23 12:17:40 -0400226 src/delegates/ImageManipulationDelegate.mm
Kateryna Kostiuka16c9862017-05-03 13:30:14 -0400227 src/delegates/ImageManipulationDelegate.h
228 src/AccountSelectionManager.h
Olivier Soldanod4311552017-11-20 15:09:53 -0500229 src/AccountSelectionManager.mm
Andreas Traczyk252a94a2018-04-20 16:36:20 -0400230 src/utils.h
231 src/NSString+Extensions.h
Kateryna Kostiuk465cfbe2018-06-05 16:13:05 -0400232 src/NSString+Extensions.mm
233 src/RingMainWindow.h
234 src/RingMainWindow.mm)
Alexandre Lision4ba18022015-04-23 12:17:40 -0400235
Alexandre Lision10e86dd2015-01-19 16:11:14 -0500236
Alexandre Lisionf241c6a2015-03-24 14:53:47 -0400237SET(ringclient_XIBS
238 MainMenu
239 RingWindow
240 CurrentCall
241 GeneralPrefs
Kateryna Kostiuk1f8c1252018-07-30 18:18:57 -0400242 AccSipGeneral
Kateryna Kostiuk1f8c1252018-07-30 18:18:57 -0400243 AccRingGeneral
244 AccAdvancedSip
245 AccAdvancedRing
Alexandre Lisionf241c6a2015-03-24 14:53:47 -0400246 AudioPrefs
247 VideoPrefs
Alexandre Lisionbfa68f62015-09-10 08:38:42 -0400248 PreferencesWindow
Alexandre Lision4de68ce2015-04-24 18:22:49 -0400249 RingWizard
Alexandre Lision2db8f472015-07-22 15:05:46 -0400250 CertificateWindow
Alexandre Lision886cde12016-10-25 17:39:49 -0400251 BackupAccountWindow
252 RestoreAccountWindow
Alexandre Lision45f1f542016-08-25 15:16:17 -0400253 ExportPasswordWindow
Alexandre Lision624b1a82016-09-11 19:29:01 -0400254 MigrateRingAccountsWindow
Alexandre Lision45f1f542016-08-25 15:16:17 -0400255 Conversation
Loïc Siretfcb4ca62016-09-21 17:12:09 -0400256 RingWizardLinkAccount
257 RingWizardNewAccount
Alexandre Lision62005312016-01-28 15:55:16 -0500258 RingWizardChoose
259 Dialpad
Alexandre Lision34079c22016-10-31 16:14:02 -0400260 RegisterNameWindow
Kateryna Kostiuk13b76882017-03-30 09:18:44 -0400261 AccountMenuItemView
Anthony Léonard1f70f722017-10-02 10:53:32 -0400262 PasswordChange
Kateryna Kostiukae660fd2018-04-24 14:10:41 -0400263 MessageCells
Kateryna Kostiukecaa3952018-07-13 16:00:34 -0400264 AddSIPAccountVC
Kateryna Kostiuk1f8c1252018-07-30 18:18:57 -0400265 AccountSettings
Kateryna Kostiukf6317422018-09-27 17:08:20 -0400266 LeaveMessageVC
Alexandre Lision62005312016-01-28 15:55:16 -0500267)
Alexandre Lision10e86dd2015-01-19 16:11:14 -0500268
Alexandre Lision10e86dd2015-01-19 16:11:14 -0500269# Icons
Alexandre Lision5db3e4e2015-03-24 17:25:55 -0400270# This part tells CMake where to find and install the file itself
Alexandre Lision10e86dd2015-01-19 16:11:14 -0500271SET(myApp_ICON ${CMAKE_CURRENT_SOURCE_DIR}/data/appicon.icns)
272SET_SOURCE_FILES_PROPERTIES(${myApp_ICON} PROPERTIES
Alexandre Lision3278ffe2016-02-03 14:45:22 -0500273 MACOSX_PACKAGE_LOCATION Resources)
Alexandre Lision7f8351b2015-08-20 11:43:37 -0400274SET(ring_ICONS
Kateryna Kostiukf6317422018-09-27 17:08:20 -0400275${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_audio_file.png
276${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_exit.png
277${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_stoprecord.png
278${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_audio.png
Kateryna Kostiuk54d76972018-06-07 15:45:07 -0400279${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_audio.png
Kateryna Kostiuk67735232018-05-10 15:05:32 -0400280${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_folder.png
Andreas Traczyk252a94a2018-04-20 16:36:20 -0400281${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_block.png
Kateryna Kostiukae660fd2018-04-24 14:10:41 -0400282${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_attachment.png
Andreas Traczyk87c999f2018-04-12 17:38:25 -0400283${CMAKE_CURRENT_SOURCE_DIR}/data/default_avatar_overlay.png
Alexandre Lision7f8351b2015-08-20 11:43:37 -0400284${CMAKE_CURRENT_SOURCE_DIR}/data/symbol_name.png
Alexandre Lisione77f6f92016-04-17 23:39:39 -0400285${CMAKE_CURRENT_SOURCE_DIR}/data/background-light.png
286${CMAKE_CURRENT_SOURCE_DIR}/data/background-dark.png
Alexandre Lision34607032016-02-08 16:16:49 -0500287${CMAKE_CURRENT_SOURCE_DIR}/data/symbol_blue.png
Alexandre Lision6da08a82015-09-24 17:09:24 -0400288${CMAKE_CURRENT_SOURCE_DIR}/data/background_tile.png
Alexandre Lision62005312016-01-28 15:55:16 -0500289${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_more.png
290${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_dialpad.png
Alexandre Lision7f8351b2015-08-20 11:43:37 -0400291${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_accept.png
Alexandre Lision0f66bd32016-01-18 11:30:45 -0500292${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_arrow_back.png
Alexandre Lision392ee722015-01-23 16:27:10 -0500293${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_call.png
294${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_cancel.png
Alexandre Lisiond18fa272015-06-15 11:18:03 -0400295${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_hangup.png
296${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_hold.png
297${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_holdoff.png
298${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_mute_video.png
299${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_mute_audio.png
300${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_chat.png
Alexandre Lision392ee722015-01-23 16:27:10 -0500301${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_search.png
Alexandre Lisionf23ec5a2015-07-16 11:24:06 -0400302${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_quality.png
Alexandre Lision266fca02015-09-28 14:47:05 -0400303${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_record.png
Alexandre Lision4dfcafc2015-08-20 12:43:23 -0400304${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_call_received.png
305${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_call_missed.png
306${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_call_made.png
Alexandre Lision883719f2015-10-22 17:37:45 -0400307${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_transfer.png
Alexandre Lision89edc6a2015-11-09 11:30:47 -0500308${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_add_participant.png
309${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_merge_calls.png
Alexandre Lisiond5229f32015-11-16 11:17:41 -0500310${CMAKE_CURRENT_SOURCE_DIR}/data/default_user_icon.png
Alexandre Lision0f66bd32016-01-18 11:30:45 -0500311${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_send.png
Alexandre Lision4a7b95e2015-02-20 10:06:43 -0500312${CMAKE_CURRENT_SOURCE_DIR}/data/dark/audio.png
Alexandre Lision2db8f472015-07-22 15:05:46 -0400313${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_person_add.png
Alexandre Lision4dfcafc2015-08-20 12:43:23 -0400314${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_persons.png
315${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_history.png
Alexandre Lision4a7b95e2015-02-20 10:06:43 -0500316${CMAKE_CURRENT_SOURCE_DIR}/data/dark/general.png
317${CMAKE_CURRENT_SOURCE_DIR}/data/dark/video.png
Alexandre Lisionf46768f2016-04-18 09:56:26 -0400318${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_delete.png
Alexandre Lisionfd0d6c82016-03-29 17:06:54 -0400319${CMAKE_CURRENT_SOURCE_DIR}/data/dark/qrcode.png
Kateryna Kostiukdb1f3a12017-04-24 12:08:28 -0400320${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_video.png
Anthony Léonarde7d62ed2018-01-25 10:51:47 -0500321${CMAKE_CURRENT_SOURCE_DIR}/data/dark/pending_contact_request.png
Kateryna Kostiuk87ae2bf2018-05-04 13:46:17 -0400322${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_file_upload.png
323${CMAKE_CURRENT_SOURCE_DIR}/data/light/ic_picture.png)
Alexandre Lision5db3e4e2015-03-24 17:25:55 -0400324
Alexandre Lision392ee722015-01-23 16:27:10 -0500325SET_SOURCE_FILES_PROPERTIES(${ring_ICONS} PROPERTIES
Alexandre Lision5855b6a2015-02-03 11:31:05 -0500326 MACOSX_PACKAGE_LOCATION Resources)
Alexandre Lisionbb306132015-03-27 11:30:02 -0400327SET_SOURCE_FILES_PROPERTIES(Credits.rtf PROPERTIES
328 MACOSX_PACKAGE_LOCATION Resources)
Alexandre Lision392ee722015-01-23 16:27:10 -0500329
Alexandre Lision88ee6cc2016-05-05 14:32:43 -0400330# package ringtones
331IF(NOT IS_DIRECTORY ${RINGTONE_DIR})
332 MESSAGE("No ringtone folder provided, use RINGTONE_DIR to specify one")
333 SET(RINGTONE_DIR ${CMAKE_INSTALL_PREFIX}/share/ring/ringtones)
334 MESSAGE("Trying ${RINGTONE_DIR}")
335ENDIF()
Alexandre Lision3278ffe2016-02-03 14:45:22 -0500336
Alexandre Lision88ee6cc2016-05-05 14:32:43 -0400337IF(IS_DIRECTORY ${RINGTONE_DIR})
338 FILE(GLOB RINGTONE_LIST ${RINGTONE_DIR}/*)
339 FOREACH(RINGTONE ${RINGTONE_LIST})
340 MESSAGE("Adding ringtone ${RINGTONE}")
341 GET_FILENAME_COMPONENT(FILE_PATH ${RINGTONE} ABSOLUTE)
342 SET(ring_RINGTONES ${ring_RINGTONES} ${FILE_PATH})
343 ENDFOREACH()
344ELSE()
345 MESSAGE("${RINGTONE_DIR} does not exist or is not readable")
346ENDIF()
Alexandre Lision3278ffe2016-02-03 14:45:22 -0500347
348SET_SOURCE_FILES_PROPERTIES(${ring_RINGTONES}
349 PROPERTIES MACOSX_PACKAGE_LOCATION Resources/ringtones)
Alexandre Lision46dc0c32015-09-15 10:22:59 -0400350
351# Check which translations are found for LRC
352SET(LRC_TRANSLATIONS_PATH ${CMAKE_INSTALL_PREFIX}/share/libringclient/translations)
353FILE(GLOB QM_LIST ${LRC_TRANSLATIONS_PATH}/*.qm)
354
355FOREACH(QM_FILE ${QM_LIST})
356 # Extract country code from filename
357 GET_FILENAME_COMPONENT(FILENAME ${QM_FILE} NAME_WE)
358 STRING(REGEX REPLACE "^lrc_" "" LANG ${FILENAME})
359
360 SET_SOURCE_FILES_PROPERTIES(${LRC_TRANSLATIONS_PATH}/lrc_${LANG}.qm
361 PROPERTIES MACOSX_PACKAGE_LOCATION Resources/QtTranslations)
362 SET(LOCALIZED_${LANG} ${LOCALIZED_${LANG}}
363 "${LRC_TRANSLATIONS_PATH}/lrc_${LANG}.qm")
Alexandre Lision922380d2015-09-15 10:25:17 -0400364ENDFOREACH()
365
366# Check which translations are found for the client
367FILE(GLOB LPROJ_LIST ui/*.lproj)
368
369FOREACH(LPROJ ${LPROJ_LIST})
370 # Extract country code from <lang>.lproj folder name
371 GET_FILENAME_COMPONENT(LANG ${LPROJ} NAME_WE)
372 IF(EXISTS "${LPROJ}/Localizable.strings")
373 MESSAGE("Localizable:" ${LANG})
374 SET_SOURCE_FILES_PROPERTIES(${LPROJ}/Localizable.strings
Alexandre Lision3278ffe2016-02-03 14:45:22 -0500375 PROPERTIES MACOSX_PACKAGE_LOCATION Resources/${LANG}.lproj)
Alexandre Lision922380d2015-09-15 10:25:17 -0400376
377 SET(LOCALIZED_${LANG} ${LOCALIZED_${LANG}}
378 ${LPROJ}/Localizable.strings)
379 ENDIF()
380 FOREACH(xib ${ringclient_XIBS})
381 IF(EXISTS "${LPROJ}/${xib}.strings")
382 SET_SOURCE_FILES_PROPERTIES(${LPROJ}/${xib}.strings
Alexandre Lision3278ffe2016-02-03 14:45:22 -0500383 PROPERTIES MACOSX_PACKAGE_LOCATION Resources/${LANG}.lproj)
Alexandre Lision922380d2015-09-15 10:25:17 -0400384
Alexandre Lision3278ffe2016-02-03 14:45:22 -0500385 SET(LOCALIZED_${LANG} ${LOCALIZED_${LANG}}
Alexandre Lision922380d2015-09-15 10:25:17 -0400386 ${LPROJ}/${xib}.strings)
387 ENDIF()
388 ENDFOREACH()
Alexandre Lision46dc0c32015-09-15 10:22:59 -0400389
390 # Regroup those files under a .lproj folder
391 SOURCE_GROUP("Resources\\${LANG}.lproj" FILES
392 ${LOCALIZED_${LANG}})
393 # Add them to the list of files to package
394 SET(LOCALIZABLE_FILES ${LOCALIZABLE_FILES} ${LOCALIZED_${LANG}})
395ENDFOREACH()
396
Alexandre Lision5db3e4e2015-03-24 17:25:55 -0400397# append '.xib' extension before linking xib files in executable
398FOREACH(xib ${ringclient_XIBS})
Alexandre Lision922380d2015-09-15 10:25:17 -0400399 SET(ringclient_XIBS_FOR_EXECUTABLE ${ringclient_XIBS_FOR_EXECUTABLE} ui/Base.lproj/${xib}.xib)
Alexandre Lision5db3e4e2015-03-24 17:25:55 -0400400ENDFOREACH()
401
Alexandre Lision46dc0c32015-09-15 10:22:59 -0400402SET(TO_ADD
Alexandre Lision4ba18022015-04-23 12:17:40 -0400403 ${ringclient_CONTROLLERS}
404 ${ringclient_BACKENDS}
405 ${ringclient_VIEWS}
406 ${ringclient_OTHERS}
Alexandre Lision5db3e4e2015-03-24 17:25:55 -0400407 ${ringclient_XIBS_FOR_EXECUTABLE}
Alexandre Lision46dc0c32015-09-15 10:22:59 -0400408 ${LOCALIZABLE_FILES}
Alexandre Lision392ee722015-01-23 16:27:10 -0500409 ${myApp_ICON}
Alexandre Lisionbb306132015-03-27 11:30:02 -0400410 Credits.rtf
Alexandre Lision3278ffe2016-02-03 14:45:22 -0500411 ${ring_ICONS}
412 ${ring_RINGTONES})
Alexandre Lision5855b6a2015-02-03 11:31:05 -0500413
Alexandre Lision3d4143a2015-06-10 14:27:49 -0400414IF(ENABLE_SPARKLE)
415 SET( TO_ADD ${TO_ADD} ${PUBLIC_KEY} ${SPARKLE_FRAMEWORK})
416ENDIF(ENABLE_SPARKLE)
417
418ADD_EXECUTABLE(${PROJ_NAME} MACOSX_BUNDLE ${TO_ADD})
419
Alexandre Lisionfd0d6c82016-03-29 17:06:54 -0400420ADD_DEPENDENCIES(${PROJ_NAME} libqrencode)
421
Alexandre Lision4ba18022015-04-23 12:17:40 -0400422# Follow Xcode hierarchy principles
423SOURCE_GROUP("Controllers" FILES ${ringclient_CONTROLLERS})
424SOURCE_GROUP("Backends" FILES ${ringclient_BACKENDS})
425SOURCE_GROUP("CustomViews" FILES ${ringclient_VIEWS})
426SOURCE_GROUP("Classes" FILES ${ringclient_OTHERS})
Alexandre Lision46dc0c32015-09-15 10:22:59 -0400427SOURCE_GROUP("Resources\\Interface Builder" FILES
428 ${ringclient_XIBS_FOR_EXECUTABLE})
Alexandre Lision3278ffe2016-02-03 14:45:22 -0500429SOURCE_GROUP("Resources\\ringtones" FILES ${ring_RINGTONES})
Alexandre Lision4ba18022015-04-23 12:17:40 -0400430
Alexandre Lision3d4143a2015-06-10 14:27:49 -0400431IF(ENABLE_SPARKLE)
432 SOURCE_GROUP("Frameworks" FILES ${SPARKLE_FRAMEWORK})
433ENDIF(ENABLE_SPARKLE)
Alexandre Lision4ba18022015-04-23 12:17:40 -0400434
Alexandre Lisionb47b4c82015-01-20 11:29:03 -0500435TARGET_LINK_LIBRARIES( ${PROJ_NAME}
Alexandre Lision10e86dd2015-01-19 16:11:14 -0500436 ${LIB_RING_CLIENT_LIBRARY}
Alexandre Lision5855b6a2015-02-03 11:31:05 -0500437 ${Qt5Core_LIBRARIES}
Alexandre Lision3b0bd332015-03-15 18:43:07 -0400438 ${Qt5MacExtras_LIBRARIES}
Alexandre Lision10e86dd2015-01-19 16:11:14 -0500439 ${Qt5Widgets_LIBRARIES}
Anthony Léonard14e7bf32017-06-08 08:13:16 -0400440 ${OPENGL_LIBRARIES}
Alexandre Lisionfd0d6c82016-03-29 17:06:54 -0400441 -lqrencode
Alexandre Lision10e86dd2015-01-19 16:11:14 -0500442)
443
Alexandre Lision3d4143a2015-06-10 14:27:49 -0400444IF(ENABLE_SPARKLE)
445 TARGET_LINK_LIBRARIES(${PROJ_NAME} ${SPARKLE_FRAMEWORK})
446ENDIF(ENABLE_SPARKLE)
447
Alexandre Lisionf241c6a2015-03-24 14:53:47 -0400448SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AppKit")
449SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Cocoa")
450SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Quartz")
451SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AVFoundation")
452SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AddressBook")
Alexandre Lisionb9f3f942016-07-23 14:29:33 -0400453SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework SystemConfiguration")
Alexandre Lisionf241c6a2015-03-24 14:53:47 -0400454
455# These variables are specific to our plist and are NOT standard CMake variables
Alexandre Lision3d4143a2015-06-10 14:27:49 -0400456SET(MACOSX_BUNDLE_NSMAIN_NIB_FILE "MainMenu")
457SET(MACOSX_BUNDLE_NSPRINCIPAL_CLASS "NSApplication")
Alexandre Lision392ee722015-01-23 16:27:10 -0500458
Kateryna Kostiuk5d10ee22018-05-16 10:09:05 -0400459# App store version should be sandboxed and using different bundle identifier
460IF("${RELEASE_TYPE}" STREQUAL "AppStore")
461 SET_TARGET_PROPERTIES(${PROJ_NAME} PROPERTIES
462 MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/cmake/MacOSXBundleInfo.plist.in
463 MACOSX_BUNDLE_GUI_IDENTIFIER "com.savoirfairelinux.ring.macos"
Kateryna Kostiuk85a334e2018-12-03 15:54:19 -0500464 XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_CURRENT_LIST_DIR}/data/Jami.entitlements"
Kateryna Kostiuk5d10ee22018-05-16 10:09:05 -0400465 MACOSX_BUNDLE_SHORT_VERSION_STRING "${RING_VERSION_NAME}"
466 MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJ_NAME} ${RING_VERSION_NAME}"
467 MACOSX_BUNDLE_BUNDLE_VERSION ${RING_VERSION}
468 MACOSX_BUNDLE_COPYRIGHT "${PROJ_COPYRIGHT}"
469 MACOSX_BUNDLE_INFO_STRING "Build of ${PROJ_NAME}, version ${RING_VERSION}"
470 MACOSX_BUNDLE_BUNDLE_NAME ${PROJ_NAME}
471 MACOSX_BUNDLE_ICON_FILE "appicon.icns"
472 )
473ELSE()
474 SET_TARGET_PROPERTIES(${PROJ_NAME} PROPERTIES
Alexandre Lisionb47b4c82015-01-20 11:29:03 -0500475 MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/cmake/MacOSXBundleInfo.plist.in
476 MACOSX_BUNDLE_GUI_IDENTIFIER "cx.ring"
Alexandre Lision7208b762015-08-13 12:39:49 -0400477 MACOSX_BUNDLE_SHORT_VERSION_STRING "${RING_VERSION_NAME}"
Anthony Léonardf79fd7c2018-01-31 13:28:46 -0500478 MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJ_NAME} ${RING_VERSION_NAME}"
Alexandre Lision7208b762015-08-13 12:39:49 -0400479 MACOSX_BUNDLE_BUNDLE_VERSION ${RING_VERSION}
Alexandre Lisionbb306132015-03-27 11:30:02 -0400480 MACOSX_BUNDLE_COPYRIGHT "${PROJ_COPYRIGHT}"
Anthony Léonardf79fd7c2018-01-31 13:28:46 -0500481 MACOSX_BUNDLE_INFO_STRING "Build of ${PROJ_NAME}, version ${RING_VERSION}"
Alexandre Lisionb47b4c82015-01-20 11:29:03 -0500482 MACOSX_BUNDLE_BUNDLE_NAME ${PROJ_NAME}
483 MACOSX_BUNDLE_ICON_FILE "appicon.icns"
484 )
Kateryna Kostiuk5d10ee22018-05-16 10:09:05 -0400485ENDIF()
Alexandre Lisionf241c6a2015-03-24 14:53:47 -0400486# Make sure we can find the 'ibtool' program. If we can NOT find it we
487# skip generation of this project
488FIND_PROGRAM(IBTOOL ibtool HINTS "/usr/bin" "${OSX_DEVELOPER_ROOT}/usr/bin")
489IF(${IBTOOL} STREQUAL "IBTOOL-NOTFOUND")
490 MESSAGE(SEND_ERROR "ibtool can not be found and is needed to compile the .xib files. It should have been installed with
491 the Apple developer tools. The default system paths were searched in addition to ${OSX_DEVELOPER_ROOT}/usr/bin")
492endif()
493
Alexandre Lisionf241c6a2015-03-24 14:53:47 -0400494# Compile the .xib files using the 'ibtool' program with the destination being the app package
495FOREACH(xib ${ringclient_XIBS})
496 ADD_CUSTOM_COMMAND(TARGET ${PROJ_NAME} POST_BUILD
497 COMMAND ${IBTOOL} --errors --warnings --notices --output-format human-readable-text
Alexandre Lision922380d2015-09-15 10:25:17 -0400498 --compile ${CMAKE_CURRENT_BINARY_DIR}/\${CONFIGURATION}/${PROJ_NAME}.app/Contents/Resources/Base.lproj/${xib}.nib
499 ${CMAKE_CURRENT_SOURCE_DIR}/ui/Base.lproj/${xib}.xib
500 COMMENT "Compiling ${CMAKE_CURRENT_SOURCE_DIR}/ui/Base.lproj/${xib}.xib")
Alexandre Lisionf241c6a2015-03-24 14:53:47 -0400501
502ENDFOREACH()
Alexandre Lisione7e01ba2015-03-30 13:30:51 -0400503
Alexandre Lision3d4143a2015-06-10 14:27:49 -0400504SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${CMAKE_INSTALL_PREFIX})
Alexandre Lisione7e01ba2015-03-30 13:30:51 -0400505
506SET(APPS "\${CMAKE_INSTALL_PREFIX}/${PROJ_NAME}.app")
507
Alexandre Lisione7e01ba2015-03-30 13:30:51 -0400508INSTALL(TARGETS ${PROJ_NAME} BUNDLE DESTINATION . COMPONENT Runtime)
509
Alexandre Lision3a70f4f2015-04-15 14:18:26 -0400510SET(QT_PLUGINS_DESTDIR ${PROJ_NAME}.app/Contents/Plugins)
Alexandre Lisione7e01ba2015-03-30 13:30:51 -0400511#--------------------------------------------------------------------------------
512# Install needed Qt plugins by copying directories from the qt installation
Alexandre Lision3a70f4f2015-04-15 14:18:26 -0400513
514
515#MESSAGE("GUI====")
516#foreach(plugin ${Qt5Gui_PLUGINS})
517# message("Plugin ${plugin} is at location ${_loc}")
518#endforeach()
519
520LIST(APPEND QT_PLUGINS_IMAGEFORMAT Qt5::QTgaPlugin
521 Qt5::QGifPlugin
522 Qt5::QICNSPlugin
523 Qt5::QICOPlugin
524 Qt5::QJpegPlugin
Alexandre Lision8ac5c842017-03-18 08:45:31 +0100525 Qt5::QTiffPlugin)
Alexandre Lision3a70f4f2015-04-15 14:18:26 -0400526
527# we need two plugin directories platform and imageformats
528GET_TARGET_PROPERTY(_loc Qt5::QCocoaIntegrationPlugin LOCATION)
529INSTALL(FILES ${_loc} DESTINATION ${QT_PLUGINS_DESTDIR}/platforms COMPONENT Runtime)
530LIST(APPEND QT_PLUGINS Qt5::QCocoaIntegrationPlugin)
531
532FOREACH(plugin ${QT_PLUGINS_IMAGEFORMAT})
Alexandre Lisione7e01ba2015-03-30 13:30:51 -0400533 GET_TARGET_PROPERTY(_loc ${plugin} LOCATION)
Alexandre Lision3a70f4f2015-04-15 14:18:26 -0400534 INSTALL(FILES ${_loc} DESTINATION ${QT_PLUGINS_DESTDIR}/imageformats COMPONENT Runtime)
535 LIST(APPEND QT_PLUGINS ${plugin})
Alexandre Lisione7e01ba2015-03-30 13:30:51 -0400536ENDFOREACH()
537
Anthony Léonard786d4182017-11-08 14:26:31 -0500538# Add SQLite driver for QtSql
539GET_TARGET_PROPERTY(_loc Qt5::QSQLiteDriverPlugin LOCATION)
540INSTALL(FILES ${_loc} DESTINATION ${QT_PLUGINS_DESTDIR}/sqldrivers COMPONENT Runtime)
541LIST(APPEND QT_PLUGINS Qt5::QSQLiteDriverPlugin)
542
Alexandre Lisione7e01ba2015-03-30 13:30:51 -0400543# directories to look for dependencies
Alexandre Lisionfd0d6c82016-03-29 17:06:54 -0400544SET(DIRS ${CMAKE_INSTALL_PREFIX}/lib
545 ${QT_LIB_DIR}
546 ${CMAKE_CURRENT_SOURCE_DIR}/sparkle
547 ${CMAKE_CURRENT_SOURCE_DIR}/libqrencode/lib)
Alexandre Lisione7e01ba2015-03-30 13:30:51 -0400548
549INSTALL(CODE "
550 file(GLOB_RECURSE QTPLUGINS
551 \"\${CMAKE_INSTALL_PREFIX}/${QT_PLUGINS_DESTDIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}\")
552 include(BundleUtilities)
553 SET(BU_CHMOD_BUNDLE_ITEMS TRUE)
554 fixup_bundle(\"${APPS}\" \"\${QTPLUGINS}\" \"${DIRS}\")
555 " COMPONENT Runtime)
556
557#================================
558# Packaging
559#================================
560SET( CPACK_PACKAGE_DESCRIPTION_SUMMARY ${PROJ_NAME})
561SET( CPACK_PACKAGE_NAME ${PROJ_NAME} )
562SET( CPACK_PACKAGE_CONTACT "Alexandre Lision")
563SET( CPACK_PACKAGE_VENDOR "Savoir-faire Linux")
564SET( CPACK_PACKAGE_VERSION_MAJOR ${PROG_MAJOR_VERSION})
565SET( CPACK_PACKAGE_VERSION_MINOR ${PROG_MINOR_VERSION})
566SET( CPACK_PACKAGE_VERSION_PATCH ${PROG_PATCH_VERSION})
567SET(CPACK_BINARY_DRAGNDROP ON)
568SET( CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}")
569INCLUDE(CPack)