From eaf55c4c84c4512c6202f482fb4ae21dcee647c3 Mon Sep 17 00:00:00 2001 From: Christian Blichmann Date: Fri, 26 Jan 2024 04:11:12 -0800 Subject: [PATCH] Update dependencies - Abseil - Protobuf v25.2 - Googletest - Google Benchmark PiperOrigin-RevId: 601725762 Change-Id: Iaa26bd82725872ab631ff02f5572aa56fcbf5e8b --- CMakeLists.txt | 16 ++++++++-------- README.md | 7 +++---- cmake/BinExportDeps.cmake | 14 +++++++------- 3 files changed, 18 insertions(+), 19 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b3f5053c..8ed16bda 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,17 +12,17 @@ # See the License for the specific language governing permissions and # limitations under the License. -cmake_minimum_required(VERSION 3.14..3.24) +cmake_minimum_required(VERSION 3.14..3.27) cmake_policy(VERSION 3.14) -if(POLICY CMP0091) - cmake_policy(SET CMP0091 NEW) # Enable MSVC runtime library setting -endif() - -if(POLICY CMP0135) - cmake_policy(SET CMP0135 NEW) # Set download timestamp to current time -endif() +foreach(_binexport_policy IN ITEMS + CMP0091 # Enable MSVC runtime library setting + CMP0135 # Set download timestamp to current time + CMP0144 # Use upper-case _ROOT variables +) + cmake_policy(SET ${_binexport_policy} NEW) +endforeach() project(binexport VERSION 12) # Only major version is used diff --git a/README.md b/README.md index e5a7604d..07e915f3 100644 --- a/README.md +++ b/README.md @@ -210,8 +210,7 @@ to the [BinExport for Ghidra](/java) instructions. There are quite a few dependencies to satisfy: -* Boost 1.71.0 or higher (a partial copy of 1.71.0 ships in - `third_party/boost_parts`) +* Boost 1.83.0 or higher (a partial copy of 1.83.0 ships in `boost_parts`) * [CMake](https://cmake.org/download/) 3.14 or higher * Suggested: [Ninja](https://ninja-build.org/) for speedy builds * GCC 9 or a recent version of Clang on Linux/macOS. On Windows, use the @@ -219,7 +218,7 @@ There are quite a few dependencies to satisfy: * Git 1.8 or higher * IDA Pro only: IDA SDK 8.0 or higher (unpack into `third_party/idasdk`) * Dependencies that will be downloaded: - * Abseil, GoogleTest and Protocol Buffers (3.21) + * Abseil, GoogleTest and Protocol Buffers (25.2) * Binary Ninja SDK ### Linux @@ -295,7 +294,7 @@ as `binexport12_binaryninja.so` (for Binary Ninja). #### Prerequisites The preferred build environment is macOS 13 "Ventura" using Xcode -14.1. Using macOS 12 "Monterey" should also work. +15.1. Using macOS 12 "Monterey" should also work. After installing the Developer Tools, make sure to install the command-line tools as well: diff --git a/cmake/BinExportDeps.cmake b/cmake/BinExportDeps.cmake index 8f89fb2c..f87bd1d0 100644 --- a/cmake/BinExportDeps.cmake +++ b/cmake/BinExportDeps.cmake @@ -24,8 +24,8 @@ include(FetchContent) # Abseil FetchContent_Declare(absl - URL https://github.com/abseil/abseil-cpp/archive/ae87791869cacbc125aa708108c4721e51ff703d.zip # 2023-06-08 - URL_HASH SHA256=fbe050daabadda2297cea9ace55ccde48e3994887bc0b1e6c7330f1a97ee071b + URL https://github.com/abseil/abseil-cpp/archive/42624b3d9d56ae6fd5c48b28715044667942b9d8.zip # 2024-01-25 + URL_HASH SHA256=87e5f2a702c7b1bb496438d155cc44419c05bab9523ec7dba73842e566f41446 ) set(ABSL_CXX_STANDARD ${CMAKE_CXX_STANDARD} CACHE STRING "" FORCE) set(ABSL_PROPAGATE_CXX_STD ON CACHE BOOL "" FORCE) @@ -38,8 +38,8 @@ binexport_check_target(absl::core_headers) if(BUILD_TESTING AND BINEXPORT_BUILD_TESTING) # Googletest (needs to come after Abseil due to C++ standard propagation) FetchContent_Declare(googletest - URL https://github.com/google/googletest/archive/334704df263b480a3e9e7441ed3292a5e30a37ec.zip # 2023-06-06 - URL_HASH SHA256=a217118c2c36a3632b594af7ff98111a65bb2b980b726a7fa62305e02a998440 + URL https://github.com/google/googletest/archive/b3a9ba2b8e975550799838332803d468797ae2e1.zip # 2023-12-04 + URL_HASH SHA256=93b52882cff4e8fb344070106facee0df5e61be91b1948a69c8581b3bcbe0c61 ) FetchContent_MakeAvailable(googletest) binexport_check_target(gtest) @@ -49,8 +49,8 @@ if(BUILD_TESTING AND BINEXPORT_BUILD_TESTING) if(BINEXPORT_BUILD_BENCHMARK) # Benchmark FetchContent_Declare(benchmark - URL https://github.com/google/benchmark/archive/604f6fd3f4b34a84ec4eb4db81d842fa4db829cd.zip # 2023-05-30 - URL_HASH SHA256=342705876335bf894147e052d0dac141fe15962034b41bef5aa59c4b279ca89c + URL https://github.com/google/benchmark/archive/ea71a14891474943fc1f34d359f9e0e82476ffe1.zip # 2024-01-09 + URL_HASH SHA256=d5b0b5471c42e8e431f08ccc52db4acff609d927286bde04e2ac93aff3699ca1 ) set(BENCHMARK_CXX_STANDARD ${CMAKE_CXX_STANDARD} CACHE STRING "" FORCE) set(BENCHMARK_ENABLE_INSTALL OFF CACHE BOOL "" FORCE) @@ -64,7 +64,7 @@ endif() # Protocol Buffers FetchContent_Declare(protobuf GIT_REPOSITORY https://github.com/protocolbuffers/protobuf.git - GIT_TAG v23.4 # 2023-07-05 (must be a branch for GIT_SHALLOW to work) + GIT_TAG v25.2 # 2023-07-05 (must be a branch for GIT_SHALLOW to work) GIT_SUBMODULES third_party/jsoncpp GIT_SHALLOW TRUE )