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) |
| 8 | SET(RING_VERSION 1.0) |
| 9 | |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 10 | ADD_DEFINITIONS("-std=c++11") |
| 11 | |
Alexandre Lision | b47b4c8 | 2015-01-20 11:29:03 -0500 | [diff] [blame] | 12 | PROJECT(${PROJ_NAME}) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 13 | |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 14 | FIND_PACKAGE(Qt5Core REQUIRED) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 15 | FIND_PACKAGE(Qt5Widgets REQUIRED) |
| 16 | FIND_PACKAGE(LibRingClient REQUIRED) |
| 17 | |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 18 | INCLUDE_DIRECTORIES(SYSTEM ${Qt5Core_INCLUDE_DIRS}) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 19 | INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) |
| 20 | INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}) |
| 21 | INCLUDE_DIRECTORIES(${LIB_RING_CLIENT_INCLUDE_DIR}) |
| 22 | |
| 23 | MESSAGE("LibRingClient is here:" ${LIB_RING_CLIENT_INCLUDE_DIR}) |
| 24 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w") |
| 25 | |
| 26 | #Files to compile |
| 27 | SET(ringclient_SRCS |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 28 | main.mm |
| 29 | AppDelegate.mm |
| 30 | RingWindowController.mm |
| 31 | ConversationsViewController.mm |
Alexandre Lision | 4a7b95e | 2015-02-20 10:06:43 -0500 | [diff] [blame] | 32 | PreferencesViewController.mm |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 33 | QNSTreeController.mm |
Alexandre Lision | f5fc479 | 2015-03-17 09:15:43 -0400 | [diff] [blame] | 34 | AccGeneralVC.mm |
| 35 | AccAudioVC.mm |
| 36 | AccVideoVC.mm |
| 37 | AccRingVC.mm |
| 38 | AccAdvancedVC.mm |
| 39 | AccSecurityVC.mm |
| 40 | AccountsVC.mm |
Alexandre Lision | c514805 | 2015-03-04 15:10:35 -0500 | [diff] [blame] | 41 | CurrentCallVC.mm |
Alexandre Lision | 4a7b95e | 2015-02-20 10:06:43 -0500 | [diff] [blame] | 42 | AudioPrefsVC.mm |
| 43 | VideoPrefsVC.mm |
| 44 | GeneralPrefsVC.mm |
Alexandre Lision | 745e4d6 | 2015-03-22 20:03:10 -0400 | [diff] [blame^] | 45 | RingWizardWC.mm |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 46 | HistoryViewController.mm |
Alexandre Lision | 4a7b95e | 2015-02-20 10:06:43 -0500 | [diff] [blame] | 47 | MinimalHistoryBackend.mm) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 48 | |
| 49 | SET(ringclient_FORMS |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 50 | MainMenu.xib |
| 51 | RingWindow.xib |
Alexandre Lision | c514805 | 2015-03-04 15:10:35 -0500 | [diff] [blame] | 52 | CurrentCall.xib |
Alexandre Lision | 4a7b95e | 2015-02-20 10:06:43 -0500 | [diff] [blame] | 53 | GeneralPrefs.xib |
Alexandre Lision | f5fc479 | 2015-03-17 09:15:43 -0400 | [diff] [blame] | 54 | Accounts.xib |
| 55 | AccGeneral.xib |
| 56 | AccAudio.xib |
| 57 | AccVideo.xib |
| 58 | AccRing.xib |
| 59 | AccAdvanced.xib |
| 60 | AccSecurity.xib |
Alexandre Lision | 4a7b95e | 2015-02-20 10:06:43 -0500 | [diff] [blame] | 61 | AudioPrefs.xib |
| 62 | VideoPrefs.xib |
Alexandre Lision | 745e4d6 | 2015-03-22 20:03:10 -0400 | [diff] [blame^] | 63 | PreferencesScreen.xib |
| 64 | RingWizard.xib) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 65 | |
| 66 | SET(ringclient_HDRS |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 67 | AppDelegate.h |
| 68 | RingWindowController.h |
Alexandre Lision | c514805 | 2015-03-04 15:10:35 -0500 | [diff] [blame] | 69 | CurrentCallVC.h |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 70 | ConversationsViewController.h |
Alexandre Lision | 4a7b95e | 2015-02-20 10:06:43 -0500 | [diff] [blame] | 71 | PreferencesViewController.h |
Alexandre Lision | f5fc479 | 2015-03-17 09:15:43 -0400 | [diff] [blame] | 72 | AccGeneralVC.h |
| 73 | AccVideoVC.h |
| 74 | AccAudioVC.h |
| 75 | AccRingVC.h |
| 76 | AccAdvancedVC.h |
| 77 | AccSecurityVC.h |
Alexandre Lision | 4a7b95e | 2015-02-20 10:06:43 -0500 | [diff] [blame] | 78 | AudioPrefsVC.h |
Alexandre Lision | f5fc479 | 2015-03-17 09:15:43 -0400 | [diff] [blame] | 79 | AccountsVC.h |
Alexandre Lision | 4a7b95e | 2015-02-20 10:06:43 -0500 | [diff] [blame] | 80 | VideoPrefsVC.h |
| 81 | GeneralPrefsVC.h |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 82 | HistoryViewController.h |
Alexandre Lision | 745e4d6 | 2015-03-22 20:03:10 -0400 | [diff] [blame^] | 83 | RingWizardWC.h |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 84 | QNSTreeController.h |
| 85 | MinimalHistoryBackend.h) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 86 | |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 87 | # Icons |
| 88 | |
| 89 | # NOTE: Don't include the path in MACOSX_BUNDLE_ICON_FILE -- this is |
| 90 | # the property added to Info.plist |
Alexandre Lision | b47b4c8 | 2015-01-20 11:29:03 -0500 | [diff] [blame] | 91 | #SET(MACOSX_BUNDLE_ICON_FILE appicon.icns) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 92 | |
| 93 | # And this part tells CMake where to find and install the file itself |
| 94 | SET(myApp_ICON ${CMAKE_CURRENT_SOURCE_DIR}/data/appicon.icns) |
| 95 | SET_SOURCE_FILES_PROPERTIES(${myApp_ICON} PROPERTIES |
| 96 | MACOSX_PACKAGE_LOCATION "Resources") |
| 97 | |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 98 | SET(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 Lision | 4a7b95e | 2015-02-20 10:06:43 -0500 | [diff] [blame] | 104 | ${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 Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 108 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_video.png) |
| 109 | SET_SOURCE_FILES_PROPERTIES(${ring_ICONS} PROPERTIES |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 110 | MACOSX_PACKAGE_LOCATION Resources) |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 111 | |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 112 | SET_SOURCE_FILES_PROPERTIES(${ringclient_FORMS} PROPERTIES |
| 113 | MACOSX_PACKAGE_LOCATION Resources) |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 114 | |
Alexandre Lision | b47b4c8 | 2015-01-20 11:29:03 -0500 | [diff] [blame] | 115 | ADD_EXECUTABLE(${PROJ_NAME} MACOSX_BUNDLE |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 116 | ${ringclient_SRCS} |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 117 | ${ringclient_HDRS} |
| 118 | ${ringclient_FORMS} |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 119 | ${myApp_ICON} |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 120 | ${ring_ICONS}) |
| 121 | |
Alexandre Lision | b47b4c8 | 2015-01-20 11:29:03 -0500 | [diff] [blame] | 122 | TARGET_LINK_LIBRARIES( ${PROJ_NAME} |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 123 | ${LIB_RING_CLIENT_LIBRARY} |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 124 | ${Qt5Core_LIBRARIES} |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 125 | ${Qt5Widgets_LIBRARIES} |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 126 | ) |
| 127 | |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 128 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AppKit") |
| 129 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Cocoa") |
Alexandre Lision | 4a7b95e | 2015-02-20 10:06:43 -0500 | [diff] [blame] | 130 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Quartz") |
| 131 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AVFoundation") |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame] | 132 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AddressBook") |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 133 | |
Alexandre Lision | b47b4c8 | 2015-01-20 11:29:03 -0500 | [diff] [blame] | 134 | SET_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 | ) |