File: ShowProjectConfig.cmake

package info (click to toggle)
srt 1.5.4-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,804 kB
  • sloc: cpp: 52,175; ansic: 5,746; tcl: 1,183; sh: 318; python: 99; makefile: 38
file content (192 lines) | stat: -rw-r--r-- 8,863 bytes parent folder | download | duplicates (2)
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
#
# 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)