diff --git a/CMakeLists.txt b/CMakeLists.txt index 564bfe572..4f349a8c6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -283,41 +283,9 @@ if (BUILD_GUI AND USE_FREETYPE) endif() # Opus is mandatory -# TODO: disable the rest for release build set(OPUS_X86_MAY_HAVE_AVX2 OFF CACHE BOOL "Enable AVX2 for Opus" FORCE) add_subdirectory(extern/opus EXCLUDE_FROM_ALL) -if (WITH_OGG) - list(APPEND DEPENDENCIES_DEFINES HAVE_OGG) - # TODO: system Ogg/Vorbis - set(OGG_INCLUDE_DIR extern/libogg/include CACHE STRING "Ogg include dir" FORCE) - set(OGG_LIBRARY Ogg::ogg CACHE STRING "Ogg library" FORCE) - set(Vorbis_Vorbis_INCLUDE_DIR extern/libvorbis/include CACHE STRING "Vorbis include dir" FORCE) - set(Vorbis_Enc_INCLUDE_DIR extern/libvorbis/include CACHE STRING "Vorbis enc include dir" FORCE) - set(Vorbis_File_INCLUDE_DIR extern/libvorbis/include CACHE STRING "Vorbis file include dir" FORCE) - set(Vorbis_Vorbis_LIBRARY Vorbis::vorbis CACHE STRING "Vorbis library" FORCE) - set(Vorbis_Enc_LIBRARY Vorbis::enc CACHE STRING "Vorbis enc library" FORCE) - set(Vorbis_File_LIBRARY Vorbis::file CACHE STRING "Vorbis file library" FORCE) - set(FLAC_INCLUDE_DIR extern/flac/include CACHE STRING "FLAC include dir" FORCE) - set(FLAC_LIBRARY FLAC CACHE STRING "FLAC library" FORCE) - set(OPUS_INCLUDE_DIR extern/opus/include CACHE STRING "Opus include dir" FORCE) - set(OPUS_LIBRARY opus CACHE STRING "Opus library" FORCE) - add_subdirectory(extern/libogg EXCLUDE_FROM_ALL) - add_subdirectory(extern/libvorbis EXCLUDE_FROM_ALL) - add_subdirectory(extern/flac EXCLUDE_FROM_ALL) -endif() - -if (WITH_MPEG) - list(APPEND DEPENDENCIES_DEFINES HAVE_MP3_EXPORT) - # why do I have to provide an absolute path? - set(MP3LAME_INCLUDE_DIR extern/lame/include CACHE STRING "LAME include dir" FORCE) - set(MP3LAME_LIBRARY mp3lame CACHE STRING "LAME library" FORCE) - add_subdirectory(extern/lame EXCLUDE_FROM_ALL) - add_subdirectory(extern/mpg123 EXCLUDE_FROM_ALL) - set(mpg123_INCLUDE_DIR extern/mpg123/src/include CACHE STRING "mpg123 include dir" FORCE) - set(mpg123_LIBRARY mpg123 CACHE STRING "mpg123 library" FORCE) -endif() - if (USE_SNDFILE) list(APPEND DEPENDENCIES_DEFINES HAVE_SNDFILE) if (SYSTEM_LIBSNDFILE) @@ -331,6 +299,37 @@ if (USE_SNDFILE) list(APPEND DEPENDENCIES_LEGACY_LDFLAGS ${LIBSNDFILE_LDFLAGS}) message(STATUS "Using system-installed libsndfile") else() + # Ogg, Vorbis, FLAC and MP3 + if (WITH_OGG) + list(APPEND DEPENDENCIES_DEFINES HAVE_OGG) + set(OGG_INCLUDE_DIR extern/libogg/include CACHE STRING "Ogg include dir" FORCE) + set(OGG_LIBRARY Ogg::ogg CACHE STRING "Ogg library" FORCE) + set(Vorbis_Vorbis_INCLUDE_DIR extern/libvorbis/include CACHE STRING "Vorbis include dir" FORCE) + set(Vorbis_Enc_INCLUDE_DIR extern/libvorbis/include CACHE STRING "Vorbis enc include dir" FORCE) + set(Vorbis_File_INCLUDE_DIR extern/libvorbis/include CACHE STRING "Vorbis file include dir" FORCE) + set(Vorbis_Vorbis_LIBRARY Vorbis::vorbis CACHE STRING "Vorbis library" FORCE) + set(Vorbis_Enc_LIBRARY Vorbis::enc CACHE STRING "Vorbis enc library" FORCE) + set(Vorbis_File_LIBRARY Vorbis::file CACHE STRING "Vorbis file library" FORCE) + set(FLAC_INCLUDE_DIR extern/flac/include CACHE STRING "FLAC include dir" FORCE) + set(FLAC_LIBRARY FLAC CACHE STRING "FLAC library" FORCE) + set(OPUS_INCLUDE_DIR extern/opus/include CACHE STRING "Opus include dir" FORCE) + set(OPUS_LIBRARY opus CACHE STRING "Opus library" FORCE) + add_subdirectory(extern/libogg EXCLUDE_FROM_ALL) + add_subdirectory(extern/libvorbis EXCLUDE_FROM_ALL) + add_subdirectory(extern/flac EXCLUDE_FROM_ALL) + endif() + + if (WITH_MPEG) + list(APPEND DEPENDENCIES_DEFINES HAVE_MP3_EXPORT) + set(MP3LAME_INCLUDE_DIR extern/lame/include CACHE STRING "LAME include dir" FORCE) + set(MP3LAME_LIBRARY mp3lame CACHE STRING "LAME library" FORCE) + add_subdirectory(extern/lame EXCLUDE_FROM_ALL) + add_subdirectory(extern/mpg123 EXCLUDE_FROM_ALL) + set(mpg123_INCLUDE_DIR extern/mpg123/src/include CACHE STRING "mpg123 include dir" FORCE) + set(mpg123_LIBRARY mpg123 CACHE STRING "mpg123 library" FORCE) + endif() + + # the rest set(BUILD_TESTING OFF CACHE BOOL "aaaaaa" FORCE) set(BUILD_PROGRAMS OFF CACHE BOOL "aaa" FORCE) set(BUILD_EXAMPLES OFF CACHE BOOL "a" FORCE)