blob: 3b98a38e727a670e2f6b6f5014a54ff537652550 [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
Alexandre Lisionb47b4c82015-01-20 11:29:03 -05007SET(PROJ_NAME Ring)
8SET(RING_VERSION 1.0)
9
Alexandre Lision5855b6a2015-02-03 11:31:05 -050010ADD_DEFINITIONS("-std=c++11")
11
Alexandre Lisionb47b4c82015-01-20 11:29:03 -050012PROJECT(${PROJ_NAME})
Alexandre Lision10e86dd2015-01-19 16:11:14 -050013
Alexandre Lision10e86dd2015-01-19 16:11:14 -050014FIND_PACKAGE(Qt5Core REQUIRED)
Alexandre Lision10e86dd2015-01-19 16:11:14 -050015FIND_PACKAGE(Qt5Widgets REQUIRED)
16FIND_PACKAGE(LibRingClient REQUIRED)
17
Alexandre Lision10e86dd2015-01-19 16:11:14 -050018INCLUDE_DIRECTORIES(SYSTEM ${Qt5Core_INCLUDE_DIRS})
Alexandre Lision10e86dd2015-01-19 16:11:14 -050019INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
20INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR})
21INCLUDE_DIRECTORIES(${LIB_RING_CLIENT_INCLUDE_DIR})
22
23MESSAGE("LibRingClient is here:" ${LIB_RING_CLIENT_INCLUDE_DIR})
24SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
25
26#Files to compile
27SET(ringclient_SRCS
Alexandre Lision5855b6a2015-02-03 11:31:05 -050028 main.mm
29 AppDelegate.mm
30 RingWindowController.mm
31 ConversationsViewController.mm
Alexandre Lision4a7b95e2015-02-20 10:06:43 -050032 PreferencesViewController.mm
Alexandre Lision5855b6a2015-02-03 11:31:05 -050033 QNSTreeController.mm
Alexandre Lisionf5fc4792015-03-17 09:15:43 -040034 AccGeneralVC.mm
35 AccAudioVC.mm
36 AccVideoVC.mm
37 AccRingVC.mm
38 AccAdvancedVC.mm
39 AccSecurityVC.mm
40 AccountsVC.mm
Alexandre Lisionc5148052015-03-04 15:10:35 -050041 CurrentCallVC.mm
Alexandre Lision4a7b95e2015-02-20 10:06:43 -050042 AudioPrefsVC.mm
43 VideoPrefsVC.mm
44 GeneralPrefsVC.mm
Alexandre Lision745e4d62015-03-22 20:03:10 -040045 RingWizardWC.mm
Alexandre Lision5855b6a2015-02-03 11:31:05 -050046 HistoryViewController.mm
Alexandre Lision4a7b95e2015-02-20 10:06:43 -050047 MinimalHistoryBackend.mm)
Alexandre Lision10e86dd2015-01-19 16:11:14 -050048
49SET(ringclient_FORMS
Alexandre Lision5855b6a2015-02-03 11:31:05 -050050 MainMenu.xib
51 RingWindow.xib
Alexandre Lisionc5148052015-03-04 15:10:35 -050052 CurrentCall.xib
Alexandre Lision4a7b95e2015-02-20 10:06:43 -050053 GeneralPrefs.xib
Alexandre Lisionf5fc4792015-03-17 09:15:43 -040054 Accounts.xib
55 AccGeneral.xib
56 AccAudio.xib
57 AccVideo.xib
58 AccRing.xib
59 AccAdvanced.xib
60 AccSecurity.xib
Alexandre Lision4a7b95e2015-02-20 10:06:43 -050061 AudioPrefs.xib
62 VideoPrefs.xib
Alexandre Lision745e4d62015-03-22 20:03:10 -040063 PreferencesScreen.xib
64 RingWizard.xib)
Alexandre Lision10e86dd2015-01-19 16:11:14 -050065
66SET(ringclient_HDRS
Alexandre Lision5855b6a2015-02-03 11:31:05 -050067 AppDelegate.h
68 RingWindowController.h
Alexandre Lisionc5148052015-03-04 15:10:35 -050069 CurrentCallVC.h
Alexandre Lision5855b6a2015-02-03 11:31:05 -050070 ConversationsViewController.h
Alexandre Lision4a7b95e2015-02-20 10:06:43 -050071 PreferencesViewController.h
Alexandre Lisionf5fc4792015-03-17 09:15:43 -040072 AccGeneralVC.h
73 AccVideoVC.h
74 AccAudioVC.h
75 AccRingVC.h
76 AccAdvancedVC.h
77 AccSecurityVC.h
Alexandre Lision4a7b95e2015-02-20 10:06:43 -050078 AudioPrefsVC.h
Alexandre Lisionf5fc4792015-03-17 09:15:43 -040079 AccountsVC.h
Alexandre Lision4a7b95e2015-02-20 10:06:43 -050080 VideoPrefsVC.h
81 GeneralPrefsVC.h
Alexandre Lision5855b6a2015-02-03 11:31:05 -050082 HistoryViewController.h
Alexandre Lision745e4d62015-03-22 20:03:10 -040083 RingWizardWC.h
Alexandre Lision5855b6a2015-02-03 11:31:05 -050084 QNSTreeController.h
85 MinimalHistoryBackend.h)
Alexandre Lision10e86dd2015-01-19 16:11:14 -050086
Alexandre Lision10e86dd2015-01-19 16:11:14 -050087# Icons
88
89# NOTE: Don't include the path in MACOSX_BUNDLE_ICON_FILE -- this is
90# the property added to Info.plist
Alexandre Lisionb47b4c82015-01-20 11:29:03 -050091#SET(MACOSX_BUNDLE_ICON_FILE appicon.icns)
Alexandre Lision10e86dd2015-01-19 16:11:14 -050092
93# And this part tells CMake where to find and install the file itself
94SET(myApp_ICON ${CMAKE_CURRENT_SOURCE_DIR}/data/appicon.icns)
95SET_SOURCE_FILES_PROPERTIES(${myApp_ICON} PROPERTIES
96 MACOSX_PACKAGE_LOCATION "Resources")
97
Alexandre Lision392ee722015-01-23 16:27:10 -050098SET(ring_ICONS ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_accept.png
99${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_call.png
100${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_cancel.png
101${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_email.png
102${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_new_email.png
103${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_search.png
Alexandre Lision4a7b95e2015-02-20 10:06:43 -0500104${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ancrage.png
105${CMAKE_CURRENT_SOURCE_DIR}/data/dark/audio.png
106${CMAKE_CURRENT_SOURCE_DIR}/data/dark/general.png
107${CMAKE_CURRENT_SOURCE_DIR}/data/dark/video.png
Alexandre Lision392ee722015-01-23 16:27:10 -0500108${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_video.png)
109SET_SOURCE_FILES_PROPERTIES(${ring_ICONS} PROPERTIES
Alexandre Lision5855b6a2015-02-03 11:31:05 -0500110 MACOSX_PACKAGE_LOCATION Resources)
Alexandre Lision392ee722015-01-23 16:27:10 -0500111
Alexandre Lision5855b6a2015-02-03 11:31:05 -0500112SET_SOURCE_FILES_PROPERTIES(${ringclient_FORMS} PROPERTIES
113 MACOSX_PACKAGE_LOCATION Resources)
Alexandre Lision392ee722015-01-23 16:27:10 -0500114
Alexandre Lisionb47b4c82015-01-20 11:29:03 -0500115ADD_EXECUTABLE(${PROJ_NAME} MACOSX_BUNDLE
Alexandre Lision10e86dd2015-01-19 16:11:14 -0500116 ${ringclient_SRCS}
Alexandre Lision5855b6a2015-02-03 11:31:05 -0500117 ${ringclient_HDRS}
118 ${ringclient_FORMS}
Alexandre Lision392ee722015-01-23 16:27:10 -0500119 ${myApp_ICON}
Alexandre Lision5855b6a2015-02-03 11:31:05 -0500120 ${ring_ICONS})
121
Alexandre Lisionb47b4c82015-01-20 11:29:03 -0500122TARGET_LINK_LIBRARIES( ${PROJ_NAME}
Alexandre Lision10e86dd2015-01-19 16:11:14 -0500123 ${LIB_RING_CLIENT_LIBRARY}
Alexandre Lision5855b6a2015-02-03 11:31:05 -0500124 ${Qt5Core_LIBRARIES}
Alexandre Lision10e86dd2015-01-19 16:11:14 -0500125 ${Qt5Widgets_LIBRARIES}
Alexandre Lision10e86dd2015-01-19 16:11:14 -0500126)
127
Alexandre Lision5855b6a2015-02-03 11:31:05 -0500128set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AppKit")
129set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Cocoa")
Alexandre Lision4a7b95e2015-02-20 10:06:43 -0500130set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Quartz")
131set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AVFoundation")
Alexandre Lision5855b6a2015-02-03 11:31:05 -0500132set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AddressBook")
Alexandre Lision392ee722015-01-23 16:27:10 -0500133
Alexandre Lisionb47b4c82015-01-20 11:29:03 -0500134SET_TARGET_PROPERTIES(${PROJ_NAME} PROPERTIES
135 MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/cmake/MacOSXBundleInfo.plist.in
136 MACOSX_BUNDLE_GUI_IDENTIFIER "cx.ring"
137 MACOSX_BUNDLE_SHORT_VERSION_STRING ${RING_VERSION}
138 MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJ_NAME} ${RING_VERSION} Nightly"
139 MACOSX_BUNDLE_BUNDLE_VERSION ${RING_VERSION}
140 MACOSX_BUNDLE_COPYRIGHT "${PROJ_NAME}"
141 MACOSX_BUNDLE_INFO_STRING "Nightly build of ${PROJ_NAME} ${RING_VERSION} for testing and development"
142 MACOSX_BUNDLE_BUNDLE_NAME ${PROJ_NAME}
143 MACOSX_BUNDLE_ICON_FILE "appicon.icns"
144 )