mirror of
https://github.com/XRPLF/rippled.git
synced 2026-01-29 11:05:25 +00:00
There were a few uninitialized variables in CMake files. This change will make sure we always check if a variable has been initialized before using them, or in come cases initialize them by default. This change will raise an error on CI if a developer introduced an uninitialized variable in CMake files.
61 lines
1.8 KiB
CMake
61 lines
1.8 KiB
CMake
# Shared detection of compiler, operating system, and architecture.
|
|
#
|
|
# This module centralizes environment detection so that other
|
|
# CMake modules can use the same variables instead of repeating
|
|
# checks on CMAKE_* and built-in platform variables.
|
|
|
|
# Only run once per configure step.
|
|
include_guard(GLOBAL)
|
|
|
|
# --------------------------------------------------------------------
|
|
# Compiler detection (C++)
|
|
# --------------------------------------------------------------------
|
|
set(is_clang FALSE)
|
|
set(is_gcc FALSE)
|
|
set(is_msvc FALSE)
|
|
set(is_xcode FALSE)
|
|
|
|
if(CMAKE_CXX_COMPILER_ID MATCHES ".*Clang") # Clang or AppleClang
|
|
set(is_clang TRUE)
|
|
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
|
set(is_gcc TRUE)
|
|
elseif(MSVC)
|
|
set(is_msvc TRUE)
|
|
else()
|
|
message(FATAL_ERROR "Unsupported C++ compiler: ${CMAKE_CXX_COMPILER_ID}")
|
|
endif()
|
|
|
|
# Xcode generator detection
|
|
if(CMAKE_GENERATOR STREQUAL "Xcode")
|
|
set(is_xcode TRUE)
|
|
endif()
|
|
|
|
|
|
# --------------------------------------------------------------------
|
|
# Operating system detection
|
|
# --------------------------------------------------------------------
|
|
set(is_linux FALSE)
|
|
set(is_windows FALSE)
|
|
set(is_macos FALSE)
|
|
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
set(is_linux TRUE)
|
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
|
set(is_windows TRUE)
|
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
|
set(is_macos TRUE)
|
|
endif()
|
|
|
|
# --------------------------------------------------------------------
|
|
# Architecture
|
|
# --------------------------------------------------------------------
|
|
set(is_amd64 FALSE)
|
|
set(is_arm64 FALSE)
|
|
if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64")
|
|
set(is_amd64 TRUE)
|
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|arm64")
|
|
set(is_arm64 TRUE)
|
|
else()
|
|
message(FATAL_ERROR "Unknown architecture: ${CMAKE_SYSTEM_PROCESSOR}")
|
|
endif()
|