From 4025350457d1919f7215109f9884478a7b75dfa5 Mon Sep 17 00:00:00 2001 From: Connor McLaughlin Date: Wed, 10 Aug 2022 18:14:59 +1000 Subject: [PATCH] dep/cubeb: Fix building without doxygen installed --- dep/cubeb/CMakeLists.txt | 70 ++++++---------------------------------- 1 file changed, 9 insertions(+), 61 deletions(-) diff --git a/dep/cubeb/CMakeLists.txt b/dep/cubeb/CMakeLists.txt index 28dd25c9c8..447ef7f9eb 100644 --- a/dep/cubeb/CMakeLists.txt +++ b/dep/cubeb/CMakeLists.txt @@ -5,9 +5,7 @@ cmake_minimum_required(VERSION 3.14 FATAL_ERROR) project(cubeb VERSION 0.0.0) -option(BUILD_SHARED_LIBS "Build shared libraries" OFF) option(BUILD_RUST_LIBS "Build rust backends" OFF) -option(BUNDLE_SPEEX "Bundle the speex library" OFF) option(LAZY_LOAD_LIBS "Lazily load shared libraries" ON) if(NOT CMAKE_BUILD_TYPE) @@ -28,13 +26,6 @@ if (BUILD_RUST_LIBS) endif() endif() -# On OS/2, visibility attribute is not supported. -if(NOT OS2) - set(CMAKE_C_VISIBILITY_PRESET hidden) - set(CMAKE_CXX_VISIBILITY_PRESET hidden) - set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) -endif() - set(CMAKE_CXX_WARNING_LEVEL 4) if(NOT MSVC) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wno-unused-parameter") @@ -60,17 +51,6 @@ set_target_properties(cubeb PROPERTIES SOVERSION ${cubeb_VERSION_MAJOR} ) -include(GenerateExportHeader) -generate_export_header(cubeb EXPORT_FILE_NAME ${CMAKE_BINARY_DIR}/exports/cubeb_export.h) -target_include_directories(cubeb - PUBLIC $ -) - -include(GNUInstallDirs) - -install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/${PROJECT_NAME} TYPE INCLUDE) -install(DIRECTORY ${CMAKE_BINARY_DIR}/exports/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}) - include(CMakePackageConfigHelpers) write_basic_package_version_file( "${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" @@ -95,27 +75,15 @@ install( DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" ) -if(NOT BUNDLE_SPEEX) - find_package(PkgConfig) - if(PKG_CONFIG_FOUND) - pkg_check_modules(speexdsp IMPORTED_TARGET speexdsp) - if(speexdsp_FOUND) - add_library(speex ALIAS PkgConfig::speexdsp) - endif() - endif() -endif() - -if(NOT TARGET speex) - add_library(speex OBJECT subprojects/speex/resample.c) - set_target_properties(speex PROPERTIES POSITION_INDEPENDENT_CODE TRUE) - target_include_directories(speex INTERFACE subprojects) - target_compile_definitions(speex PUBLIC - OUTSIDE_SPEEX - FLOATING_POINT - EXPORT= - RANDOM_PREFIX=speex - ) -endif() +add_library(speex OBJECT subprojects/speex/resample.c) +set_target_properties(speex PROPERTIES POSITION_INDEPENDENT_CODE TRUE) +target_include_directories(speex INTERFACE subprojects) +target_compile_definitions(speex PUBLIC +OUTSIDE_SPEEX +FLOATING_POINT +EXPORT= +RANDOM_PREFIX=speex +) # $ required because of https://gitlab.kitware.com/cmake/cmake/-/issues/15415 target_link_libraries(cubeb PRIVATE $) @@ -331,23 +299,3 @@ if(USE_AUDIOUNIT AND USE_AUDIOUNIT_RUST) optimized "${PROJECT_SOURCE_DIR}/src/cubeb-coreaudio-rs/target/release/libcubeb_coreaudio.a") endif() -find_package(Doxygen) -if(DOXYGEN_FOUND) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/docs/Doxyfile @ONLY) - add_custom_target(doc ALL - ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/docs/Doxyfile - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/docs - COMMENT "Generating API documentation with Doxygen" VERBATIM) -endif() - -add_custom_target(clang-format-check - find - ${CMAKE_CURRENT_SOURCE_DIR}/src - ${CMAKE_CURRENT_SOURCE_DIR}/include - -type f (-name "*.cpp" -o -name "*.c" -o -name "*.h") - -not -path "*/subprojects/speex/*" - -print0 - | xargs -0 clang-format -Werror -n - COMMENT "Check formatting with clang-format" - VERBATIM) -