CMakeLists.txt 4.08 KB
Newer Older
Alexandre Lision's avatar
Alexandre Lision committed
1 2 3 4 5 6
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

IF(POLICY CMP0022)
  CMAKE_POLICY(SET CMP0022 NEW)
ENDIF(POLICY CMP0022)

7 8 9
SET(PROJ_NAME Ring)
SET(RING_VERSION 1.0)

Alexandre Lision's avatar
Alexandre Lision committed
10
ADD_DEFINITIONS("-std=c++11")
Alexandre Lision's avatar
Alexandre Lision committed
11

Alexandre Lision's avatar
Alexandre Lision committed
12
PROJECT(${PROJ_NAME})
Alexandre Lision's avatar
Alexandre Lision committed
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

FIND_PACKAGE(Qt5Core REQUIRED)
FIND_PACKAGE(Qt5Widgets REQUIRED)
FIND_PACKAGE(LibRingClient REQUIRED)

INCLUDE_DIRECTORIES(SYSTEM ${Qt5Core_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR})
INCLUDE_DIRECTORIES(${LIB_RING_CLIENT_INCLUDE_DIR})

MESSAGE("LibRingClient is here:" ${LIB_RING_CLIENT_INCLUDE_DIR})
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")

#Files to compile
SET(ringclient_SRCS
Alexandre Lision's avatar
Alexandre Lision committed
28 29 30 31
   main.mm
   AppDelegate.mm
   RingWindowController.mm
   ConversationsViewController.mm
Alexandre Lision's avatar
Alexandre Lision committed
32
   PreferencesViewController.mm
Alexandre Lision's avatar
Alexandre Lision committed
33
   QNSTreeController.mm
34 35 36 37 38 39 40
   AccGeneralVC.mm
   AccAudioVC.mm
   AccVideoVC.mm
   AccRingVC.mm
   AccAdvancedVC.mm
   AccSecurityVC.mm
   AccountsVC.mm
Alexandre Lision's avatar
Alexandre Lision committed
41 42 43
   AudioPrefsVC.mm
   VideoPrefsVC.mm
   GeneralPrefsVC.mm
Alexandre Lision's avatar
Alexandre Lision committed
44
   HistoryViewController.mm
Alexandre Lision's avatar
Alexandre Lision committed
45
   MinimalHistoryBackend.mm)
Alexandre Lision's avatar
Alexandre Lision committed
46 47

SET(ringclient_FORMS
Alexandre Lision's avatar
Alexandre Lision committed
48 49
   MainMenu.xib
   RingWindow.xib
Alexandre Lision's avatar
Alexandre Lision committed
50
   GeneralPrefs.xib
51 52 53 54 55 56 57
   Accounts.xib
   AccGeneral.xib
   AccAudio.xib
   AccVideo.xib
   AccRing.xib
   AccAdvanced.xib
   AccSecurity.xib
Alexandre Lision's avatar
Alexandre Lision committed
58 59 60
   AudioPrefs.xib
   VideoPrefs.xib
   PreferencesScreen.xib)
Alexandre Lision's avatar
Alexandre Lision committed
61 62

SET(ringclient_HDRS
Alexandre Lision's avatar
Alexandre Lision committed
63 64 65
   AppDelegate.h
   RingWindowController.h
   ConversationsViewController.h
Alexandre Lision's avatar
Alexandre Lision committed
66
   PreferencesViewController.h
67 68 69 70 71 72
   AccGeneralVC.h
   AccVideoVC.h
   AccAudioVC.h
   AccRingVC.h
   AccAdvancedVC.h
   AccSecurityVC.h
Alexandre Lision's avatar
Alexandre Lision committed
73
   AudioPrefsVC.h
74
   AccountsVC.h
Alexandre Lision's avatar
Alexandre Lision committed
75 76
   VideoPrefsVC.h
   GeneralPrefsVC.h
Alexandre Lision's avatar
Alexandre Lision committed
77 78 79
   HistoryViewController.h
   QNSTreeController.h
   MinimalHistoryBackend.h)
Alexandre Lision's avatar
Alexandre Lision committed
80 81 82 83 84

# Icons

# NOTE: Don't include the path in MACOSX_BUNDLE_ICON_FILE -- this is
# the property added to Info.plist
85
#SET(MACOSX_BUNDLE_ICON_FILE appicon.icns)
Alexandre Lision's avatar
Alexandre Lision committed
86 87 88 89 90 91

# And this part tells CMake where to find and install the file itself
SET(myApp_ICON ${CMAKE_CURRENT_SOURCE_DIR}/data/appicon.icns)
SET_SOURCE_FILES_PROPERTIES(${myApp_ICON} PROPERTIES
       MACOSX_PACKAGE_LOCATION "Resources")

Alexandre Lision's avatar
Alexandre Lision committed
92 93 94 95 96 97
SET(ring_ICONS ${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_accept.png
${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_call.png
${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_cancel.png
${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_email.png
${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_new_email.png
${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_search.png
Alexandre Lision's avatar
Alexandre Lision committed
98 99 100 101
${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ancrage.png
${CMAKE_CURRENT_SOURCE_DIR}/data/dark/audio.png
${CMAKE_CURRENT_SOURCE_DIR}/data/dark/general.png
${CMAKE_CURRENT_SOURCE_DIR}/data/dark/video.png
Alexandre Lision's avatar
Alexandre Lision committed
102 103
${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_video.png)
SET_SOURCE_FILES_PROPERTIES(${ring_ICONS} PROPERTIES
Alexandre Lision's avatar
Alexandre Lision committed
104
       MACOSX_PACKAGE_LOCATION Resources)
Alexandre Lision's avatar
Alexandre Lision committed
105

Alexandre Lision's avatar
Alexandre Lision committed
106 107
SET_SOURCE_FILES_PROPERTIES(${ringclient_FORMS} PROPERTIES
       MACOSX_PACKAGE_LOCATION Resources)
Alexandre Lision's avatar
Alexandre Lision committed
108

109
ADD_EXECUTABLE(${PROJ_NAME} MACOSX_BUNDLE
Alexandre Lision's avatar
Alexandre Lision committed
110
   ${ringclient_SRCS}
Alexandre Lision's avatar
Alexandre Lision committed
111 112
   ${ringclient_HDRS}
   ${ringclient_FORMS}
Alexandre Lision's avatar
Alexandre Lision committed
113
   ${myApp_ICON}
Alexandre Lision's avatar
Alexandre Lision committed
114 115
   ${ring_ICONS})

116
TARGET_LINK_LIBRARIES( ${PROJ_NAME}
Alexandre Lision's avatar
Alexandre Lision committed
117
   ${LIB_RING_CLIENT_LIBRARY}
Alexandre Lision's avatar
Alexandre Lision committed
118
   ${Qt5Core_LIBRARIES}
Alexandre Lision's avatar
Alexandre Lision committed
119 120 121
   ${Qt5Widgets_LIBRARIES}
)

Alexandre Lision's avatar
Alexandre Lision committed
122 123
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AppKit")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Cocoa")
Alexandre Lision's avatar
Alexandre Lision committed
124 125
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Quartz")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AVFoundation")
Alexandre Lision's avatar
Alexandre Lision committed
126
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AddressBook")
Alexandre Lision's avatar
Alexandre Lision committed
127

128 129 130 131 132 133 134 135 136 137 138
SET_TARGET_PROPERTIES(${PROJ_NAME} PROPERTIES
        MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/cmake/MacOSXBundleInfo.plist.in
        MACOSX_BUNDLE_GUI_IDENTIFIER "cx.ring"
        MACOSX_BUNDLE_SHORT_VERSION_STRING ${RING_VERSION}
        MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJ_NAME} ${RING_VERSION} Nightly"
        MACOSX_BUNDLE_BUNDLE_VERSION ${RING_VERSION}
        MACOSX_BUNDLE_COPYRIGHT "${PROJ_NAME}"
        MACOSX_BUNDLE_INFO_STRING "Nightly build of ${PROJ_NAME} ${RING_VERSION} for testing and development"
        MACOSX_BUNDLE_BUNDLE_NAME ${PROJ_NAME}
        MACOSX_BUNDLE_ICON_FILE "appicon.icns"
    )