blob: 176cd07f68b7a417c435b3f48734202c6f95ebfb [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
32 PreferencesWindowController.mm
33 QNSTreeController.mm
34 HistoryViewController.mm
35 MinimalHistoryBackend.cpp)
Alexandre Lision10e86dd2015-01-19 16:11:14 -050036
37SET(ringclient_FORMS
Alexandre Lision5855b6a2015-02-03 11:31:05 -050038 MainMenu.xib
39 RingWindow.xib
40 PreferencesWindow.xib)
Alexandre Lision10e86dd2015-01-19 16:11:14 -050041
42SET(ringclient_HDRS
Alexandre Lision5855b6a2015-02-03 11:31:05 -050043 AppDelegate.h
44 RingWindowController.h
45 ConversationsViewController.h
46 PreferencesWindowController.h
47 HistoryViewController.h
48 QNSTreeController.h
49 MinimalHistoryBackend.h)
Alexandre Lision10e86dd2015-01-19 16:11:14 -050050
Alexandre Lision10e86dd2015-01-19 16:11:14 -050051# Icons
52
53# NOTE: Don't include the path in MACOSX_BUNDLE_ICON_FILE -- this is
54# the property added to Info.plist
Alexandre Lisionb47b4c82015-01-20 11:29:03 -050055#SET(MACOSX_BUNDLE_ICON_FILE appicon.icns)
Alexandre Lision10e86dd2015-01-19 16:11:14 -050056
57# And this part tells CMake where to find and install the file itself
58SET(myApp_ICON ${CMAKE_CURRENT_SOURCE_DIR}/data/appicon.icns)
59SET_SOURCE_FILES_PROPERTIES(${myApp_ICON} PROPERTIES
60 MACOSX_PACKAGE_LOCATION "Resources")
61
Alexandre Lision392ee722015-01-23 16:27:10 -050062SET(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)
69SET_SOURCE_FILES_PROPERTIES(${ring_ICONS} PROPERTIES
Alexandre Lision5855b6a2015-02-03 11:31:05 -050070 MACOSX_PACKAGE_LOCATION Resources)
Alexandre Lision392ee722015-01-23 16:27:10 -050071
Alexandre Lision5855b6a2015-02-03 11:31:05 -050072SET_SOURCE_FILES_PROPERTIES(${ringclient_FORMS} PROPERTIES
73 MACOSX_PACKAGE_LOCATION Resources)
Alexandre Lision392ee722015-01-23 16:27:10 -050074
Alexandre Lisionb47b4c82015-01-20 11:29:03 -050075ADD_EXECUTABLE(${PROJ_NAME} MACOSX_BUNDLE
Alexandre Lision10e86dd2015-01-19 16:11:14 -050076 ${ringclient_SRCS}
Alexandre Lision5855b6a2015-02-03 11:31:05 -050077 ${ringclient_HDRS}
78 ${ringclient_FORMS}
Alexandre Lision392ee722015-01-23 16:27:10 -050079 ${myApp_ICON}
Alexandre Lision5855b6a2015-02-03 11:31:05 -050080 ${ring_ICONS})
81
82MESSAGE("Hello" ${Qt5Core_LIBRARIES})
Alexandre Lision10e86dd2015-01-19 16:11:14 -050083
Alexandre Lisionb47b4c82015-01-20 11:29:03 -050084TARGET_LINK_LIBRARIES( ${PROJ_NAME}
Alexandre Lision10e86dd2015-01-19 16:11:14 -050085 ${LIB_RING_CLIENT_LIBRARY}
Alexandre Lision5855b6a2015-02-03 11:31:05 -050086 ${Qt5Core_LIBRARIES}
Alexandre Lision10e86dd2015-01-19 16:11:14 -050087 ${Qt5Widgets_LIBRARIES}
Alexandre Lision10e86dd2015-01-19 16:11:14 -050088)
89
Alexandre Lision5855b6a2015-02-03 11:31:05 -050090set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AppKit")
91set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Cocoa")
92set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AddressBook")
Alexandre Lision392ee722015-01-23 16:27:10 -050093
Alexandre Lisionb47b4c82015-01-20 11:29:03 -050094SET_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 )