summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Taylor <alex@vector35.com>2025-05-27 13:34:11 -0400
committerAlexander Taylor <alex@vector35.com>2025-06-25 18:36:48 -0400
commit0342220203fd3adb2a1859230223311252ab24e3 (patch)
tree90cd96454518159b8ffc5699f9bcae7df923577c
parentc41f264a1dba68c89b4a224a70e3a5783f7fa879 (diff)
Update CXX_STANDARD to 20.
Also update minimum CMake version.
-rw-r--r--CMakeLists.txt4
-rw-r--r--arch/arm64/CMakeLists.txt4
-rw-r--r--arch/armv7/CMakeLists.txt4
-rw-r--r--arch/mips/CMakeLists.txt4
-rw-r--r--arch/msp430/CMakeLists.txt2
-rw-r--r--arch/powerpc/CMakeLists.txt6
-rw-r--r--arch/riscv/CMakeLists.txt2
-rw-r--r--arch/x86/CMakeLists.txt4
-rw-r--r--cmake/FindBinaryNinjaCore.cmake2
-rw-r--r--cmake/FindBinaryNinjaUI.cmake2
-rw-r--r--demangler/gnu3/CMakeLists.txt4
-rw-r--r--demangler/msvc/CMakeLists.txt4
-rw-r--r--docs/dev/plugins.md4
-rw-r--r--examples/background_task/CMakeLists.txt4
-rw-r--r--examples/bin-info/CMakeLists.txt4
-rw-r--r--examples/breakpoint/CMakeLists.txt4
-rw-r--r--examples/cmdline_disasm/CMakeLists.txt4
-rw-r--r--examples/enterprise_test/CMakeLists.txt4
-rw-r--r--examples/llil_parser/CMakeLists.txt4
-rw-r--r--examples/mlil_parser/CMakeLists.txt4
-rw-r--r--examples/print_syscalls/CMakeLists.txt4
-rw-r--r--examples/triage/CMakeLists.txt4
-rw-r--r--examples/uinotification/CMakeLists.txt4
-rw-r--r--examples/workflows/inliner/CMakeLists.txt4
-rw-r--r--examples/workflows/tailcall/CMakeLists.txt4
-rw-r--r--examples/x86_extension/CMakeLists.txt4
-rw-r--r--formatter/generic/CMakeLists.txt4
-rw-r--r--lang/c/CMakeLists.txt4
-rw-r--r--lang/rust/CMakeLists.txt4
-rw-r--r--platform/decree/CMakeLists.txt4
-rw-r--r--platform/efi/CMakeLists.txt4
-rw-r--r--platform/freebsd/CMakeLists.txt4
-rw-r--r--platform/linux/CMakeLists.txt4
-rw-r--r--platform/mac-kernel/CMakeLists.txt4
-rw-r--r--platform/mac/CMakeLists.txt4
-rw-r--r--platform/windows-kernel/CMakeLists.txt4
-rw-r--r--platform/windows/CMakeLists.txt4
-rw-r--r--plugins/dwarf/dwarf_export/CMakeLists.txt2
-rw-r--r--plugins/dwarf/dwarf_import/CMakeLists.txt2
-rw-r--r--plugins/idb_import/CMakeLists.txt2
-rw-r--r--plugins/pdb-ng/CMakeLists.txt2
-rw-r--r--plugins/rtti/CMakeLists.txt4
-rw-r--r--plugins/stack_render_layer/CMakeLists.txt4
-rw-r--r--plugins/svd/CMakeLists.txt2
-rw-r--r--plugins/warp/CMakeLists.txt2
-rw-r--r--python/CMakeLists.txt4
-rw-r--r--rust/binaryninjacore-sys/build.rs2
-rw-r--r--view/elf/CMakeLists.txt4
-rw-r--r--view/kernelcache/CMakeLists.txt2
-rw-r--r--view/kernelcache/api/CMakeLists.txt2
-rw-r--r--view/kernelcache/api/python/CMakeLists.txt4
-rw-r--r--view/kernelcache/core/CMakeLists.txt2
-rw-r--r--view/kernelcache/ui/CMakeLists.txt4
-rw-r--r--view/macho/CMakeLists.txt4
-rw-r--r--view/md1rom/CMakeLists.txt4
-rw-r--r--view/pe/CMakeLists.txt4
-rw-r--r--view/sharedcache/CMakeLists.txt2
-rw-r--r--view/sharedcache/api/CMakeLists.txt2
-rw-r--r--view/sharedcache/api/python/CMakeLists.txt4
-rw-r--r--view/sharedcache/core/CMakeLists.txt2
-rw-r--r--view/sharedcache/ui/CMakeLists.txt4
-rw-r--r--view/sharedcache/workflow/CMakeLists.txt2
62 files changed, 107 insertions, 107 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 369f6e05..fa6298ce 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.13 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(binaryninjaapi CXX C)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
@@ -83,7 +83,7 @@ if(APPLE)
endif()
set_target_properties(binaryninjaapi PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/arch/arm64/CMakeLists.txt b/arch/arm64/CMakeLists.txt
index caf3e06c..78907955 100644
--- a/arch/arm64/CMakeLists.txt
+++ b/arch/arm64/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(arch_arm64 CXX C)
@@ -60,7 +60,7 @@ ELSE()
ENDIF()
set_target_properties(${PROJECT_NAME} PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
C_STANDARD 99
diff --git a/arch/armv7/CMakeLists.txt b/arch/armv7/CMakeLists.txt
index c4bea7a7..0e202a68 100644
--- a/arch/armv7/CMakeLists.txt
+++ b/arch/armv7/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(arch_armv7)
@@ -28,7 +28,7 @@ target_include_directories(arch_armv7
target_link_libraries(arch_armv7 binaryninjaapi)
set_target_properties(arch_armv7 PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
C_STANDARD 99
diff --git a/arch/mips/CMakeLists.txt b/arch/mips/CMakeLists.txt
index 30dd661e..e0305c93 100644
--- a/arch/mips/CMakeLists.txt
+++ b/arch/mips/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(arch_mips)
@@ -31,7 +31,7 @@ else()
endif()
set_target_properties(arch_mips PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
C_STANDARD 99
diff --git a/arch/msp430/CMakeLists.txt b/arch/msp430/CMakeLists.txt
index 11e3e025..0eca4480 100644
--- a/arch/msp430/CMakeLists.txt
+++ b/arch/msp430/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(arch_msp430)
diff --git a/arch/powerpc/CMakeLists.txt b/arch/powerpc/CMakeLists.txt
index d148c690..7eff1eb1 100644
--- a/arch/powerpc/CMakeLists.txt
+++ b/arch/powerpc/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.13 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(arch_ppc)
@@ -33,7 +33,7 @@ if(UNIX AND NOT APPLE)
endif()
set_target_properties(arch_ppc PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
@@ -60,7 +60,7 @@ if (DEFINED FORCE_TEST)
target_compile_definitions(test_disasm PRIVATE FORCE_TEST=1)
set_target_properties(test_disasm test_asm PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/arch/riscv/CMakeLists.txt b/arch/riscv/CMakeLists.txt
index 2c5fd54a..54907713 100644
--- a/arch/riscv/CMakeLists.txt
+++ b/arch/riscv/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(arch_riscv)
diff --git a/arch/x86/CMakeLists.txt b/arch/x86/CMakeLists.txt
index 3b2b9a69..bdb72436 100644
--- a/arch/x86/CMakeLists.txt
+++ b/arch/x86/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.13 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(arch_x86)
@@ -56,7 +56,7 @@ if(UNIX AND NOT APPLE)
endif()
set_target_properties(arch_x86 PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
C_STANDARD 11
diff --git a/cmake/FindBinaryNinjaCore.cmake b/cmake/FindBinaryNinjaCore.cmake
index 95b50666..f5b61a17 100644
--- a/cmake/FindBinaryNinjaCore.cmake
+++ b/cmake/FindBinaryNinjaCore.cmake
@@ -11,7 +11,7 @@
# According to Good CMake Hygiene, we should use BinaryNinjaCore_<VAR> named variables.
# Existing plugins likely use BN_<VAR> names already, so both are provided.
-cmake_minimum_required(VERSION 3.13 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
if(NOT BN_INTERNAL_BUILD)
set(PATH_HINTS "$ENV{BN_INSTALL_DIR}" "${BN_INSTALL_DIR}")
diff --git a/cmake/FindBinaryNinjaUI.cmake b/cmake/FindBinaryNinjaUI.cmake
index 608d2d87..d3ef8ed8 100644
--- a/cmake/FindBinaryNinjaUI.cmake
+++ b/cmake/FindBinaryNinjaUI.cmake
@@ -6,7 +6,7 @@
# BinaryNinjaUI_LIBRARY_DIRS - The link paths required for ui plugins
# BinaryNinjaUI_DEFINITIONS - Compiler switches required for UI plugins
-cmake_minimum_required(VERSION 3.13 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
find_package(BinaryNinjaCore REQUIRED)
diff --git a/demangler/gnu3/CMakeLists.txt b/demangler/gnu3/CMakeLists.txt
index 95392c5f..0c249e0e 100644
--- a/demangler/gnu3/CMakeLists.txt
+++ b/demangler/gnu3/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(demangle_gnu3)
@@ -27,7 +27,7 @@ endif()
target_link_libraries(${PROJECT_NAME} binaryninjaapi)
set_target_properties(${PROJECT_NAME} PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
C_STANDARD 99
diff --git a/demangler/msvc/CMakeLists.txt b/demangler/msvc/CMakeLists.txt
index 8a953d5e..1549e02e 100644
--- a/demangler/msvc/CMakeLists.txt
+++ b/demangler/msvc/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(demangle_msvc)
@@ -27,7 +27,7 @@ endif()
target_link_libraries(${PROJECT_NAME} binaryninjaapi)
set_target_properties(${PROJECT_NAME} PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
C_STANDARD 99
diff --git a/docs/dev/plugins.md b/docs/dev/plugins.md
index 1b7791e3..5cac34d6 100644
--- a/docs/dev/plugins.md
+++ b/docs/dev/plugins.md
@@ -102,7 +102,7 @@ Older versions may work but are not supported.
- Windows: VS 2022 Professional with C/C++ Native Tools package, v143 (14.34)
- Linux: GCC 11.4+
-Additionally, Binary Ninja uses C++17 features, and requires a C++17 compatible compiler.
+Additionally, Binary Ninja uses C++20 features, and requires a C++20 compatible compiler.
### CMake Setup
@@ -120,7 +120,7 @@ The first things to specify in your CMake file are a couple boilerplate options
# Name your plugin
project(TestPlugin CXX)
- set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_STANDARD 20)
# Unless you are writing a plugin that needs Qt's UI, specify this
set(HEADLESS 1)
diff --git a/examples/background_task/CMakeLists.txt b/examples/background_task/CMakeLists.txt
index dde3b2c8..9810b983 100644
--- a/examples/background_task/CMakeLists.txt
+++ b/examples/background_task/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.13 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(background_task CXX C)
@@ -20,7 +20,7 @@ target_link_libraries(${PROJECT_NAME}
binaryninjaapi)
set_target_properties(background_task PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/examples/bin-info/CMakeLists.txt b/examples/bin-info/CMakeLists.txt
index d06ce288..ceda2a43 100644
--- a/examples/bin-info/CMakeLists.txt
+++ b/examples/bin-info/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(bin-info CXX C)
@@ -25,7 +25,7 @@ if (NOT WIN32)
endif()
set_target_properties(${PROJECT_NAME} PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/examples/breakpoint/CMakeLists.txt b/examples/breakpoint/CMakeLists.txt
index 00a35b45..1d46c99c 100644
--- a/examples/breakpoint/CMakeLists.txt
+++ b/examples/breakpoint/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(breakpoint CXX C)
@@ -20,7 +20,7 @@ target_link_libraries(${PROJECT_NAME}
binaryninjaapi)
set_target_properties(${PROJECT_NAME} PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/examples/cmdline_disasm/CMakeLists.txt b/examples/cmdline_disasm/CMakeLists.txt
index b515bce3..037fb9de 100644
--- a/examples/cmdline_disasm/CMakeLists.txt
+++ b/examples/cmdline_disasm/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(cmdline_disasm CXX C)
@@ -20,7 +20,7 @@ target_link_libraries(${PROJECT_NAME}
binaryninjaapi)
set_target_properties(${PROJECT_NAME} PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/examples/enterprise_test/CMakeLists.txt b/examples/enterprise_test/CMakeLists.txt
index 87221afc..a6576fe7 100644
--- a/examples/enterprise_test/CMakeLists.txt
+++ b/examples/enterprise_test/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(enterprise_test CXX C)
@@ -25,7 +25,7 @@ if (NOT WIN32)
endif()
set_target_properties(${PROJECT_NAME} PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/examples/llil_parser/CMakeLists.txt b/examples/llil_parser/CMakeLists.txt
index e3f6661c..4ce72b2d 100644
--- a/examples/llil_parser/CMakeLists.txt
+++ b/examples/llil_parser/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(llil_parser CXX C)
@@ -25,7 +25,7 @@ if (NOT WIN32)
endif()
set_target_properties(${PROJECT_NAME} PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/examples/mlil_parser/CMakeLists.txt b/examples/mlil_parser/CMakeLists.txt
index 6b4a235e..b7f484e5 100644
--- a/examples/mlil_parser/CMakeLists.txt
+++ b/examples/mlil_parser/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(mlil_parser CXX C)
@@ -25,7 +25,7 @@ if (NOT WIN32)
endif()
set_target_properties(${PROJECT_NAME} PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/examples/print_syscalls/CMakeLists.txt b/examples/print_syscalls/CMakeLists.txt
index 6135c361..a4c68a50 100644
--- a/examples/print_syscalls/CMakeLists.txt
+++ b/examples/print_syscalls/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(print_syscalls CXX C)
@@ -25,7 +25,7 @@ if (NOT WIN32)
endif()
set_target_properties(${PROJECT_NAME} PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/examples/triage/CMakeLists.txt b/examples/triage/CMakeLists.txt
index a250e09b..9e0e5363 100644
--- a/examples/triage/CMakeLists.txt
+++ b/examples/triage/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(triage CXX C)
@@ -31,7 +31,7 @@ endif()
target_link_libraries(triage binaryninjaui Qt6::Core Qt6::Gui Qt6::Widgets)
set_target_properties(triage PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/examples/uinotification/CMakeLists.txt b/examples/uinotification/CMakeLists.txt
index 05c17a19..ea222734 100644
--- a/examples/uinotification/CMakeLists.txt
+++ b/examples/uinotification/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.13 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(uinotification CXX C)
@@ -22,7 +22,7 @@ endif()
target_link_libraries(uinotification binaryninjaui)
set_target_properties(uinotification PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/examples/workflows/inliner/CMakeLists.txt b/examples/workflows/inliner/CMakeLists.txt
index 882b443c..7346260d 100644
--- a/examples/workflows/inliner/CMakeLists.txt
+++ b/examples/workflows/inliner/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(workflow_inliner)
@@ -23,7 +23,7 @@ endif()
target_link_libraries(workflow_inliner binaryninjaapi)
set_target_properties(workflow_inliner PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
C_STANDARD 99
diff --git a/examples/workflows/tailcall/CMakeLists.txt b/examples/workflows/tailcall/CMakeLists.txt
index 60679dd7..26b21f17 100644
--- a/examples/workflows/tailcall/CMakeLists.txt
+++ b/examples/workflows/tailcall/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(workflow_tailcall)
@@ -23,7 +23,7 @@ endif()
target_link_libraries(workflow_tailcall binaryninjaapi)
set_target_properties(workflow_tailcall PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
C_STANDARD 99
diff --git a/examples/x86_extension/CMakeLists.txt b/examples/x86_extension/CMakeLists.txt
index 9a668f37..cc9d5154 100644
--- a/examples/x86_extension/CMakeLists.txt
+++ b/examples/x86_extension/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(x86_extension CXX C)
@@ -22,7 +22,7 @@ target_link_libraries(${PROJECT_NAME}
binaryninjaapi)
set_target_properties(${PROJECT_NAME} PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/formatter/generic/CMakeLists.txt b/formatter/generic/CMakeLists.txt
index 42a9744a..e2c7c91b 100644
--- a/formatter/generic/CMakeLists.txt
+++ b/formatter/generic/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(formatter_generic)
@@ -28,7 +28,7 @@ else()
endif()
set_target_properties(formatter_generic PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
C_STANDARD 99
diff --git a/lang/c/CMakeLists.txt b/lang/c/CMakeLists.txt
index 94ffd42a..3ff40edd 100644
--- a/lang/c/CMakeLists.txt
+++ b/lang/c/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(lang_pseudoc)
@@ -28,7 +28,7 @@ else()
endif()
set_target_properties(lang_pseudoc PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
C_STANDARD 99
diff --git a/lang/rust/CMakeLists.txt b/lang/rust/CMakeLists.txt
index 41d424b1..dde7c3fa 100644
--- a/lang/rust/CMakeLists.txt
+++ b/lang/rust/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(lang_pseudorust)
@@ -28,7 +28,7 @@ else()
endif()
set_target_properties(lang_pseudorust PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
C_STANDARD 99
diff --git a/platform/decree/CMakeLists.txt b/platform/decree/CMakeLists.txt
index 9a39c34c..13a02af8 100644
--- a/platform/decree/CMakeLists.txt
+++ b/platform/decree/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(platform_decree)
@@ -19,7 +19,7 @@ endif()
target_link_libraries(platform_decree binaryninjaapi)
set_target_properties(platform_decree PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/platform/efi/CMakeLists.txt b/platform/efi/CMakeLists.txt
index 30f7b328..6ad3d5bc 100644
--- a/platform/efi/CMakeLists.txt
+++ b/platform/efi/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(platform_efi)
@@ -19,7 +19,7 @@ endif()
target_link_libraries(platform_efi binaryninjaapi)
set_target_properties(platform_efi PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/platform/freebsd/CMakeLists.txt b/platform/freebsd/CMakeLists.txt
index f7fda4ea..e5d0aa2a 100644
--- a/platform/freebsd/CMakeLists.txt
+++ b/platform/freebsd/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(platform_freebsd)
@@ -19,7 +19,7 @@ endif()
target_link_libraries(platform_freebsd binaryninjaapi)
set_target_properties(platform_freebsd PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/platform/linux/CMakeLists.txt b/platform/linux/CMakeLists.txt
index 114b1b1f..5bf30969 100644
--- a/platform/linux/CMakeLists.txt
+++ b/platform/linux/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(platform_linux)
@@ -19,7 +19,7 @@ endif()
target_link_libraries(platform_linux binaryninjaapi)
set_target_properties(platform_linux PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/platform/mac-kernel/CMakeLists.txt b/platform/mac-kernel/CMakeLists.txt
index 86f0f7fa..b3d22eb4 100644
--- a/platform/mac-kernel/CMakeLists.txt
+++ b/platform/mac-kernel/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(platform_mac_kernel)
@@ -19,7 +19,7 @@ endif()
target_link_libraries(platform_mac_kernel binaryninjaapi)
set_target_properties(platform_mac_kernel PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/platform/mac/CMakeLists.txt b/platform/mac/CMakeLists.txt
index fd0c35fb..7dd918c7 100644
--- a/platform/mac/CMakeLists.txt
+++ b/platform/mac/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(platform_mac)
@@ -19,7 +19,7 @@ endif()
target_link_libraries(platform_mac binaryninjaapi)
set_target_properties(platform_mac PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/platform/windows-kernel/CMakeLists.txt b/platform/windows-kernel/CMakeLists.txt
index d1cfe1ac..3e3e83d4 100644
--- a/platform/windows-kernel/CMakeLists.txt
+++ b/platform/windows-kernel/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(platform_windows_kernel)
@@ -19,7 +19,7 @@ endif()
target_link_libraries(platform_windows_kernel binaryninjaapi)
set_target_properties(platform_windows_kernel PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/platform/windows/CMakeLists.txt b/platform/windows/CMakeLists.txt
index 827d53b9..81cbdd1c 100644
--- a/platform/windows/CMakeLists.txt
+++ b/platform/windows/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(platform_windows)
@@ -19,7 +19,7 @@ endif()
target_link_libraries(platform_windows binaryninjaapi)
set_target_properties(platform_windows PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/plugins/dwarf/dwarf_export/CMakeLists.txt b/plugins/dwarf/dwarf_export/CMakeLists.txt
index f388f8fc..a144ae4a 100644
--- a/plugins/dwarf/dwarf_export/CMakeLists.txt
+++ b/plugins/dwarf/dwarf_export/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(dwarf_export)
diff --git a/plugins/dwarf/dwarf_import/CMakeLists.txt b/plugins/dwarf/dwarf_import/CMakeLists.txt
index b7357ae4..dcad561b 100644
--- a/plugins/dwarf/dwarf_import/CMakeLists.txt
+++ b/plugins/dwarf/dwarf_import/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(dwarf_import)
diff --git a/plugins/idb_import/CMakeLists.txt b/plugins/idb_import/CMakeLists.txt
index 8241e09c..81ced4eb 100644
--- a/plugins/idb_import/CMakeLists.txt
+++ b/plugins/idb_import/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(idb_import)
diff --git a/plugins/pdb-ng/CMakeLists.txt b/plugins/pdb-ng/CMakeLists.txt
index bfd5332f..0f3bcb6b 100644
--- a/plugins/pdb-ng/CMakeLists.txt
+++ b/plugins/pdb-ng/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(pdb_import_plugin)
diff --git a/plugins/rtti/CMakeLists.txt b/plugins/rtti/CMakeLists.txt
index b1fc1e42..25891070 100644
--- a/plugins/rtti/CMakeLists.txt
+++ b/plugins/rtti/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(rtti)
@@ -27,7 +27,7 @@ endif()
target_link_libraries(${PROJECT_NAME} binaryninjaapi)
set_target_properties(${PROJECT_NAME} PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
C_STANDARD 99
diff --git a/plugins/stack_render_layer/CMakeLists.txt b/plugins/stack_render_layer/CMakeLists.txt
index a578ed06..5368d1e7 100644
--- a/plugins/stack_render_layer/CMakeLists.txt
+++ b/plugins/stack_render_layer/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(stack_render_layer)
@@ -27,7 +27,7 @@ endif()
target_link_libraries(${PROJECT_NAME} binaryninjaapi)
set_target_properties(${PROJECT_NAME} PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
C_STANDARD 99
diff --git a/plugins/svd/CMakeLists.txt b/plugins/svd/CMakeLists.txt
index 253eb523..eb57107d 100644
--- a/plugins/svd/CMakeLists.txt
+++ b/plugins/svd/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(svd_ninja)
diff --git a/plugins/warp/CMakeLists.txt b/plugins/warp/CMakeLists.txt
index 762eaf90..37b86165 100644
--- a/plugins/warp/CMakeLists.txt
+++ b/plugins/warp/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(warp_ninja)
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index 8c8d26f8..4e147d00 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(python-api)
@@ -20,7 +20,7 @@ add_executable(generator
target_link_libraries(generator binaryninjaapi)
set_target_properties(generator PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_STANDARD_REQUIRED ON
BUILD_WITH_INSTALL_RPATH OFF
RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
diff --git a/rust/binaryninjacore-sys/build.rs b/rust/binaryninjacore-sys/build.rs
index 800b8373..2cbf4584 100644
--- a/rust/binaryninjacore-sys/build.rs
+++ b/rust/binaryninjacore-sys/build.rs
@@ -87,7 +87,7 @@ fn main() {
bindgen::builder()
.header("../../binaryninjacore.h")
- .clang_arg("-std=c++17")
+ .clang_arg("-std=c++20")
.clang_arg("-x")
.clang_arg("c++")
.size_t_is_usize(true)
diff --git a/view/elf/CMakeLists.txt b/view/elf/CMakeLists.txt
index c7b0a171..97a7ddeb 100644
--- a/view/elf/CMakeLists.txt
+++ b/view/elf/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(view_elf)
@@ -19,7 +19,7 @@ endif()
target_link_libraries(view_elf binaryninjaapi)
set_target_properties(view_elf PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/view/kernelcache/CMakeLists.txt b/view/kernelcache/CMakeLists.txt
index ee16db6e..5bd46370 100644
--- a/view/kernelcache/CMakeLists.txt
+++ b/view/kernelcache/CMakeLists.txt
@@ -55,7 +55,7 @@ else()
endif()
set_target_properties(kernelcache PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_STANDARD_REQUIRED ON
CXX_VISIBILITY_PRESET hidden
VISIBILITY_INLINES_HIDDEN ON
diff --git a/view/kernelcache/api/CMakeLists.txt b/view/kernelcache/api/CMakeLists.txt
index ae7e454a..3097777b 100644
--- a/view/kernelcache/api/CMakeLists.txt
+++ b/view/kernelcache/api/CMakeLists.txt
@@ -67,7 +67,7 @@ target_include_directories(kernelcacheapi
PUBLIC ${PROJECT_SOURCE_DIR} ${INCLUDES})
set_target_properties(kernelcacheapi PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/view/kernelcache/api/python/CMakeLists.txt b/view/kernelcache/api/python/CMakeLists.txt
index 07e96298..8829fb97 100644
--- a/view/kernelcache/api/python/CMakeLists.txt
+++ b/view/kernelcache/api/python/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(kernelcache-python-api)
@@ -12,7 +12,7 @@ target_link_libraries(kernelcache_generator binaryninjaapi)
target_include_directories(kernelcache_generator PUBLIC {PROJECT_SOURCE_DIR}/../../api)
set_target_properties(kernelcache_generator PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_STANDARD_REQUIRED ON
BUILD_WITH_INSTALL_RPATH OFF
RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
diff --git a/view/kernelcache/core/CMakeLists.txt b/view/kernelcache/core/CMakeLists.txt
index d2b37443..dca9f950 100644
--- a/view/kernelcache/core/CMakeLists.txt
+++ b/view/kernelcache/core/CMakeLists.txt
@@ -84,7 +84,7 @@ target_compile_definitions(kernelcachecore PRIVATE KERNELCACHE_LIBRARY ${COMPILE
target_include_directories(kernelcachecore PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${INCLUDES} ${CMAKE_CURRENT_SOURCE_DIR}/transformers)
set_target_properties(kernelcachecore PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/view/kernelcache/ui/CMakeLists.txt b/view/kernelcache/ui/CMakeLists.txt
index 21bdc0f4..b2397486 100644
--- a/view/kernelcache/ui/CMakeLists.txt
+++ b/view/kernelcache/ui/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(kernelcacheui)
@@ -53,7 +53,7 @@ else()
endif()
set_target_properties(kernelcacheui PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_STANDARD_REQUIRED ON
CXX_VISIBILITY_PRESET hidden
VISIBILITY_INLINES_HIDDEN ON
diff --git a/view/macho/CMakeLists.txt b/view/macho/CMakeLists.txt
index 6e628b1f..dcc5c422 100644
--- a/view/macho/CMakeLists.txt
+++ b/view/macho/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(view_macho)
@@ -17,7 +17,7 @@ endif()
target_link_libraries(view_macho binaryninjaapi)
set_target_properties(view_macho PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/view/md1rom/CMakeLists.txt b/view/md1rom/CMakeLists.txt
index 0a6c9ab3..8fe90e8b 100644
--- a/view/md1rom/CMakeLists.txt
+++ b/view/md1rom/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(view_md1rom)
@@ -19,7 +19,7 @@ endif()
target_link_libraries(view_md1rom binaryninjaapi)
set_target_properties(view_md1rom PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/view/pe/CMakeLists.txt b/view/pe/CMakeLists.txt
index 097df32c..283ee094 100644
--- a/view/pe/CMakeLists.txt
+++ b/view/pe/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(view_pe)
@@ -19,7 +19,7 @@ endif()
target_link_libraries(view_pe binaryninjaapi)
set_target_properties(view_pe PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/view/sharedcache/CMakeLists.txt b/view/sharedcache/CMakeLists.txt
index e1b6973a..e84ada5e 100644
--- a/view/sharedcache/CMakeLists.txt
+++ b/view/sharedcache/CMakeLists.txt
@@ -57,7 +57,7 @@ else()
endif()
set_target_properties(sharedcache PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_STANDARD_REQUIRED ON
CXX_VISIBILITY_PRESET hidden
VISIBILITY_INLINES_HIDDEN ON
diff --git a/view/sharedcache/api/CMakeLists.txt b/view/sharedcache/api/CMakeLists.txt
index c14674a7..68d891bb 100644
--- a/view/sharedcache/api/CMakeLists.txt
+++ b/view/sharedcache/api/CMakeLists.txt
@@ -67,7 +67,7 @@ target_include_directories(sharedcacheapi
PUBLIC ${PROJECT_SOURCE_DIR} ${INCLUDES})
set_target_properties(sharedcacheapi PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/view/sharedcache/api/python/CMakeLists.txt b/view/sharedcache/api/python/CMakeLists.txt
index 61de6d1a..b4c1a071 100644
--- a/view/sharedcache/api/python/CMakeLists.txt
+++ b/view/sharedcache/api/python/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(sharedcache-python-api)
@@ -12,7 +12,7 @@ target_link_libraries(sharedcache_generator binaryninjaapi)
target_include_directories(sharedcache_generator PUBLIC {PROJECT_SOURCE_DIR}/../../api)
set_target_properties(sharedcache_generator PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_STANDARD_REQUIRED ON
BUILD_WITH_INSTALL_RPATH OFF
RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
diff --git a/view/sharedcache/core/CMakeLists.txt b/view/sharedcache/core/CMakeLists.txt
index a9aaa1bc..1abd3b36 100644
--- a/view/sharedcache/core/CMakeLists.txt
+++ b/view/sharedcache/core/CMakeLists.txt
@@ -77,7 +77,7 @@ target_compile_definitions(sharedcachecore PRIVATE SHAREDCACHE_LIBRARY ${COMPILE
target_include_directories(sharedcachecore PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${INCLUDES})
set_target_properties(sharedcachecore PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
diff --git a/view/sharedcache/ui/CMakeLists.txt b/view/sharedcache/ui/CMakeLists.txt
index 3ab1969e..5d065722 100644
--- a/view/sharedcache/ui/CMakeLists.txt
+++ b/view/sharedcache/ui/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.9...3.15 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(sharedcacheui)
@@ -54,7 +54,7 @@ else()
endif()
set_target_properties(sharedcacheui PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_STANDARD_REQUIRED ON
CXX_VISIBILITY_PRESET hidden
VISIBILITY_INLINES_HIDDEN ON
diff --git a/view/sharedcache/workflow/CMakeLists.txt b/view/sharedcache/workflow/CMakeLists.txt
index 7a9c157a..495cf149 100644
--- a/view/sharedcache/workflow/CMakeLists.txt
+++ b/view/sharedcache/workflow/CMakeLists.txt
@@ -68,7 +68,7 @@ target_include_directories(sharedcacheworkflow
PUBLIC ${PROJECT_SOURCE_DIR} ${INCLUDES})
set_target_properties(sharedcacheworkflow PROPERTIES
- CXX_STANDARD 17
+ CXX_STANDARD 20
CXX_VISIBILITY_PRESET hidden
CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON