msbuild

Форк
0
/
toolchain.cmake 
377 строк · 14.2 Кб
1
set(CROSS_ROOTFS $ENV{ROOTFS_DIR})
2

3
# reset platform variables (e.g. cmake 3.25 sets LINUX=1)
4
unset(LINUX)
5
unset(FREEBSD)
6
unset(ILLUMOS)
7
unset(ANDROID)
8
unset(TIZEN)
9
unset(HAIKU)
10

11
set(TARGET_ARCH_NAME $ENV{TARGET_BUILD_ARCH})
12
if(EXISTS ${CROSS_ROOTFS}/bin/freebsd-version)
13
  set(CMAKE_SYSTEM_NAME FreeBSD)
14
  set(FREEBSD 1)
15
elseif(EXISTS ${CROSS_ROOTFS}/usr/platform/i86pc)
16
  set(CMAKE_SYSTEM_NAME SunOS)
17
  set(ILLUMOS 1)
18
elseif(EXISTS ${CROSS_ROOTFS}/boot/system/develop/headers/config/HaikuConfig.h)
19
  set(CMAKE_SYSTEM_NAME Haiku)
20
  set(HAIKU 1)
21
else()
22
  set(CMAKE_SYSTEM_NAME Linux)
23
  set(LINUX 1)
24
endif()
25
set(CMAKE_SYSTEM_VERSION 1)
26

27
if(EXISTS ${CROSS_ROOTFS}/etc/tizen-release)
28
  set(TIZEN 1)
29
elseif(EXISTS ${CROSS_ROOTFS}/android_platform)
30
  set(ANDROID 1)
31
endif()
32

33
if(TARGET_ARCH_NAME STREQUAL "arm")
34
  set(CMAKE_SYSTEM_PROCESSOR armv7l)
35
  if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/armv7-alpine-linux-musleabihf)
36
    set(TOOLCHAIN "armv7-alpine-linux-musleabihf")
37
  elseif(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/armv6-alpine-linux-musleabihf)
38
    set(TOOLCHAIN "armv6-alpine-linux-musleabihf")
39
  else()
40
    set(TOOLCHAIN "arm-linux-gnueabihf")
41
  endif()
42
  if(TIZEN)
43
    set(TIZEN_TOOLCHAIN "armv7hl-tizen-linux-gnueabihf/9.2.0")
44
  endif()
45
elseif(TARGET_ARCH_NAME STREQUAL "arm64")
46
  set(CMAKE_SYSTEM_PROCESSOR aarch64)
47
  if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/aarch64-alpine-linux-musl)
48
    set(TOOLCHAIN "aarch64-alpine-linux-musl")
49
  elseif(LINUX)
50
    set(TOOLCHAIN "aarch64-linux-gnu")
51
    if(TIZEN)
52
      set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu/9.2.0")
53
    endif()
54
  elseif(FREEBSD)
55
    set(triple "aarch64-unknown-freebsd12")
56
  endif()
57
elseif(TARGET_ARCH_NAME STREQUAL "armel")
58
  set(CMAKE_SYSTEM_PROCESSOR armv7l)
59
  set(TOOLCHAIN "arm-linux-gnueabi")
60
  if(TIZEN)
61
    set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/9.2.0")
62
  endif()
63
elseif(TARGET_ARCH_NAME STREQUAL "armv6")
64
  set(CMAKE_SYSTEM_PROCESSOR armv6l)
65
  if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/armv6-alpine-linux-musleabihf)
66
    set(TOOLCHAIN "armv6-alpine-linux-musleabihf")
67
  else()
68
    set(TOOLCHAIN "arm-linux-gnueabihf")
69
  endif()
70
elseif(TARGET_ARCH_NAME STREQUAL "ppc64le")
71
  set(CMAKE_SYSTEM_PROCESSOR ppc64le)
72
  if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/powerpc64le-alpine-linux-musl)
73
    set(TOOLCHAIN "powerpc64le-alpine-linux-musl")
74
  else()
75
    set(TOOLCHAIN "powerpc64le-linux-gnu")
76
  endif()
77
elseif(TARGET_ARCH_NAME STREQUAL "riscv64")
78
  set(CMAKE_SYSTEM_PROCESSOR riscv64)
79
  if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/riscv64-alpine-linux-musl)
80
    set(TOOLCHAIN "riscv64-alpine-linux-musl")
81
  else()
82
    set(TOOLCHAIN "riscv64-linux-gnu")
83
  endif()
84
elseif(TARGET_ARCH_NAME STREQUAL "s390x")
85
  set(CMAKE_SYSTEM_PROCESSOR s390x)
86
  if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/s390x-alpine-linux-musl)
87
    set(TOOLCHAIN "s390x-alpine-linux-musl")
88
  else()
89
    set(TOOLCHAIN "s390x-linux-gnu")
90
  endif()
91
elseif(TARGET_ARCH_NAME STREQUAL "x64")
92
  set(CMAKE_SYSTEM_PROCESSOR x86_64)
93
  if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/x86_64-alpine-linux-musl)
94
    set(TOOLCHAIN "x86_64-alpine-linux-musl")
95
  elseif(LINUX)
96
    set(TOOLCHAIN "x86_64-linux-gnu")
97
    if(TIZEN)
98
      set(TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu/9.2.0")
99
    endif()
100
  elseif(FREEBSD)
101
    set(triple "x86_64-unknown-freebsd12")
102
  elseif(ILLUMOS)
103
    set(TOOLCHAIN "x86_64-illumos")
104
  elseif(HAIKU)
105
    set(TOOLCHAIN "x86_64-unknown-haiku")
106
  endif()
107
elseif(TARGET_ARCH_NAME STREQUAL "x86")
108
  set(CMAKE_SYSTEM_PROCESSOR i686)
109
  if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/i586-alpine-linux-musl)
110
    set(TOOLCHAIN "i586-alpine-linux-musl")
111
  else()
112
    set(TOOLCHAIN "i686-linux-gnu")
113
  endif()
114
  if(TIZEN)
115
    set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu/9.2.0")
116
  endif()
117
else()
118
  message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only arm, arm64, armel, armv6, ppc64le, riscv64, s390x, x64 and x86 are supported!")
119
endif()
120

121
if(DEFINED ENV{TOOLCHAIN})
122
  set(TOOLCHAIN $ENV{TOOLCHAIN})
123
endif()
124

125
# Specify include paths
126
if(TIZEN)
127
  if(TARGET_ARCH_NAME STREQUAL "arm")
128
    include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
129
    include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7hl-tizen-linux-gnueabihf)
130
  endif()
131
  if(TARGET_ARCH_NAME STREQUAL "armel")
132
    include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
133
    include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7l-tizen-linux-gnueabi)
134
  endif()
135
  if(TARGET_ARCH_NAME STREQUAL "arm64")
136
    include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
137
    include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/aarch64-tizen-linux-gnu)
138
  endif()
139
  if(TARGET_ARCH_NAME STREQUAL "x86")
140
    include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
141
    include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/i586-tizen-linux-gnu)
142
  endif()
143
  if(TARGET_ARCH_NAME STREQUAL "x64")
144
    include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
145
    include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/x86_64-tizen-linux-gnu)
146
  endif()
147
endif()
148

149
if(ANDROID)
150
    if(TARGET_ARCH_NAME STREQUAL "arm")
151
        set(ANDROID_ABI armeabi-v7a)
152
    elseif(TARGET_ARCH_NAME STREQUAL "arm64")
153
        set(ANDROID_ABI arm64-v8a)
154
    endif()
155

156
    # extract platform number required by the NDK's toolchain
157
    file(READ "${CROSS_ROOTFS}/android_platform" RID_FILE_CONTENTS)
158
    string(REPLACE "RID=" "" ANDROID_RID "${RID_FILE_CONTENTS}")
159
    string(REGEX REPLACE ".*\\.([0-9]+)-.*" "\\1" ANDROID_PLATFORM "${ANDROID_RID}")
160

161
    set(ANDROID_TOOLCHAIN clang)
162
    set(FEATURE_EVENT_TRACE 0) # disable event trace as there is no lttng-ust package in termux repository
163
    set(CMAKE_SYSTEM_LIBRARY_PATH "${CROSS_ROOTFS}/usr/lib")
164
    set(CMAKE_SYSTEM_INCLUDE_PATH "${CROSS_ROOTFS}/usr/include")
165

166
    # include official NDK toolchain script
167
    include(${CROSS_ROOTFS}/../build/cmake/android.toolchain.cmake)
168
elseif(FREEBSD)
169
    # we cross-compile by instructing clang
170
    set(CMAKE_C_COMPILER_TARGET ${triple})
171
    set(CMAKE_CXX_COMPILER_TARGET ${triple})
172
    set(CMAKE_ASM_COMPILER_TARGET ${triple})
173
    set(CMAKE_SYSROOT "${CROSS_ROOTFS}")
174
    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=lld")
175
    set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fuse-ld=lld")
176
    set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -fuse-ld=lld")
177
elseif(ILLUMOS)
178
    set(CMAKE_SYSROOT "${CROSS_ROOTFS}")
179

180
    include_directories(SYSTEM ${CROSS_ROOTFS}/include)
181

182
    set(TOOLSET_PREFIX ${TOOLCHAIN}-)
183
    function(locate_toolchain_exec exec var)
184
        string(TOUPPER ${exec} EXEC_UPPERCASE)
185
        if(NOT "$ENV{CLR_${EXEC_UPPERCASE}}" STREQUAL "")
186
            set(${var} "$ENV{CLR_${EXEC_UPPERCASE}}" PARENT_SCOPE)
187
            return()
188
        endif()
189

190
        find_program(EXEC_LOCATION_${exec}
191
            NAMES
192
            "${TOOLSET_PREFIX}${exec}${CLR_CMAKE_COMPILER_FILE_NAME_VERSION}"
193
            "${TOOLSET_PREFIX}${exec}")
194

195
        if (EXEC_LOCATION_${exec} STREQUAL "EXEC_LOCATION_${exec}-NOTFOUND")
196
            message(FATAL_ERROR "Unable to find toolchain executable. Name: ${exec}, Prefix: ${TOOLSET_PREFIX}.")
197
        endif()
198
        set(${var} ${EXEC_LOCATION_${exec}} PARENT_SCOPE)
199
    endfunction()
200

201
    set(CMAKE_SYSTEM_PREFIX_PATH "${CROSS_ROOTFS}")
202

203
    locate_toolchain_exec(gcc CMAKE_C_COMPILER)
204
    locate_toolchain_exec(g++ CMAKE_CXX_COMPILER)
205

206
    set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp")
207
    set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp")
208
elseif(HAIKU)
209
    set(CMAKE_SYSROOT "${CROSS_ROOTFS}")
210
    set(CMAKE_PROGRAM_PATH "${CMAKE_PROGRAM_PATH};${CROSS_ROOTFS}/cross-tools-x86_64/bin")
211

212
    set(TOOLSET_PREFIX ${TOOLCHAIN}-)
213
    function(locate_toolchain_exec exec var)
214
        string(TOUPPER ${exec} EXEC_UPPERCASE)
215
        if(NOT "$ENV{CLR_${EXEC_UPPERCASE}}" STREQUAL "")
216
            set(${var} "$ENV{CLR_${EXEC_UPPERCASE}}" PARENT_SCOPE)
217
            return()
218
        endif()
219

220
        find_program(EXEC_LOCATION_${exec}
221
            NAMES
222
            "${TOOLSET_PREFIX}${exec}${CLR_CMAKE_COMPILER_FILE_NAME_VERSION}"
223
            "${TOOLSET_PREFIX}${exec}")
224

225
        if (EXEC_LOCATION_${exec} STREQUAL "EXEC_LOCATION_${exec}-NOTFOUND")
226
            message(FATAL_ERROR "Unable to find toolchain executable. Name: ${exec}, Prefix: ${TOOLSET_PREFIX}.")
227
        endif()
228
        set(${var} ${EXEC_LOCATION_${exec}} PARENT_SCOPE)
229
    endfunction()
230

231
    set(CMAKE_SYSTEM_PREFIX_PATH "${CROSS_ROOTFS}")
232

233
    locate_toolchain_exec(gcc CMAKE_C_COMPILER)
234
    locate_toolchain_exec(g++ CMAKE_CXX_COMPILER)
235

236
    set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp")
237
    set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp")
238

239
    # let CMake set up the correct search paths
240
    include(Platform/Haiku)
241
else()
242
    set(CMAKE_SYSROOT "${CROSS_ROOTFS}")
243

244
    set(CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN "${CROSS_ROOTFS}/usr")
245
    set(CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN "${CROSS_ROOTFS}/usr")
246
    set(CMAKE_ASM_COMPILER_EXTERNAL_TOOLCHAIN "${CROSS_ROOTFS}/usr")
247
endif()
248

249
# Specify link flags
250

251
function(add_toolchain_linker_flag Flag)
252
  set(Config "${ARGV1}")
253
  set(CONFIG_SUFFIX "")
254
  if (NOT Config STREQUAL "")
255
    set(CONFIG_SUFFIX "_${Config}")
256
  endif()
257
  set("CMAKE_EXE_LINKER_FLAGS${CONFIG_SUFFIX}_INIT" "${CMAKE_EXE_LINKER_FLAGS${CONFIG_SUFFIX}_INIT} ${Flag}" PARENT_SCOPE)
258
  set("CMAKE_SHARED_LINKER_FLAGS${CONFIG_SUFFIX}_INIT" "${CMAKE_SHARED_LINKER_FLAGS${CONFIG_SUFFIX}_INIT} ${Flag}" PARENT_SCOPE)
259
endfunction()
260

261
if(LINUX)
262
  add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/lib/${TOOLCHAIN}")
263
  add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib/${TOOLCHAIN}")
264
endif()
265

266
if(TARGET_ARCH_NAME MATCHES "^(arm|armel)$")
267
  if(TIZEN)
268
    add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
269
    add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib")
270
    add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib")
271
    add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
272
  endif()
273
elseif(TARGET_ARCH_NAME MATCHES "^(arm64|x64)$")
274
  if(TIZEN)
275
    add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
276
    add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib64")
277
    add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64")
278
    add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
279

280
    add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/lib64")
281
    add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64")
282
    add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
283
  endif()
284
elseif(TARGET_ARCH_NAME STREQUAL "x86")
285
  if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/i586-alpine-linux-musl)
286
    add_toolchain_linker_flag("--target=${TOOLCHAIN}")
287
    add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib/gcc/${TOOLCHAIN}")
288
  endif()
289
  add_toolchain_linker_flag(-m32)
290
  if(TIZEN)
291
    add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
292
    add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib")
293
    add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib")
294
    add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
295
  endif()
296
elseif(ILLUMOS)
297
  add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib/amd64")
298
  add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/amd64/lib")
299
elseif(HAIKU)
300
  add_toolchain_linker_flag("-lnetwork")
301
  add_toolchain_linker_flag("-lroot")
302
endif()
303

304
# Specify compile options
305

306
if((TARGET_ARCH_NAME MATCHES "^(arm|arm64|armel|armv6|ppc64le|riscv64|s390x|x64|x86)$" AND NOT ANDROID AND NOT FREEBSD) OR ILLUMOS OR HAIKU)
307
  set(CMAKE_C_COMPILER_TARGET ${TOOLCHAIN})
308
  set(CMAKE_CXX_COMPILER_TARGET ${TOOLCHAIN})
309
  set(CMAKE_ASM_COMPILER_TARGET ${TOOLCHAIN})
310
endif()
311

312
if(TARGET_ARCH_NAME MATCHES "^(arm|armel)$")
313
  add_compile_options(-mthumb)
314
  if (NOT DEFINED CLR_ARM_FPU_TYPE)
315
    set (CLR_ARM_FPU_TYPE vfpv3)
316
  endif (NOT DEFINED CLR_ARM_FPU_TYPE)
317

318
  add_compile_options (-mfpu=${CLR_ARM_FPU_TYPE})
319
  if (NOT DEFINED CLR_ARM_FPU_CAPABILITY)
320
    set (CLR_ARM_FPU_CAPABILITY 0x7)
321
  endif (NOT DEFINED CLR_ARM_FPU_CAPABILITY)
322

323
  add_definitions (-DCLR_ARM_FPU_CAPABILITY=${CLR_ARM_FPU_CAPABILITY})
324

325
  # persist variables across multiple try_compile passes
326
  list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES CLR_ARM_FPU_TYPE CLR_ARM_FPU_CAPABILITY)
327

328
  if(TARGET_ARCH_NAME STREQUAL "armel")
329
    add_compile_options(-mfloat-abi=softfp)
330
  endif()
331
elseif(TARGET_ARCH_NAME STREQUAL "x86")
332
  if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/i586-alpine-linux-musl)
333
    add_compile_options(--target=${TOOLCHAIN})
334
  endif()
335
  add_compile_options(-m32)
336
  add_compile_options(-Wno-error=unused-command-line-argument)
337
endif()
338

339
if(TIZEN)
340
  if(TARGET_ARCH_NAME MATCHES "^(arm|armel|arm64|x86)$")
341
    add_compile_options(-Wno-deprecated-declarations) # compile-time option
342
    add_compile_options(-D__extern_always_inline=inline) # compile-time option
343
  endif()
344
endif()
345

346
# Set LLDB include and library paths for builds that need lldb.
347
if(TARGET_ARCH_NAME MATCHES "^(arm|armel|x86)$")
348
  if(TARGET_ARCH_NAME STREQUAL "x86")
349
    set(LLVM_CROSS_DIR "$ENV{LLVM_CROSS_HOME}")
350
  else() # arm/armel case
351
    set(LLVM_CROSS_DIR "$ENV{LLVM_ARM_HOME}")
352
  endif()
353
  if(LLVM_CROSS_DIR)
354
    set(WITH_LLDB_LIBS "${LLVM_CROSS_DIR}/lib/" CACHE STRING "")
355
    set(WITH_LLDB_INCLUDES "${LLVM_CROSS_DIR}/include" CACHE STRING "")
356
    set(LLDB_H "${WITH_LLDB_INCLUDES}" CACHE STRING "")
357
    set(LLDB "${LLVM_CROSS_DIR}/lib/liblldb.so" CACHE STRING "")
358
  else()
359
    if(TARGET_ARCH_NAME STREQUAL "x86")
360
      set(WITH_LLDB_LIBS "${CROSS_ROOTFS}/usr/lib/i386-linux-gnu" CACHE STRING "")
361
      set(CHECK_LLVM_DIR "${CROSS_ROOTFS}/usr/lib/llvm-3.8/include")
362
      if(EXISTS "${CHECK_LLVM_DIR}" AND IS_DIRECTORY "${CHECK_LLVM_DIR}")
363
        set(WITH_LLDB_INCLUDES "${CHECK_LLVM_DIR}")
364
      else()
365
        set(WITH_LLDB_INCLUDES "${CROSS_ROOTFS}/usr/lib/llvm-3.6/include")
366
      endif()
367
    else() # arm/armel case
368
      set(WITH_LLDB_LIBS "${CROSS_ROOTFS}/usr/lib/${TOOLCHAIN}" CACHE STRING "")
369
      set(WITH_LLDB_INCLUDES "${CROSS_ROOTFS}/usr/lib/llvm-3.6/include" CACHE STRING "")
370
    endif()
371
  endif()
372
endif()
373

374
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
375
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
376
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
377
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
378

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.