summaryrefslogtreecommitdiff
path: root/cmake/FindBinaryNinjaCore.cmake
diff options
context:
space:
mode:
authorJosh Ferrell <josh@vector35.com>2025-09-26 13:49:38 -0400
committerJosh Ferrell <josh@vector35.com>2025-09-29 14:42:30 -0400
commit4870c90e6fbf31898c57db04f97c69f647157fd5 (patch)
tree463f7097173c500b055219caffbbdbbd673f23c1 /cmake/FindBinaryNinjaCore.cmake
parentdf599006c0a805dda992910722ac69a9adf794fc (diff)
Allow generating and linking to stubs from cmake
Diffstat (limited to 'cmake/FindBinaryNinjaCore.cmake')
-rw-r--r--cmake/FindBinaryNinjaCore.cmake19
1 files changed, 7 insertions, 12 deletions
diff --git a/cmake/FindBinaryNinjaCore.cmake b/cmake/FindBinaryNinjaCore.cmake
index a702d4d9..30f53892 100644
--- a/cmake/FindBinaryNinjaCore.cmake
+++ b/cmake/FindBinaryNinjaCore.cmake
@@ -2,7 +2,6 @@
# Once done this will define
# BinaryNinjaCore_FOUND - If Binary Ninja Core is found
# BinaryNinjaCore_ROOT_DIR - The installation path of Binary Ninja
-# BinaryNinjaCore_USER_PLUGINS_DIR - The path for user plugins
# BinaryNinjaCore_INCLUDE_DIRS - The directories to include for compiling core plugins
# BinaryNinjaCore_LIBRARIES - The libraries for linking core plugins
# BinaryNinjaCore_LIBRARY_DIRS - The link paths required for core plugins
@@ -34,6 +33,12 @@ if(NOT BN_INTERNAL_BUILD)
NAMES binaryninjacore libbinaryninjacore.so.1
HINTS ${PATH_HINTS})
+ if(NOT CORE_LIBRARY_FOUND)
+ set(BN_FOUND 0)
+ set(BinaryNinjaCore_FOUND 0)
+ return()
+ endif()
+
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(BinaryNinjaCore
FOUND_VAR BinaryNinjaCore_FOUND
@@ -52,27 +57,22 @@ if(NOT BN_INTERNAL_BUILD)
if(WIN32)
set(BinaryNinjaCore_LIBRARY_DIRS "${INSTALL_BIN_DIR}")
set(BinaryNinjaCore_ROOT_DIR "${INSTALL_BIN_DIR}")
- set(BinaryNinjaCore_USER_PLUGINS_DIR "$ENV{APPDATA}\\Binary Ninja\\plugins")
elseif(APPLE)
set(BinaryNinjaCore_LIBRARY_DIRS "${INSTALL_BIN_DIR}")
# Binary Ninja.app/Contents/MacOS/binaryninja -> Binary Ninja.app/
get_filename_component(BinaryNinjaCore_ROOT_DIR "${INSTALL_BIN_DIR}" DIRECTORY)
get_filename_component(BinaryNinjaCore_ROOT_DIR "${BinaryNinjaCore_ROOT_DIR}" DIRECTORY)
- set(BinaryNinjaCore_USER_PLUGINS_DIR "$ENV{HOME}/Library/Application Support/Binary Ninja/plugins")
else()
set(BinaryNinjaCore_LIBRARY_DIRS "${INSTALL_BIN_DIR}")
set(BinaryNinjaCore_ROOT_DIR "${INSTALL_BIN_DIR}")
- set(BinaryNinjaCore_USER_PLUGINS_DIR "$ENV{HOME}/.binaryninja/plugins")
endif()
message(STATUS "Binary Ninja Install Dir: ${BinaryNinjaCore_ROOT_DIR}")
- message(STATUS "Binary Ninja User Plugins Dir: ${BinaryNinjaCore_USER_PLUGINS_DIR}")
# Compatibility
set(BN_FOUND "${BinaryNinjaCore_FOUND}")
set(BN_INSTALL_DIR "${BinaryNinjaCore_ROOT_DIR}")
set(BN_INSTALL_BIN_DIR "${INSTALL_BIN_DIR}")
- set(BN_USER_PLUGINS_DIR "${BinaryNinjaCore_USER_PLUGINS_DIR}")
set(BN_CORE_LIBRARY "${CORE_LIBRARY}")
set(BN_CORE_DEFINITIONS "${BinaryNinjaCore_DEFINITIONS}")
else()
@@ -81,15 +81,12 @@ else()
if(WIN32)
set(BinaryNinjaCore_ROOT_DIR "${INSTALL_BIN_DIR}")
- set(BinaryNinjaCore_USER_PLUGINS_DIR "$ENV{APPDATA}\\Binary Ninja\\plugins")
elseif(APPLE)
# Binary Ninja.app/Contents/MacOS/binaryninja -> Binary Ninja.app/
get_filename_component(BinaryNinjaCore_ROOT_DIR "${INSTALL_BIN_DIR}" DIRECTORY)
get_filename_component(BinaryNinjaCore_ROOT_DIR "${BinaryNinjaCore_ROOT_DIR}" DIRECTORY)
- set(BinaryNinjaCore_USER_PLUGINS_DIR "$ENV{HOME}/Library/Application Support/Binary Ninja/plugins")
else()
set(BinaryNinjaCore_ROOT_DIR "${INSTALL_BIN_DIR}")
- set(BinaryNinjaCore_USER_PLUGINS_DIR "$ENV{HOME}/.binaryninja/plugins")
endif()
set(BinaryNinjaCore_FOUND 1)
@@ -98,16 +95,14 @@ else()
set(BinaryNinjaCore_LIBRARIES binaryninjacore)
set(BinaryNinjaCore_LIBRARY_DIRS "${INSTALL_BIN_DIR}")
set(BinaryNinjaCore_DEFINITIONS "")
-
+
message(STATUS "Found Binary Ninja Core: binaryninjacore")
message(STATUS "Binary Ninja Link Dirs: ${INSTALL_BIN_DIR}")
message(STATUS "Binary Ninja Install Dir: ${BinaryNinjaCore_ROOT_DIR}")
- message(STATUS "Binary Ninja User Plugins Dir: ${BinaryNinjaCore_USER_PLUGINS_DIR}")
set(BN_FOUND "${BinaryNinjaCore_FOUND}")
set(BN_INSTALL_DIR "${BinaryNinjaCore_ROOT_DIR}")
set(BN_INSTALL_BIN_DIR "${INSTALL_BIN_DIR}")
- set(BN_USER_PLUGINS_DIR "${BinaryNinjaCore_USER_PLUGINS_DIR}")
set(BN_CORE_LIBRARY binaryninjacore)
set(BN_CORE_DEFINITIONS "${BinaryNinjaCore_DEFINITIONS}")
endif()