osquery

Форк
0
/
globals.cmake 
95 строк · 2.8 Кб
1
# Copyright (c) 2014-present, The osquery authors
2
#
3
# This source code is licensed as defined by the LICENSE file found in the
4
# root directory of this source tree.
5
#
6
# SPDX-License-Identifier: (Apache-2.0 OR GPL-2.0-only)
7

8
# Set the build type
9
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
10
  set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Build type (default RelWithDebInfo)" FORCE)
11
endif()
12

13
# Always generate the compile_commands.json file
14
set(CMAKE_EXPORT_COMPILE_COMMANDS true)
15

16
# Show verbose compilation messages when building Debug binaries
17
if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
18
  set(CMAKE_VERBOSE_MAKEFILE true)
19
endif()
20

21
# Destination of custom python modules/scripts used for tests and table generation.
22
# Used as the PYTHONPATH folder.
23
set(OSQUERY_PYTHON_PATH "${CMAKE_BINARY_DIR}/python_path")
24

25
# We need to figure out the processor architecture and set the normalized variable
26
# before any targets are created
27
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64")
28
  # Windows x86_64
29
  set(TARGET_PROCESSOR "x86_64")
30
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
31
  # *nix x86_64
32
  set(TARGET_PROCESSOR "x86_64")
33
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
34
  # *nix AArch64
35
  set(TARGET_PROCESSOR "aarch64")
36
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64")
37
  # Apple Silicon
38
  set(TARGET_PROCESSOR "aarch64")
39
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64")
40
  # Windows on Arm
41
  set(TARGET_PROCESSOR "aarch64")
42
else()
43
  message(FATAL_ERROR "Unsupported architecture ${CMAKE_SYSTEM_PROCESSOR}")
44
endif()
45

46
if("arm64" IN_LIST CMAKE_OSX_ARCHITECTURES)
47
  set(TARGET_PROCESSOR "aarch64")
48
elseif("x86_64" IN_LIST CMAKE_OSX_ARCHITECTURES)
49
  set(TARGET_PROCESSOR "x86_64")
50
endif()
51

52
# TODO(alessandro): Add missing defines: PLATFORM_FREEBSD
53
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
54
  set(PLATFORM_POSIX 1)
55
  set(PLATFORM_LINUX 1)
56

57
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
58
  set(PLATFORM_POSIX 1)
59
  set(PLATFORM_MACOS 1)
60
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
61
  set(PLATFORM_WINDOWS 1)
62
else()
63
  message(FATAL_ERROR "Unrecognized platform")
64
endif()
65

66
# Detect MSVC toolset version
67
if(DEFINED PLATFORM_WINDOWS)
68
  detectMSVCToolsetVersion()
69

70
  if(NOT detectMSVCToolsetVersion_OUTPUT STREQUAL "")
71
    message(STATUS "MSVC toolset version: ${detectMSVCToolsetVersion_OUTPUT}")
72
    set(OSQUERY_MSVC_TOOLSET_VERSION ${detectMSVCToolsetVersion_OUTPUT})
73
  endif()
74
endif()
75

76
set(TEST_CONFIGS_DIR "${CMAKE_BINARY_DIR}/test_configs")
77

78
# Cache variables
79
set(PACKAGING_SYSTEM "" CACHE STRING "Packaging system to generate when building packages")
80

81
if(DEFINED PLATFORM_WINDOWS)
82
  set(WIX_ROOT_FOLDER_PATH "" CACHE STRING "Root folder of the WIX installation")
83
endif()
84

85
if(DEFINED PLATFORM_WINDOWS)
86
  enable_language(ASM_MASM)
87
endif()
88

89
if(DEFINED PLATFORM_POSIX)
90
  enable_language(ASM)
91
endif()
92

93
if(DEFINED PLATFORM_MACOS)
94
  enable_language(OBJCXX)
95
endif()
96

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

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

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

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