aboutsummaryrefslogtreecommitdiff
path: root/ports/opusfile/CMakeLists.txt
blob: 737adee1afb294f84de9b12fc9a0b36b70611cb9 (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
cmake_minimum_required(VERSION 3.4)
project(opusfile C)

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4267 /wd4244 /wd4090")
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)

find_path(OGG_INCLUDE_DIR ogg/ogg.h)
find_library(OGG_LIBRARY ogg)

find_path(OPUS_INCLUDE_DIR opus.h PATH_SUFFIXES opus)
find_library(OPUS_LIBRARY opus)

find_package(OpenSSL MODULE REQUIRED)

add_library(opusfile
    src/info.c
    src/internal.c
    src/opusfile.c
    src/stream.c)

target_include_directories(opusfile PRIVATE include PUBLIC ${OGG_INCLUDE_DIR} ${OPUS_INCLUDE_DIR})
target_link_libraries(opusfile PRIVATE ${OGG_LIBRARY} ${OPUS_LIBRARY})

add_library(opusurl
    src/http.c
    src/wincerts.c)

target_compile_definitions(opusurl PRIVATE OP_ENABLE_HTTP)
target_include_directories(opusurl PRIVATE include)
target_link_libraries(opusurl PRIVATE opusfile OpenSSL::SSL ws2_32.lib crypt32.lib)

install(TARGETS opusfile opusurl
    RUNTIME DESTINATION bin
    LIBRARY DESTINATION lib
    ARCHIVE DESTINATION lib)

if(NOT OPUSFILE_SKIP_HEADERS)
    install(FILES include/opusfile.h 
        DESTINATION include/opus)
endif()