mirror of
https://github.com/mhx/dwarfs.git
synced 2025-08-03 09:47:01 -04:00
build: one standard to rule them all
This commit is contained in:
parent
48c1d2a1e5
commit
997118da6e
@ -77,6 +77,8 @@ if(WITH_ALL_BENCHMARKS)
|
||||
set(WITH_BENCHMARKS ON)
|
||||
endif()
|
||||
|
||||
set(DWARFS_CXX_STANDARD 20)
|
||||
|
||||
# Libraries that we can fetch on demand if necessary
|
||||
#
|
||||
# All of these libraries are header-only and not strictly required once
|
||||
@ -472,8 +474,8 @@ if(WITH_TESTS OR WITH_BENCHMARKS OR WITH_FUZZ)
|
||||
if(WITH_BENCHMARKS)
|
||||
target_sources(dwarfs_test_helpers PRIVATE test/test_strings.cpp)
|
||||
endif()
|
||||
target_link_libraries(dwarfs_test_helpers PUBLIC dwarfs_common dwarfs_writer dwarfs_tool)
|
||||
set_property(TARGET dwarfs_test_helpers PROPERTY CXX_STANDARD 20)
|
||||
target_link_libraries(dwarfs_test_helpers PUBLIC dwarfs_reader dwarfs_writer dwarfs_tool)
|
||||
set_property(TARGET dwarfs_test_helpers PROPERTY CXX_STANDARD ${DWARFS_CXX_STANDARD})
|
||||
endif()
|
||||
|
||||
if(WITH_TESTS)
|
||||
@ -818,7 +820,7 @@ foreach(tgt ${LIBDWARFS_TARGETS} ${LIBDWARFS_OBJECT_TARGETS} dwarfs_test_helpers
|
||||
)
|
||||
endif()
|
||||
|
||||
set_property(TARGET ${tgt} PROPERTY CXX_STANDARD 20)
|
||||
set_property(TARGET ${tgt} PROPERTY CXX_STANDARD ${DWARFS_CXX_STANDARD})
|
||||
set_property(TARGET ${tgt} PROPERTY CXX_STANDARD_REQUIRED ON)
|
||||
set_property(TARGET ${tgt} PROPERTY CXX_EXTENSIONS OFF)
|
||||
|
||||
|
@ -75,7 +75,7 @@ endif()
|
||||
|
||||
set(default_build_type "Release")
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_CXX_STANDARD ${DWARFS_CXX_STANDARD})
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||
|
@ -38,13 +38,13 @@ add_compile_definitions(GLOG_NO_ABBREVIATED_SEVERITIES NOMINMAX NOGDI)
|
||||
add_compile_definitions(GLOG_USE_GLOG_EXPORT)
|
||||
|
||||
set(
|
||||
CXX_STD "gnu++20"
|
||||
CXX_STD "gnu++${DWARFS_CXX_STANDARD}"
|
||||
CACHE STRING
|
||||
"The C++ standard argument to pass to the compiler."
|
||||
)
|
||||
|
||||
set(
|
||||
MSVC_LANGUAGE_VERSION "c++20"
|
||||
MSVC_LANGUAGE_VERSION "c++${DWARFS_CXX_STANDARD}"
|
||||
CACHE STRING
|
||||
"The C++ standard argument to pass to the compiler."
|
||||
)
|
||||
@ -143,7 +143,7 @@ if(WIN32)
|
||||
)
|
||||
endif()
|
||||
|
||||
set_property(TARGET dwarfs_folly_lite PROPERTY CXX_STANDARD 20)
|
||||
set_property(TARGET dwarfs_folly_lite PROPERTY CXX_STANDARD ${DWARFS_CXX_STANDARD})
|
||||
target_include_directories(
|
||||
dwarfs_folly_lite SYSTEM PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/folly>
|
||||
|
@ -239,7 +239,7 @@ endif()
|
||||
target_link_libraries(dwarfs_extractor PRIVATE PkgConfig::LIBARCHIVE)
|
||||
|
||||
target_include_directories(dwarfs_common SYSTEM PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/fsst>)
|
||||
set_property(TARGET dwarfs_fsst PROPERTY CXX_STANDARD 20)
|
||||
set_property(TARGET dwarfs_fsst PROPERTY CXX_STANDARD ${DWARFS_CXX_STANDARD})
|
||||
set_property(TARGET dwarfs_fsst PROPERTY CXX_STANDARD_REQUIRED ON)
|
||||
set_property(TARGET dwarfs_fsst PROPERTY CXX_EXTENSIONS OFF)
|
||||
|
||||
|
@ -28,7 +28,7 @@ if(PREFER_SYSTEM_GTEST)
|
||||
try_compile(
|
||||
GTEST_SUPPORTS_U8STRING
|
||||
SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/checks/gtest-u8string.cpp
|
||||
CXX_STANDARD 20
|
||||
CXX_STANDARD ${DWARFS_CXX_STANDARD}
|
||||
)
|
||||
|
||||
if(NOT GTEST_SUPPORTS_U8STRING)
|
||||
|
@ -23,7 +23,7 @@ try_run(
|
||||
PHMAP_COMPILE_RESULT
|
||||
SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/checks/phmap-version.cpp
|
||||
CMAKE_FLAGS -DINCLUDE_DIRECTORIES=${TRY_RUN_INCLUDE_DIRECTORIES}
|
||||
CXX_STANDARD 20
|
||||
CXX_STANDARD ${DWARFS_CXX_STANDARD}
|
||||
RUN_OUTPUT_VARIABLE PHMAP_VERSION
|
||||
COMPILE_OUTPUT_VARIABLE PHMAP_COMPILE_OUTPUT
|
||||
)
|
||||
|
@ -57,7 +57,7 @@ add_library(
|
||||
${THRIFT_GENERATED_DIR}/thrift/lib/thrift/gen-cpp2/frozen_types_compact.cpp
|
||||
)
|
||||
|
||||
set_property(TARGET dwarfs_thrift_lite PROPERTY CXX_STANDARD 20)
|
||||
set_property(TARGET dwarfs_thrift_lite PROPERTY CXX_STANDARD ${DWARFS_CXX_STANDARD})
|
||||
target_link_libraries(dwarfs_thrift_lite PUBLIC dwarfs_folly_lite)
|
||||
|
||||
target_include_directories(dwarfs_thrift_lite SYSTEM PUBLIC
|
||||
|
@ -141,6 +141,6 @@ function(add_cpp2_thrift_library idlfile)
|
||||
if(NOT WIN32)
|
||||
target_compile_options(${_THRIFT_TARGET} PRIVATE -Wno-deprecated-declarations)
|
||||
endif()
|
||||
set_property(TARGET ${_THRIFT_TARGET} PROPERTY CXX_STANDARD 20)
|
||||
set_property(TARGET ${_THRIFT_TARGET} PROPERTY CXX_STANDARD ${DWARFS_CXX_STANDARD})
|
||||
endif()
|
||||
endfunction()
|
||||
|
Loading…
x
Reference in New Issue
Block a user