Skip to content

Commit 997118d

Browse files
committed
build: one standard to rule them all
1 parent 48c1d2a commit 997118d

8 files changed

Lines changed: 14 additions & 12 deletions

File tree

CMakeLists.txt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ if(WITH_ALL_BENCHMARKS)
7777
set(WITH_BENCHMARKS ON)
7878
endif()
7979

80+
set(DWARFS_CXX_STANDARD 20)
81+
8082
# Libraries that we can fetch on demand if necessary
8183
#
8284
# 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)
472474
if(WITH_BENCHMARKS)
473475
target_sources(dwarfs_test_helpers PRIVATE test/test_strings.cpp)
474476
endif()
475-
target_link_libraries(dwarfs_test_helpers PUBLIC dwarfs_common dwarfs_writer dwarfs_tool)
476-
set_property(TARGET dwarfs_test_helpers PROPERTY CXX_STANDARD 20)
477+
target_link_libraries(dwarfs_test_helpers PUBLIC dwarfs_reader dwarfs_writer dwarfs_tool)
478+
set_property(TARGET dwarfs_test_helpers PROPERTY CXX_STANDARD ${DWARFS_CXX_STANDARD})
477479
endif()
478480
479481
if(WITH_TESTS)
@@ -818,7 +820,7 @@ foreach(tgt ${LIBDWARFS_TARGETS} ${LIBDWARFS_OBJECT_TARGETS} dwarfs_test_helpers
818820
)
819821
endif()
820822
821-
set_property(TARGET ${tgt} PROPERTY CXX_STANDARD 20)
823+
set_property(TARGET ${tgt} PROPERTY CXX_STANDARD ${DWARFS_CXX_STANDARD})
822824
set_property(TARGET ${tgt} PROPERTY CXX_STANDARD_REQUIRED ON)
823825
set_property(TARGET ${tgt} PROPERTY CXX_EXTENSIONS OFF)
824826

cmake/compile.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ endif()
7575

7676
set(default_build_type "Release")
7777

78-
set(CMAKE_CXX_STANDARD 20)
78+
set(CMAKE_CXX_STANDARD ${DWARFS_CXX_STANDARD})
7979
set(CMAKE_CXX_STANDARD_REQUIRED ON)
8080

8181
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)

cmake/folly.cmake

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,13 @@ add_compile_definitions(GLOG_NO_ABBREVIATED_SEVERITIES NOMINMAX NOGDI)
3838
add_compile_definitions(GLOG_USE_GLOG_EXPORT)
3939

4040
set(
41-
CXX_STD "gnu++20"
41+
CXX_STD "gnu++${DWARFS_CXX_STANDARD}"
4242
CACHE STRING
4343
"The C++ standard argument to pass to the compiler."
4444
)
4545

4646
set(
47-
MSVC_LANGUAGE_VERSION "c++20"
47+
MSVC_LANGUAGE_VERSION "c++${DWARFS_CXX_STANDARD}"
4848
CACHE STRING
4949
"The C++ standard argument to pass to the compiler."
5050
)
@@ -143,7 +143,7 @@ if(WIN32)
143143
)
144144
endif()
145145

146-
set_property(TARGET dwarfs_folly_lite PROPERTY CXX_STANDARD 20)
146+
set_property(TARGET dwarfs_folly_lite PROPERTY CXX_STANDARD ${DWARFS_CXX_STANDARD})
147147
target_include_directories(
148148
dwarfs_folly_lite SYSTEM PUBLIC
149149
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/folly>

cmake/libdwarfs.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ endif()
239239
target_link_libraries(dwarfs_extractor PRIVATE PkgConfig::LIBARCHIVE)
240240

241241
target_include_directories(dwarfs_common SYSTEM PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/fsst>)
242-
set_property(TARGET dwarfs_fsst PROPERTY CXX_STANDARD 20)
242+
set_property(TARGET dwarfs_fsst PROPERTY CXX_STANDARD ${DWARFS_CXX_STANDARD})
243243
set_property(TARGET dwarfs_fsst PROPERTY CXX_STANDARD_REQUIRED ON)
244244
set_property(TARGET dwarfs_fsst PROPERTY CXX_EXTENSIONS OFF)
245245

cmake/need_gtest.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ if(PREFER_SYSTEM_GTEST)
2828
try_compile(
2929
GTEST_SUPPORTS_U8STRING
3030
SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/checks/gtest-u8string.cpp
31-
CXX_STANDARD 20
31+
CXX_STANDARD ${DWARFS_CXX_STANDARD}
3232
)
3333

3434
if(NOT GTEST_SUPPORTS_U8STRING)

cmake/need_phmap.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ try_run(
2323
PHMAP_COMPILE_RESULT
2424
SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/checks/phmap-version.cpp
2525
CMAKE_FLAGS -DINCLUDE_DIRECTORIES=${TRY_RUN_INCLUDE_DIRECTORIES}
26-
CXX_STANDARD 20
26+
CXX_STANDARD ${DWARFS_CXX_STANDARD}
2727
RUN_OUTPUT_VARIABLE PHMAP_VERSION
2828
COMPILE_OUTPUT_VARIABLE PHMAP_COMPILE_OUTPUT
2929
)

cmake/thrift.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ add_library(
5757
${THRIFT_GENERATED_DIR}/thrift/lib/thrift/gen-cpp2/frozen_types_compact.cpp
5858
)
5959

60-
set_property(TARGET dwarfs_thrift_lite PROPERTY CXX_STANDARD 20)
60+
set_property(TARGET dwarfs_thrift_lite PROPERTY CXX_STANDARD ${DWARFS_CXX_STANDARD})
6161
target_link_libraries(dwarfs_thrift_lite PUBLIC dwarfs_folly_lite)
6262

6363
target_include_directories(dwarfs_thrift_lite SYSTEM PUBLIC

cmake/thrift_library.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,6 @@ function(add_cpp2_thrift_library idlfile)
141141
if(NOT WIN32)
142142
target_compile_options(${_THRIFT_TARGET} PRIVATE -Wno-deprecated-declarations)
143143
endif()
144-
set_property(TARGET ${_THRIFT_TARGET} PROPERTY CXX_STANDARD 20)
144+
set_property(TARGET ${_THRIFT_TARGET} PROPERTY CXX_STANDARD ${DWARFS_CXX_STANDARD})
145145
endif()
146146
endfunction()

0 commit comments

Comments
 (0)