diff options
| author | Josh Ferrell <josh@vector35.com> | 2025-09-26 13:49:38 -0400 |
|---|---|---|
| committer | Josh Ferrell <josh@vector35.com> | 2025-09-29 14:42:30 -0400 |
| commit | 4870c90e6fbf31898c57db04f97c69f647157fd5 (patch) | |
| tree | 463f7097173c500b055219caffbbdbbd673f23c1 /cmake/FindBinaryNinjaCore.cmake | |
| parent | df599006c0a805dda992910722ac69a9adf794fc (diff) | |
Allow generating and linking to stubs from cmake
Diffstat (limited to 'cmake/FindBinaryNinjaCore.cmake')
| -rw-r--r-- | cmake/FindBinaryNinjaCore.cmake | 19 |
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() |
