summaryrefslogtreecommitdiffhomepage
path: root/contrib/vorbis/lib/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/vorbis/lib/CMakeLists.txt')
-rw-r--r--contrib/vorbis/lib/CMakeLists.txt109
1 files changed, 109 insertions, 0 deletions
diff --git a/contrib/vorbis/lib/CMakeLists.txt b/contrib/vorbis/lib/CMakeLists.txt
new file mode 100644
index 0000000..f0993f2
--- /dev/null
+++ b/contrib/vorbis/lib/CMakeLists.txt
@@ -0,0 +1,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()