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)
|
set(WITH_BENCHMARKS ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
set(DWARFS_CXX_STANDARD 20)
|
||||||
|
|
||||||
# Libraries that we can fetch on demand if necessary
|
# Libraries that we can fetch on demand if necessary
|
||||||
#
|
#
|
||||||
# All of these libraries are header-only and not strictly required once
|
# 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)
|
if(WITH_BENCHMARKS)
|
||||||
target_sources(dwarfs_test_helpers PRIVATE test/test_strings.cpp)
|
target_sources(dwarfs_test_helpers PRIVATE test/test_strings.cpp)
|
||||||
endif()
|
endif()
|
||||||
target_link_libraries(dwarfs_test_helpers PUBLIC dwarfs_common dwarfs_writer dwarfs_tool)
|
target_link_libraries(dwarfs_test_helpers PUBLIC dwarfs_reader dwarfs_writer dwarfs_tool)
|
||||||
set_property(TARGET dwarfs_test_helpers PROPERTY CXX_STANDARD 20)
|
set_property(TARGET dwarfs_test_helpers PROPERTY CXX_STANDARD ${DWARFS_CXX_STANDARD})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_TESTS)
|
if(WITH_TESTS)
|
||||||
@ -818,7 +820,7 @@ foreach(tgt ${LIBDWARFS_TARGETS} ${LIBDWARFS_OBJECT_TARGETS} dwarfs_test_helpers
|
|||||||
)
|
)
|
||||||
endif()
|
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_STANDARD_REQUIRED ON)
|
||||||
set_property(TARGET ${tgt} PROPERTY CXX_EXTENSIONS OFF)
|
set_property(TARGET ${tgt} PROPERTY CXX_EXTENSIONS OFF)
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ endif()
|
|||||||
|
|
||||||
set(default_build_type "Release")
|
set(default_build_type "Release")
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 20)
|
set(CMAKE_CXX_STANDARD ${DWARFS_CXX_STANDARD})
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
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)
|
add_compile_definitions(GLOG_USE_GLOG_EXPORT)
|
||||||
|
|
||||||
set(
|
set(
|
||||||
CXX_STD "gnu++20"
|
CXX_STD "gnu++${DWARFS_CXX_STANDARD}"
|
||||||
CACHE STRING
|
CACHE STRING
|
||||||
"The C++ standard argument to pass to the compiler."
|
"The C++ standard argument to pass to the compiler."
|
||||||
)
|
)
|
||||||
|
|
||||||
set(
|
set(
|
||||||
MSVC_LANGUAGE_VERSION "c++20"
|
MSVC_LANGUAGE_VERSION "c++${DWARFS_CXX_STANDARD}"
|
||||||
CACHE STRING
|
CACHE STRING
|
||||||
"The C++ standard argument to pass to the compiler."
|
"The C++ standard argument to pass to the compiler."
|
||||||
)
|
)
|
||||||
@ -143,7 +143,7 @@ if(WIN32)
|
|||||||
)
|
)
|
||||||
endif()
|
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(
|
target_include_directories(
|
||||||
dwarfs_folly_lite SYSTEM PUBLIC
|
dwarfs_folly_lite SYSTEM PUBLIC
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/folly>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/folly>
|
||||||
|
@ -239,7 +239,7 @@ endif()
|
|||||||
target_link_libraries(dwarfs_extractor PRIVATE PkgConfig::LIBARCHIVE)
|
target_link_libraries(dwarfs_extractor PRIVATE PkgConfig::LIBARCHIVE)
|
||||||
|
|
||||||
target_include_directories(dwarfs_common SYSTEM PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/fsst>)
|
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_STANDARD_REQUIRED ON)
|
||||||
set_property(TARGET dwarfs_fsst PROPERTY CXX_EXTENSIONS OFF)
|
set_property(TARGET dwarfs_fsst PROPERTY CXX_EXTENSIONS OFF)
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ if(PREFER_SYSTEM_GTEST)
|
|||||||
try_compile(
|
try_compile(
|
||||||
GTEST_SUPPORTS_U8STRING
|
GTEST_SUPPORTS_U8STRING
|
||||||
SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/checks/gtest-u8string.cpp
|
SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/checks/gtest-u8string.cpp
|
||||||
CXX_STANDARD 20
|
CXX_STANDARD ${DWARFS_CXX_STANDARD}
|
||||||
)
|
)
|
||||||
|
|
||||||
if(NOT GTEST_SUPPORTS_U8STRING)
|
if(NOT GTEST_SUPPORTS_U8STRING)
|
||||||
|
@ -23,7 +23,7 @@ try_run(
|
|||||||
PHMAP_COMPILE_RESULT
|
PHMAP_COMPILE_RESULT
|
||||||
SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/checks/phmap-version.cpp
|
SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/checks/phmap-version.cpp
|
||||||
CMAKE_FLAGS -DINCLUDE_DIRECTORIES=${TRY_RUN_INCLUDE_DIRECTORIES}
|
CMAKE_FLAGS -DINCLUDE_DIRECTORIES=${TRY_RUN_INCLUDE_DIRECTORIES}
|
||||||
CXX_STANDARD 20
|
CXX_STANDARD ${DWARFS_CXX_STANDARD}
|
||||||
RUN_OUTPUT_VARIABLE PHMAP_VERSION
|
RUN_OUTPUT_VARIABLE PHMAP_VERSION
|
||||||
COMPILE_OUTPUT_VARIABLE PHMAP_COMPILE_OUTPUT
|
COMPILE_OUTPUT_VARIABLE PHMAP_COMPILE_OUTPUT
|
||||||
)
|
)
|
||||||
|
@ -57,7 +57,7 @@ add_library(
|
|||||||
${THRIFT_GENERATED_DIR}/thrift/lib/thrift/gen-cpp2/frozen_types_compact.cpp
|
${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_link_libraries(dwarfs_thrift_lite PUBLIC dwarfs_folly_lite)
|
||||||
|
|
||||||
target_include_directories(dwarfs_thrift_lite SYSTEM PUBLIC
|
target_include_directories(dwarfs_thrift_lite SYSTEM PUBLIC
|
||||||
|
@ -141,6 +141,6 @@ function(add_cpp2_thrift_library idlfile)
|
|||||||
if(NOT WIN32)
|
if(NOT WIN32)
|
||||||
target_compile_options(${_THRIFT_TARGET} PRIVATE -Wno-deprecated-declarations)
|
target_compile_options(${_THRIFT_TARGET} PRIVATE -Wno-deprecated-declarations)
|
||||||
endif()
|
endif()
|
||||||
set_property(TARGET ${_THRIFT_TARGET} PROPERTY CXX_STANDARD 20)
|
set_property(TARGET ${_THRIFT_TARGET} PROPERTY CXX_STANDARD ${DWARFS_CXX_STANDARD})
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user