File: OpenAL.cmake

package info (click to toggle)
freespace2 24.2.0%2Brepack-3
  • links: PTS, VCS
  • area: non-free
  • in suites: forky, sid
  • size: 43,740 kB
  • sloc: cpp: 595,005; ansic: 21,741; python: 1,174; sh: 457; makefile: 243; xml: 181
file content (69 lines) | stat: -rw-r--r-- 2,394 bytes parent folder | download
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

# We have precompiled libs for windows
IF (WIN32)
    get_prebuilt_path(PREBUILT_PATH)

    add_library(openal SHARED IMPORTED GLOBAL)

    set(dll_name "${PREBUILT_PATH}/openal/bin/OpenAL32.dll")

    set_target_properties(openal
            PROPERTIES
            IMPORTED_LOCATION "${dll_name}"
            IMPORTED_IMPLIB "${PREBUILT_PATH}/openal/libs/${CMAKE_IMPORT_LIBRARY_PREFIX}OpenAL32${CMAKE_IMPORT_LIBRARY_SUFFIX}"
            INTERFACE_INCLUDE_DIRECTORIES "${PREBUILT_PATH}/openal/include"
            )

    add_target_copy_files("${dll_name}")
ELSEIF(PLATFORM_MAC)
    # use prebuilt openal-soft framework on Mac since the system version is
    # deprecated and lacking features
    get_prebuilt_path(PREBUILT_PATH)

    add_library(openal INTERFACE)
    unset(OPENAL_LIBRARY CACHE)
    find_library(OPENAL_LIBRARY OpenAL PATHS "${PREBUILT_PATH}" NO_DEFAULT_PATH)

    target_link_libraries(openal INTERFACE "${OPENAL_LIBRARY}")
    target_include_directories(openal SYSTEM INTERFACE "${OPENAL_LIBRARY}/Headers")

    add_target_copy_files("${OPENAL_LIBRARY}")
ELSE(WIN32)
    option(OPENAL_USE_PRECOMPILED "Use precompiled version of OpenAL. If disabled the system libraries will be used." OFF)

    set(USING_PREBUILT_LIBS FALSE)
    set(OpenAL_ROOT_DIR)

    include(util)

    if(OPENAL_USE_PRECOMPILED)
        get_prebuilt_path(PREBUILT_PATH)
        set(OpenAL_ROOT_DIR "${PREBUILT_PATH}/openal")
        set(USING_PREBUILT_LIBS TRUE)
    else()
        FIND_PACKAGE(OpenAL)

        if(OpenAL_FOUND)
            ADD_IMPORTED_LIB(openal "${OPENAL_INCLUDE_DIR}" "${OPENAL_LIBRARY}")
        else()
            message("OpenAL library could not be found. Using prebuilt library...")

            get_prebuilt_path(PREBUILT_PATH)
            set(OpenAL_ROOT_DIR "${PREBUILT_PATH}/openal")
            set(USING_PREBUILT_LIBS TRUE)
        endif()
    endif()

    if(USING_PREBUILT_LIBS)
        message(STATUS "Using pre-built OpenAL library.")

        unset(OpenAL_LOCATION CACHE)
        find_library(OpenAL_LOCATION openal PATHS "${OpenAL_ROOT_DIR}/lib" NO_DEFAULT_PATH)

        get_filename_component(FULL_LIB_PATH "${OpenAL_LOCATION}" REALPATH)
        ADD_IMPORTED_LIB(openal "${OpenAL_ROOT_DIR}/include" "${FULL_LIB_PATH}")

        file(GLOB OpenAL_LIBS "${OpenAL_ROOT_DIR}/lib/libopenal*")
        add_target_copy_files("${OpenAL_LIBS}")
    endif()
ENDIF(WIN32)