Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,9 @@ endif()
install(TARGETS bindiff RUNTIME DESTINATION bindiff-prefix)

# IDA Pro plugins
add_subdirectory(ida)
if(IdaSdk_FOUND)
add_subdirectory(ida)
endif(IdaSdk_FOUND)

# Utility programs. For now, only contains a tool to modify the BinDiff
# config from the installer/package scripts.
Expand Down
16 changes: 15 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,11 +91,13 @@ The following build dependencies are required:
* GCC 9 or a recent version of Clang on Linux/macOS. On Windows, use the
Visual Studio 2019 compiler and the Windows SDK for Windows 10.
* Git 1.8 or higher
* IDA Pro only: IDA SDK 8.0 or higher (unpack into `deps/idasdk`)
* Dependencies that will be downloaded:
* Abseil, GoogleTest, Protocol Buffers (3.14), and SQLite3
* Binary Ninja SDK

The following build dependencies are optional:
* IDA Pro only: IDA SDK 8.0 or higher (unpack into `deps/idasdk`)

The general build steps are the same on Windows, Linux and macOS. The following
shows the commands for Linux.

Expand Down Expand Up @@ -126,6 +128,18 @@ cmake --build build/out --config Release
cmake --install build/out --config Release
```

### Building without IDA

To build without IDA, simply change the above configuration step to

```bash
cmake -S . -B build/out -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=build/out \
-DBINDIFF_BINEXPORT_DIR=build/binexport \
-DBINEXPORT_ENABLE_IDAPRO=OFF
```

### Java GUI and yFiles

Building the Java based GUI requires the commercial third-party graph
Expand Down
2 changes: 1 addition & 1 deletion cmake/BinDiffDeps.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,6 @@ if(NOT sqlite_POPULATED)
endif()

# Setup IDA SDK. Uses FindIdaSdk.cmake from BinExport
find_package(IdaSdk REQUIRED)
find_package(IdaSdk)

find_package(Protobuf 3.14 REQUIRED) # Make protobuf_generate_cpp available