mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-25 10:43:19 -03:00
40 lines
1.3 KiB
CMake
40 lines
1.3 KiB
CMake
|
# Copyright (c) 2023-present The Bitcoin Core developers
|
||
|
# Distributed under the MIT software license, see the accompanying
|
||
|
# file COPYING or https://opensource.org/license/mit/.
|
||
|
|
||
|
include_guard(GLOBAL)
|
||
|
include(CheckCXXSourceCompiles)
|
||
|
include(CMakePushCheckState)
|
||
|
|
||
|
# This avoids running the linker.
|
||
|
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
|
||
|
|
||
|
macro(check_cxx_source_links source)
|
||
|
set(CMAKE_TRY_COMPILE_TARGET_TYPE EXECUTABLE)
|
||
|
check_cxx_source_compiles("${source}" ${ARGN})
|
||
|
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
|
||
|
endmacro()
|
||
|
|
||
|
macro(check_cxx_source_compiles_with_flags flags source)
|
||
|
cmake_push_check_state(RESET)
|
||
|
set(CMAKE_REQUIRED_FLAGS ${flags})
|
||
|
list(JOIN CMAKE_REQUIRED_FLAGS " " CMAKE_REQUIRED_FLAGS)
|
||
|
check_cxx_source_compiles("${source}" ${ARGN})
|
||
|
cmake_pop_check_state()
|
||
|
endmacro()
|
||
|
|
||
|
macro(check_cxx_source_links_with_flags flags source)
|
||
|
cmake_push_check_state(RESET)
|
||
|
set(CMAKE_REQUIRED_FLAGS ${flags})
|
||
|
list(JOIN CMAKE_REQUIRED_FLAGS " " CMAKE_REQUIRED_FLAGS)
|
||
|
check_cxx_source_links("${source}" ${ARGN})
|
||
|
cmake_pop_check_state()
|
||
|
endmacro()
|
||
|
|
||
|
macro(check_cxx_source_links_with_libs libs source)
|
||
|
cmake_push_check_state(RESET)
|
||
|
set(CMAKE_REQUIRED_LIBRARIES "${libs}")
|
||
|
check_cxx_source_links("${source}" ${ARGN})
|
||
|
cmake_pop_check_state()
|
||
|
endmacro()
|