mirror of
https://github.com/ossrs/srs.git
synced 2025-02-13 20:01:56 +00:00
fix https://github.com/ossrs/srs/issues/3155 Build srt-1-fit fails with `standard attributes in middle of decl-specifiers` on GCC 12,Arch Linux. See https://github.com/Haivision/srt/releases/tag/v1.5.3
192 lines
8.7 KiB
CMake
192 lines
8.7 KiB
CMake
#
|
|
# SRT - Secure, Reliable, Transport Copyright (c) 2021 Haivision Systems Inc.
|
|
#
|
|
# This Source Code Form is subject to the terms of the Mozilla Public License,
|
|
# v. 2.0. If a copy of the MPL was not distributed with this file, You can
|
|
# obtain one at http://mozilla.org/MPL/2.0/.
|
|
#
|
|
|
|
function(ShowProjectConfig)
|
|
|
|
set(__ssl_configuration)
|
|
if (SSL_FOUND OR SSL_LIBRARIES)
|
|
set(__ssl_configuration
|
|
" SSL Configuration:
|
|
SSL_FOUND=${SSL_FOUND}
|
|
SSL_INCLUDE_DIRS=${SSL_INCLUDE_DIRS}
|
|
SSL_LIBRARIES=${SSL_LIBRARIES}
|
|
SSL_VERSION=${SSL_VERSION}\n")
|
|
endif()
|
|
|
|
set(static_property_link_libraries)
|
|
if (srt_libspec_static)
|
|
get_target_property(
|
|
static_property_link_libraries
|
|
${TARGET_srt}_static
|
|
LINK_LIBRARIES)
|
|
endif()
|
|
set(shared_property_link_libraries)
|
|
if (srt_libspec_shared)
|
|
get_target_property(
|
|
shared_property_link_libraries
|
|
${TARGET_srt}_shared
|
|
LINK_LIBRARIES)
|
|
endif()
|
|
|
|
# See https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#id13
|
|
set(__more_tc1_config)
|
|
if (CMAKE_CROSSCOMPILING)
|
|
set(__more_tc1_config
|
|
" CMAKE_SYSROOT: ${CMAKE_SYSROOT}\n")
|
|
endif()
|
|
|
|
# See https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#id13
|
|
set(__more_tc2_config)
|
|
if (APPLE)
|
|
set(__more_tc2_config
|
|
" CMAKE_INSTALL_NAME_TOOL: ${CMAKE_INSTALL_NAME_TOOL}
|
|
CMAKE_OSX_SYSROOT: ${CMAKE_OSX_SYSROOT}
|
|
CMAKE_OSX_ARCHITECTURES: ${CMAKE_OSX_ARCHITECTURES}
|
|
CMAKE_OSX_DEPLOYMENT_TARGET: ${CMAKE_OSX_DEPLOYMENT_TARGET}
|
|
CMAKE_OSX_SYSROOT: ${CMAKE_OSX_SYSROOT}\n")
|
|
elseif (ANDROID)
|
|
set(__more_tc2_config
|
|
" CMAKE_ANDROID_NDK: ${CMAKE_ANDROID_NDK}
|
|
CMAKE_ANDROID_STANDALONE_TOOLCHAIN: ${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}
|
|
CMAKE_ANDROID_API: ${CMAKE_ANDROID_API}
|
|
CMAKE_ANDROID_ARCH_ABI: ${CMAKE_ANDROID_ARCH_ABI}
|
|
CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION: ${CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION}
|
|
CMAKE_ANDROID_STL_TYPE: ${CMAKE_ANDROID_STL_TYPE}\n")
|
|
endif()
|
|
|
|
message(STATUS
|
|
"\n"
|
|
"========================================================================\n"
|
|
"= Project Configuration:\n"
|
|
"========================================================================\n"
|
|
" SRT Version:\n"
|
|
" SRT_VERSION: ${SRT_VERSION}\n"
|
|
" SRT_VERSION_BUILD: ${SRT_VERSION_BUILD}\n"
|
|
" CMake Configuration:\n"
|
|
" CMAKE_VERSION: ${CMAKE_VERSION}\n"
|
|
" CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}\n"
|
|
" CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}\n"
|
|
" Target Configuration:\n"
|
|
" CMAKE_SYSTEM_NAME: ${CMAKE_SYSTEM_NAME}\n"
|
|
" CMAKE_SYSTEM_VERSION: ${CMAKE_SYSTEM_VERSION}\n"
|
|
" CMAKE_SYSTEM_PROCESSOR: ${CMAKE_SYSTEM_PROCESSOR}\n"
|
|
" CMAKE_SIZEOF_VOID_P: ${CMAKE_SIZEOF_VOID_P}\n"
|
|
" DARWIN: ${DARWIN}\n"
|
|
" LINUX: ${LINUX}\n"
|
|
" BSD: ${BSD}\n"
|
|
" MICROSOFT: ${MICROSOFT}\n"
|
|
" GNU: ${GNU}\n"
|
|
" ANDROID: ${ANDROID}\n"
|
|
" SUNOS: ${SUNOS}\n"
|
|
" POSIX: ${POSIX}\n"
|
|
" SYMLINKABLE: ${SYMLINKABLE}\n"
|
|
" APPLE: ${APPLE}\n"
|
|
" UNIX: ${UNIX}\n"
|
|
" WIN32: ${WIN32}\n"
|
|
" MINGW: ${MINGW}\n"
|
|
" CYGWIN: ${CYGWIN}\n"
|
|
" CYGWIN_USE_POSIX: ${CYGWIN_USE_POSIX}\n"
|
|
" Toolchain Configuration:\n"
|
|
" CMAKE_TOOLCHAIN_FILE: ${CMAKE_TOOLCHAIN_FILE}\n"
|
|
" CMAKE_CROSSCOMPILING: ${CMAKE_CROSSCOMPILING}\n"
|
|
"${__more_tc1_config}"
|
|
" CMAKE_C_COMPILER_ID: ${CMAKE_C_COMPILER_ID}\n"
|
|
" CMAKE_C_COMPILER_VERSION: ${CMAKE_C_COMPILER_VERSION}\n"
|
|
" CMAKE_C_COMPILER: ${CMAKE_C_COMPILER}\n"
|
|
" CMAKE_C_FLAGS: '${CMAKE_C_FLAGS}'\n"
|
|
" CMAKE_C_COMPILE_FEATURES: ${CMAKE_C_COMPILE_FEATURES}\n"
|
|
" CMAKE_C_STANDARD: ${CMAKE_CXX_STANDARD}\n"
|
|
" CMAKE_CXX_COMPILER_ID: ${CMAKE_CXX_COMPILER_ID}\n"
|
|
" CMAKE_CXX_COMPILER_VERSION: ${CMAKE_CXX_COMPILER_VERSION}\n"
|
|
" CMAKE_CXX_COMPILER: ${CMAKE_CXX_COMPILER}\n"
|
|
" CMAKE_CXX_FLAGS: '${CMAKE_CXX_FLAGS}'\n"
|
|
" CMAKE_CXX_COMPILE_FEATURES: ${CMAKE_CXX_COMPILE_FEATURES}\n"
|
|
" CMAKE_CXX_STANDARD: ${CMAKE_CXX_STANDARD}\n"
|
|
" CMAKE_LINKER: ${CMAKE_LINKER}\n"
|
|
#" CMAKE_EXE_LINKER_FLAGS: ${CMAKE_EXE_LINKER_FLAGS}\n"
|
|
#" CMAKE_EXE_LINKER_FLAGS_INIT: ${CMAKE_EXE_LINKER_FLAGS_INIT}\n"
|
|
#" CMAKE_MODULE_LINKER_FLAGS: ${CMAKE_MODULE_LINKER_FLAGS}\n"
|
|
#" CMAKE_MODULE_LINKER_FLAGS_INIT: ${CMAKE_MODULE_LINKER_FLAGS_INIT}\n"
|
|
#" CMAKE_SHARED_LINKER_FLAGS: ${CMAKE_SHARED_LINKER_FLAGS}\n"
|
|
#" CMAKE_SHARED_LINKER_FLAGS_INIT: ${CMAKE_SHARED_LINKER_FLAGS_INIT}\n"
|
|
#" CMAKE_STATIC_LINKER_FLAGS: ${CMAKE_STATIC_LINKER_FLAGS}\n"
|
|
#" CMAKE_STATIC_LINKER_FLAGS_INIT: ${CMAKE_STATIC_LINKER_FLAGS_INIT}\n"
|
|
" CMAKE_NM: ${CMAKE_NM}\n"
|
|
" CMAKE_AR: ${CMAKE_AR}\n"
|
|
" CMAKE_RANLIB: ${CMAKE_RANLIB}\n"
|
|
"${__more_tc2_config}"
|
|
" HAVE_COMPILER_GNU_COMPAT: ${HAVE_COMPILER_GNU_COMPAT}\n"
|
|
" CMAKE_THREAD_LIBS: ${CMAKE_THREAD_LIBS}\n"
|
|
" CMAKE_THREAD_LIBS_INIT: ${CMAKE_THREAD_LIBS_INIT}\n"
|
|
" ENABLE_THREAD_CHECK: ${ENABLE_THREAD_CHECK}\n"
|
|
" USE_CXX_STD_APP: ${USE_CXX_STD_APP}\n"
|
|
" USE_CXX_STD_LIB: ${USE_CXX_STD_LIB}\n"
|
|
" STDCXX: ${STDCXX}\n"
|
|
" USE_CXX_STD: ${USE_CXX_STD}\n"
|
|
" HAVE_CLOCK_GETTIME_IN: ${HAVE_CLOCK_GETTIME_IN}\n"
|
|
" HAVE_CLOCK_GETTIME_LIBRT: ${HAVE_CLOCK_GETTIME_LIBRT}\n"
|
|
" HAVE_PTHREAD_GETNAME_NP_IN_PTHREAD_NP_H: ${HAVE_PTHREAD_GETNAME_NP_IN_PTHREAD_NP_H}\n"
|
|
" HAVE_PTHREAD_SETNAME_NP_IN_PTHREAD_NP_H: ${HAVE_PTHREAD_SETNAME_NP_IN_PTHREAD_NP_H}\n"
|
|
" HAVE_PTHREAD_GETNAME_NP: ${HAVE_PTHREAD_GETNAME_NP}\n"
|
|
" HAVE_PTHREAD_SETNAME_NP: ${HAVE_PTHREAD_SETNAME_NP}\n"
|
|
" HAVE_LIBATOMIC: ${HAVE_LIBATOMIC}\n"
|
|
" HAVE_LIBATOMIC_COMPILES: ${HAVE_LIBATOMIC_COMPILES}\n"
|
|
" HAVE_LIBATOMIC_COMPILES_STATIC: ${HAVE_LIBATOMIC_COMPILES_STATIC}\n"
|
|
" HAVE_GCCATOMIC_INTRINSICS: ${HAVE_GCCATOMIC_INTRINSICS}\n"
|
|
" HAVE_GCCATOMIC_INTRINSICS_REQUIRES_LIBATOMIC: ${HAVE_GCCATOMIC_INTRINSICS_REQUIRES_LIBATOMIC}\n"
|
|
" HAVE_CXX_ATOMIC: ${HAVE_CXX_ATOMIC}\n"
|
|
" HAVE_CXX_ATOMIC_STATIC: ${HAVE_CXX_ATOMIC_STATIC}\n"
|
|
" HAVE_CXX_STD_PUT_TIME: ${HAVE_CXX_STD_PUT_TIME}\n"
|
|
" Project Configuration:\n"
|
|
" ENABLE_DEBUG: ${ENABLE_DEBUG}\n"
|
|
" ENABLE_CXX11: ${ENABLE_CXX11}\n"
|
|
" ENABLE_APPS: ${ENABLE_APPS}\n"
|
|
" ENABLE_EXAMPLES: ${ENABLE_EXAMPLES}\n"
|
|
" ENABLE_BONDING: ${ENABLE_BONDING}\n"
|
|
" ENABLE_TESTING: ${ENABLE_TESTING}\n"
|
|
" ENABLE_PROFILE: ${ENABLE_PROFILE}\n"
|
|
" ENABLE_LOGGING: ${ENABLE_LOGGING}\n"
|
|
" ENABLE_HEAVY_LOGGING: ${ENABLE_HEAVY_LOGGING}\n"
|
|
" ENABLE_HAICRYPT_LOGGING: ${ENABLE_HAICRYPT_LOGGING}\n"
|
|
" ENABLE_SHARED: ${ENABLE_SHARED}\n"
|
|
" ENABLE_STATIC: ${ENABLE_STATIC}\n"
|
|
" ENABLE_RELATIVE_LIBPATH: ${ENABLE_RELATIVE_LIBPATH}\n"
|
|
" ENABLE_GETNAMEINFO: ${ENABLE_GETNAMEINFO}\n"
|
|
" ENABLE_UNITTESTS: ${ENABLE_UNITTESTS}\n"
|
|
" ENABLE_ENCRYPTION: ${ENABLE_ENCRYPTION}\n"
|
|
" ENABLE_CXX_DEPS: ${ENABLE_CXX_DEPS}\n"
|
|
" USE_STATIC_LIBSTDCXX: ${USE_STATIC_LIBSTDCXX}\n"
|
|
" ENABLE_INET_PTON: ${ENABLE_INET_PTON}\n"
|
|
" ENABLE_CODE_COVERAGE: ${ENABLE_CODE_COVERAGE}\n"
|
|
" ENABLE_MONOTONIC_CLOCK: ${ENABLE_MONOTONIC_CLOCK}\n"
|
|
" ENABLE_STDCXX_SYNC: ${ENABLE_STDCXX_SYNC}\n"
|
|
" USE_OPENSSL_PC: ${USE_OPENSSL_PC}\n"
|
|
" OPENSSL_USE_STATIC_LIBS: ${OPENSSL_USE_STATIC_LIBS}\n"
|
|
" USE_BUSY_WAITING: ${USE_BUSY_WAITING}\n"
|
|
" USE_GNUSTL: ${USE_GNUSTL}\n"
|
|
" ENABLE_SOCK_CLOEXEC: ${ENABLE_SOCK_CLOEXEC}\n"
|
|
" ENABLE_SHOW_PROJECT_CONFIG: ${ENABLE_SHOW_PROJECT_CONFIG}\n"
|
|
" ENABLE_CLANG_TSA: ${ENABLE_CLANG_TSA}\n"
|
|
" ATOMIC_USE_SRT_SYNC_MUTEX: ${ATOMIC_USE_SRT_SYNC_MUTEX}\n"
|
|
" Constructed Configuration:\n"
|
|
" DISABLE_CXX11: ${DISABLE_CXX11}\n"
|
|
" HAVE_INET_PTON: ${HAVE_INET_PTON}\n"
|
|
" PTHREAD_LIBRARY: ${PTHREAD_LIBRARY}\n"
|
|
" USE_ENCLIB: ${USE_ENCLIB}\n"
|
|
"${__ssl_configuration}"
|
|
" TARGET_srt: ${TARGET_srt}\n"
|
|
" srt_libspec_static: ${srt_libspec_static}\n"
|
|
" srt_libspec_shared: ${srt_libspec_shared}\n"
|
|
" SRT_LIBS_PRIVATE: ${SRT_LIBS_PRIVATE}\n"
|
|
" Target Link Libraries:\n"
|
|
" Static: ${static_property_link_libraries}\n"
|
|
" Shared: ${shared_property_link_libraries}\n"
|
|
"========================================================================\n"
|
|
)
|
|
|
|
endfunction(ShowProjectConfig)
|