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 |
| 32 | PreferencesWindowController.mm |
| 33 | QNSTreeController.mm |
| 34 | HistoryViewController.mm |
| 35 | MinimalHistoryBackend.cpp) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 36 | |
| 37 | SET(ringclient_FORMS |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame^] | 38 | MainMenu.xib |
| 39 | RingWindow.xib |
| 40 | PreferencesWindow.xib) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 41 | |
| 42 | SET(ringclient_HDRS |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame^] | 43 | AppDelegate.h |
| 44 | RingWindowController.h |
| 45 | ConversationsViewController.h |
| 46 | PreferencesWindowController.h |
| 47 | HistoryViewController.h |
| 48 | QNSTreeController.h |
| 49 | MinimalHistoryBackend.h) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 50 | |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 51 | # Icons |
| 52 | |
| 53 | # NOTE: Don't include the path in MACOSX_BUNDLE_ICON_FILE -- this is |
| 54 | # the property added to Info.plist |
Alexandre Lision | b47b4c8 | 2015-01-20 11:29:03 -0500 | [diff] [blame] | 55 | #SET(MACOSX_BUNDLE_ICON_FILE appicon.icns) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 56 | |
| 57 | # And this part tells CMake where to find and install the file itself |
| 58 | SET(myApp_ICON ${CMAKE_CURRENT_SOURCE_DIR}/data/appicon.icns) |
| 59 | SET_SOURCE_FILES_PROPERTIES(${myApp_ICON} PROPERTIES |
| 60 | MACOSX_PACKAGE_LOCATION "Resources") |
| 61 | |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 62 | SET(ring_ICONS ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_accept.png |
| 63 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_call.png |
| 64 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_cancel.png |
| 65 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_email.png |
| 66 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_new_email.png |
| 67 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_search.png |
| 68 | ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_video.png) |
| 69 | SET_SOURCE_FILES_PROPERTIES(${ring_ICONS} PROPERTIES |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame^] | 70 | MACOSX_PACKAGE_LOCATION Resources) |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 71 | |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame^] | 72 | SET_SOURCE_FILES_PROPERTIES(${ringclient_FORMS} PROPERTIES |
| 73 | MACOSX_PACKAGE_LOCATION Resources) |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 74 | |
Alexandre Lision | b47b4c8 | 2015-01-20 11:29:03 -0500 | [diff] [blame] | 75 | ADD_EXECUTABLE(${PROJ_NAME} MACOSX_BUNDLE |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 76 | ${ringclient_SRCS} |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame^] | 77 | ${ringclient_HDRS} |
| 78 | ${ringclient_FORMS} |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 79 | ${myApp_ICON} |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame^] | 80 | ${ring_ICONS}) |
| 81 | |
| 82 | MESSAGE("Hello" ${Qt5Core_LIBRARIES}) |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 83 | |
Alexandre Lision | b47b4c8 | 2015-01-20 11:29:03 -0500 | [diff] [blame] | 84 | TARGET_LINK_LIBRARIES( ${PROJ_NAME} |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 85 | ${LIB_RING_CLIENT_LIBRARY} |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame^] | 86 | ${Qt5Core_LIBRARIES} |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 87 | ${Qt5Widgets_LIBRARIES} |
Alexandre Lision | 10e86dd | 2015-01-19 16:11:14 -0500 | [diff] [blame] | 88 | ) |
| 89 | |
Alexandre Lision | 5855b6a | 2015-02-03 11:31:05 -0500 | [diff] [blame^] | 90 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AppKit") |
| 91 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Cocoa") |
| 92 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AddressBook") |
Alexandre Lision | 392ee72 | 2015-01-23 16:27:10 -0500 | [diff] [blame] | 93 | |
Alexandre Lision | b47b4c8 | 2015-01-20 11:29:03 -0500 | [diff] [blame] | 94 | SET_TARGET_PROPERTIES(${PROJ_NAME} PROPERTIES |
| 95 | MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/cmake/MacOSXBundleInfo.plist.in |
| 96 | MACOSX_BUNDLE_GUI_IDENTIFIER "cx.ring" |
| 97 | MACOSX_BUNDLE_SHORT_VERSION_STRING ${RING_VERSION} |
| 98 | MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJ_NAME} ${RING_VERSION} Nightly" |
| 99 | MACOSX_BUNDLE_BUNDLE_VERSION ${RING_VERSION} |
| 100 | MACOSX_BUNDLE_COPYRIGHT "${PROJ_NAME}" |
| 101 | MACOSX_BUNDLE_INFO_STRING "Nightly build of ${PROJ_NAME} ${RING_VERSION} for testing and development" |
| 102 | MACOSX_BUNDLE_BUNDLE_NAME ${PROJ_NAME} |
| 103 | MACOSX_BUNDLE_ICON_FILE "appicon.icns" |
| 104 | ) |