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

if(MSVC)
 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4267 /wd4244 /wd4996 /wd4101 /wd4018")
endif()

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

add_library(opusenc
    src/ogg_packer.c
    src/opus_header.c
    src/opusenc.c
    src/picture.c
    src/resample.c
    src/unicode_support.c)

get_filename_component(FOLDER ${CMAKE_CURRENT_SOURCE_DIR} NAME)
string(REPLACE "libopusenc-" "" VERSION ${FOLDER})

target_compile_definitions(opusenc PRIVATE
    RANDOM_PREFIX=libopusenc
    OUTSIDE_SPEEX
    FLOATING_POINT
    PACKAGE_VERSION="${VERSION}"
    PACKAGE_NAME="libopusenc"
    OPE_BUILD)
set_target_properties(opusenc PROPERTIES DEFINE_SYMBOL DLL_EXPORT)
target_include_directories(opusenc PRIVATE include ${OPUS_INCLUDE_DIR})
target_link_libraries(opusenc PRIVATE ${OPUS_LIBRARY})

install(TARGETS opusenc
    RUNTIME DESTINATION bin
    LIBRARY DESTINATION lib
    ARCHIVE DESTINATION lib)

if(NOT OPUSENC_SKIP_HEADERS)
    install(FILES include/opusenc.h
        DESTINATION include/opus)
endif()