summaryrefslogtreecommitdiff
path: root/indra/mac_crash_logger/CMakeLists.txt
blob: 75621d7b7500dec866bb8cb877380319d782a9ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# -*- cmake -*-

project(mac_crash_logger)

include(00-Common)
include(LLCommon)
include(LLCoreHttp)
include(LLCrashLogger)
include(LLMath)
include(LLMessage)
include(LLFilesystem)
include(LLXML)
include(Linking)
include(LLSharedLibs)
include(Boost)

include_directories(
    ${LLCOREHTTP_INCLUDE_DIRS}
    ${LLCOMMON_INCLUDE_DIRS}
    ${LLCRASHLOGGER_INCLUDE_DIRS}
    ${LLMATH_INCLUDE_DIRS}
    ${LLFILESYSTEM_INCLUDE_DIRS}
    ${LLXML_INCLUDE_DIRS}
    )
include_directories(SYSTEM
    ${LLCOMMON_SYSTEM_INCLUDE_DIRS}
    ${LLXML_SYSTEM_INCLUDE_DIRS}
    )

set(mac_crash_logger_SOURCE_FILES
    mac_crash_logger.cpp
    llcrashloggermac.cpp
    llcrashloggermacdelegate.mm
    )

set(mac_crash_logger_HEADER_FILES
    CMakeLists.txt

    llcrashloggermac.h
    llcrashloggermacdelegate.h
    )

set_source_files_properties(${mac_crash_logger_HEADER_FILES}
                            PROPERTIES HEADER_FILE_ONLY TRUE)
list(APPEND mac_crash_logger_SOURCE_FILES ${mac_crash_logger_HEADER_FILES})

set(mac_crash_logger_RESOURCE_FILES
  CrashReporter.nib/
  )
set_source_files_properties(
  ${mac_crash_logger_RESOURCE_FILES}
  PROPERTIES
  HEADER_FILE_ONLY TRUE
  )
SOURCE_GROUP("Resources" FILES ${mac_crash_logger_RESOURCE_FILES})
list(APPEND mac_crash_logger_SOURCE_FILES ${mac_crash_logger_RESOURCE_FILES})

add_executable(mac-crash-logger
  MACOSX_BUNDLE
  ${mac_crash_logger_SOURCE_FILES})

set_target_properties(mac-crash-logger
  PROPERTIES
  MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist
  )

find_library(COCOA_LIBRARY Cocoa)

target_link_libraries(mac-crash-logger
    ${LLCRASHLOGGER_LIBRARIES}
    ${LLFILESYSTEM_LIBRARIES}
    ${COCOA_LIBRARIES}
    ${LLXML_LIBRARIES}
    ${LLMESSAGE_LIBRARIES}
    ${LLMATH_LIBRARIES}
    ${LLCOREHTTP_LIBRARIES}
    ${LLCOMMON_LIBRARIES}
    ${BOOST_CONTEXT_LIBRARY}
    ${BOOST_FIBER_LIBRARY}
    )

add_custom_command(
  TARGET mac-crash-logger POST_BUILD
  COMMAND ${CMAKE_COMMAND}
  ARGS
    -E
    copy_if_different
    ${CMAKE_CURRENT_SOURCE_DIR}/CrashReporter.nib
    ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/mac-crash-logger.app/Contents/Resources/CrashReporter.nib
  )

ll_deploy_sharedlibs_command(mac-crash-logger)