CMakeLists.txt 3.26 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 32 33 34 35
   main.mm
   AppDelegate.mm
   RingWindowController.mm
   ConversationsViewController.mm
   PreferencesWindowController.mm
   QNSTreeController.mm
   HistoryViewController.mm
   MinimalHistoryBackend.cpp)
Alexandre Lision's avatar
Alexandre Lision committed
36 37

SET(ringclient_FORMS
Alexandre Lision's avatar
Alexandre Lision committed
38 39 40
   MainMenu.xib
   RingWindow.xib
   PreferencesWindow.xib)
Alexandre Lision's avatar
Alexandre Lision committed
41 42

SET(ringclient_HDRS
Alexandre Lision's avatar
Alexandre Lision committed
43 44 45 46 47 48 49
   AppDelegate.h
   RingWindowController.h
   ConversationsViewController.h
   PreferencesWindowController.h
   HistoryViewController.h
   QNSTreeController.h
   MinimalHistoryBackend.h)
Alexandre Lision's avatar
Alexandre Lision committed
50 51 52 53 54

# Icons

# NOTE: Don't include the path in MACOSX_BUNDLE_ICON_FILE -- this is
# the property added to Info.plist
55
#SET(MACOSX_BUNDLE_ICON_FILE appicon.icns)
Alexandre Lision's avatar
Alexandre Lision committed
56 57 58 59 60 61

# 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
62 63 64 65 66 67 68 69
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
${CMAKE_CURRENT_SOURCE_DIR}/data/dark/ic_action_video.png)
SET_SOURCE_FILES_PROPERTIES(${ring_ICONS} PROPERTIES
Alexandre Lision's avatar
Alexandre Lision committed
70
       MACOSX_PACKAGE_LOCATION Resources)
Alexandre Lision's avatar
Alexandre Lision committed
71

Alexandre Lision's avatar
Alexandre Lision committed
72 73
SET_SOURCE_FILES_PROPERTIES(${ringclient_FORMS} PROPERTIES
       MACOSX_PACKAGE_LOCATION Resources)
Alexandre Lision's avatar
Alexandre Lision committed
74

75
ADD_EXECUTABLE(${PROJ_NAME} MACOSX_BUNDLE
Alexandre Lision's avatar
Alexandre Lision committed
76
   ${ringclient_SRCS}
Alexandre Lision's avatar
Alexandre Lision committed
77 78
   ${ringclient_HDRS}
   ${ringclient_FORMS}
Alexandre Lision's avatar
Alexandre Lision committed
79
   ${myApp_ICON}
Alexandre Lision's avatar
Alexandre Lision committed
80 81 82
   ${ring_ICONS})

MESSAGE("Hello" ${Qt5Core_LIBRARIES})
Alexandre Lision's avatar
Alexandre Lision committed
83

84
TARGET_LINK_LIBRARIES( ${PROJ_NAME}
Alexandre Lision's avatar
Alexandre Lision committed
85
   ${LIB_RING_CLIENT_LIBRARY}
Alexandre Lision's avatar
Alexandre Lision committed
86
   ${Qt5Core_LIBRARIES}
Alexandre Lision's avatar
Alexandre Lision committed
87 88 89
   ${Qt5Widgets_LIBRARIES}
)

Alexandre Lision's avatar
Alexandre Lision committed
90 91 92
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AppKit")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Cocoa")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework AddressBook")
Alexandre Lision's avatar
Alexandre Lision committed
93

94 95 96 97 98 99 100 101 102 103 104
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"
    )