CMakeLists.txt 4.14 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
41
   CurrentCallVC.mm
Alexandre Lision's avatar
Alexandre Lision committed
42 43 44
   AudioPrefsVC.mm
   VideoPrefsVC.mm
   GeneralPrefsVC.mm
Alexandre Lision's avatar
Alexandre Lision committed
45
   HistoryViewController.mm
Alexandre Lision's avatar
Alexandre Lision committed
46
   MinimalHistoryBackend.mm)
Alexandre Lision's avatar
Alexandre Lision committed
47 48

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

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

# Icons

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

# 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
95 96 97 98 99 100
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
101 102 103 104
${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
105 106
${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_video.png)
SET_SOURCE_FILES_PROPERTIES(${ring_ICONS} PROPERTIES
Alexandre Lision's avatar
Alexandre Lision committed
107
       MACOSX_PACKAGE_LOCATION Resources)
Alexandre Lision's avatar
Alexandre Lision committed
108

Alexandre Lision's avatar
Alexandre Lision committed
109 110
SET_SOURCE_FILES_PROPERTIES(${ringclient_FORMS} PROPERTIES
       MACOSX_PACKAGE_LOCATION Resources)
Alexandre Lision's avatar
Alexandre Lision committed
111

112
ADD_EXECUTABLE(${PROJ_NAME} MACOSX_BUNDLE
Alexandre Lision's avatar
Alexandre Lision committed
113
   ${ringclient_SRCS}
Alexandre Lision's avatar
Alexandre Lision committed
114 115
   ${ringclient_HDRS}
   ${ringclient_FORMS}
Alexandre Lision's avatar
Alexandre Lision committed
116
   ${myApp_ICON}
Alexandre Lision's avatar
Alexandre Lision committed
117 118
   ${ring_ICONS})

119
TARGET_LINK_LIBRARIES( ${PROJ_NAME}
Alexandre Lision's avatar
Alexandre Lision committed
120
   ${LIB_RING_CLIENT_LIBRARY}
Alexandre Lision's avatar
Alexandre Lision committed
121
   ${Qt5Core_LIBRARIES}
Alexandre Lision's avatar
Alexandre Lision committed
122 123 124
   ${Qt5Widgets_LIBRARIES}
)

Alexandre Lision's avatar
Alexandre Lision committed
125 126
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
127 128
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
129
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AddressBook")
Alexandre Lision's avatar
Alexandre Lision committed
130

131 132 133 134 135 136 137 138 139 140 141
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"
    )