blob: f0993f2b739b84de042679d680dead98afd99d15 (
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
set(VORBIS_PUBLIC_HEADERS
../include/vorbis/codec.h
../include/vorbis/vorbisenc.h
../include/vorbis/vorbisfile.h
)
set(VORBIS_HEADERS
envelope.h
lpc.h
lsp.h
codebook.h
misc.h
psy.h
masking.h
os.h
mdct.h
smallft.h
highlevel.h
registry.h
scales.h
window.h
lookup.h
lookup_data.h
codec_internal.h
backends.h
bitrate.h
)
set(VORBIS_SOURCES
mdct.c
smallft.c
block.c
envelope.c
window.c
lsp.c
lpc.c
analysis.c
synthesis.c
psy.c
info.c
floor1.c
floor0.c
res0.c
mapping0.c
registry.c
codebook.c
sharedbook.c
lookup.c
bitrate.c
)
set(VORBISFILE_SOURCES
vorbisfile.c
)
set(VORBISENC_SOURCES
vorbisenc.c
)
if(WIN32)
list(APPEND VORBIS_SOURCES vorbisenc.c)
endif()
if(MSVC)
list(APPEND VORBIS_SOURCES ../win32/vorbis.def)
list(APPEND VORBISENC_SOURCES ../win32/vorbisenc.def)
list(APPEND VORBISFILE_SOURCES ../win32/vorbisfile.def)
endif()
include_directories(../include)
include_directories(.)
if (NOT BUILD_FRAMEWORK)
add_library(vorbis ${VORBIS_HEADERS} ${VORBIS_SOURCES})
add_library(vorbisenc ${VORBISENC_SOURCES})
add_library(vorbisfile ${VORBISFILE_SOURCES})
get_version_info(VORBIS_VERSION_INFO "V_LIB_CURRENT" "V_LIB_AGE" "V_LIB_REVISION")
set_target_properties(vorbis PROPERTIES SOVERSION ${VORBIS_VERSION_INFO})
get_version_info(VORBISENC_VERSION_INFO "VE_LIB_CURRENT" "VE_LIB_AGE" "VE_LIB_REVISION")
set_target_properties(vorbisenc PROPERTIES SOVERSION ${VORBISENC_VERSION_INFO})
get_version_info(VORBISFILE_VERSION_INFO "VF_LIB_CURRENT" "VF_LIB_AGE" "VF_LIB_REVISION")
set_target_properties(vorbisfile PROPERTIES SOVERSION ${VORBISFILE_VERSION_INFO})
target_include_directories(vorbis PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../include)
target_include_directories(vorbisenc PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../include)
target_include_directories(vorbisfile PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../include)
target_link_libraries(vorbis Ogg::ogg)
target_link_libraries(vorbisenc Ogg::ogg vorbis)
target_link_libraries(vorbisfile Ogg::ogg vorbis)
add_library(Vorbis::vorbis ALIAS vorbis)
add_library(Vorbis::vorbisenc ALIAS vorbisenc)
add_library(Vorbis::vorbisfile ALIAS vorbisfile)
else()
add_library(vorbis ${VORBIS_PUBLIC_HEADERS} ${VORBIS_HEADERS} ${VORBIS_SOURCES} ${VORBISFILE_SOURCES} ${VORBISENC_SOURCES})
set_target_properties(vorbis PROPERTIES
FRAMEWORK TRUE
FRAMEWORK_VERSION ${PROJECT_VERSION}
MACOSX_FRAMEWORK_IDENTIFIER org.xiph.vorbis
MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${PROJECT_VERSION}
MACOSX_FRAMEWORK_BUNDLE_VERSION ${PROJECT_VERSION}
XCODE_ATTRIBUTE_INSTALL_PATH "@rpath"
PUBLIC_HEADER "${VORBIS_PUBLIC_HEADERS}"
OUTPUT_NAME Vorbis
)
target_link_libraries(vorbis ${OGG_LIBRARIES})
endif()
|