summaryrefslogtreecommitdiff
path: root/indra/cmake/bugsplat.cmake
blob: f645d9d4499b0bec5c167d1f625eb2928879802d (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
if (INSTALL_PROPRIETARY)
    # Note that viewer_manifest.py makes decision based on BUGSPLAT_DB and not USE_BUGSPLAT
    if (BUGSPLAT_DB)
        set(USE_BUGSPLAT ON  CACHE BOOL "Use the BugSplat crash reporting system")
    else (BUGSPLAT_DB)
        set(USE_BUGSPLAT OFF CACHE BOOL "Use the BugSplat crash reporting system")
    endif (BUGSPLAT_DB)
else (INSTALL_PROPRIETARY)
    set(USE_BUGSPLAT OFF CACHE BOOL "Use the BugSplat crash reporting system")
endif (INSTALL_PROPRIETARY)

include_guard()
add_library( ll::bugsplat INTERFACE IMPORTED )

if (USE_BUGSPLAT)
    include(Prebuilt)
    use_prebuilt_binary(bugsplat)
    if (WINDOWS)
        target_link_libraries( ll::bugsplat INTERFACE
                ${ARCH_PREBUILT_DIRS_RELEASE}/bugsplat.lib
                )
    elseif (DARWIN)
        find_library(BUGSPLAT_LIBRARIES BugsplatMac REQUIRED
                NO_DEFAULT_PATH PATHS "${ARCH_PREBUILT_DIRS_RELEASE}")
        target_link_libraries( ll::bugsplat INTERFACE
                ${BUGSPLAT_LIBRARIES}
                )
    else (WINDOWS)
        message(FATAL_ERROR "BugSplat is not supported; add -DUSE_BUGSPLAT=OFF")
    endif (WINDOWS)

    if( NOT BUGSPLAT_DB )
        message( FATAL_ERROR "You need to set BUGSPLAT_DB when setting USE_BUGSPLAT" )
    endif()

    target_include_directories( ll::bugsplat SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/bugsplat)
    set_property( TARGET ll::bugsplat APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS LL_BUGSPLAT)
else()
    set(BUGSPLAT_DB "" CACHE STRING "BugSplat crash database name")
endif (USE_BUGSPLAT)