summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorEric Kilmer <eric.d.kilmer@gmail.com>2025-10-29 11:52:31 -0400
committerGlenn Smith <glenn@vector35.com>2026-01-28 22:57:08 -0500
commit9154638116563015530687570074923214922938 (patch)
treed9175c5c9b91bd5b26549548e6d42d25287aee73 /CMakeLists.txt
parent2099579041340399246976046395863741933136 (diff)
[CMake] Allow flexible user plugin install location
Create a cache variable of the same name as the previous normal variable that users can set to a specific path for user plugin installation destination. This is primarily to help with CI builds to make it easier to find where the final plugin is located before uploading as a release.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt14
1 files changed, 8 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d0aff4fc..912eeea6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -42,12 +42,13 @@ target_link_libraries(binaryninjaapi PUBLIC binaryninjabase)
# Store path to user plugin dir
if(WIN32)
- set(BN_USER_PLUGINS_DIR "$ENV{APPDATA}\\Binary Ninja\\plugins")
+ set(plugin_dir "$ENV{APPDATA}\\Binary Ninja\\plugins")
elseif(APPLE)
- set(BN_USER_PLUGINS_DIR "$ENV{HOME}/Library/Application Support/Binary Ninja/plugins")
+ set(plugin_dir "$ENV{HOME}/Library/Application Support/Binary Ninja/plugins")
else()
- set(BN_USER_PLUGINS_DIR "$ENV{HOME}/.binaryninja/plugins")
+ set(plugin_dir "$ENV{HOME}/.binaryninja/plugins")
endif()
+set(BN_USER_PLUGINS_DIR "${plugin_dir}" CACHE PATH "Path to Binary Ninja user plugins")
message(STATUS "Binary Ninja User Plugins Dir: ${BN_USER_PLUGINS_DIR}")
find_package(BinaryNinjaCore)
@@ -119,12 +120,13 @@ endif()
function(bn_install_plugin target)
if(WIN32)
- set(BN_USER_PLUGINS_DIR "$ENV{APPDATA}\\Binary Ninja\\plugins")
+ set(plugin_dir "$ENV{APPDATA}\\Binary Ninja\\plugins")
elseif(APPLE)
- set(BN_USER_PLUGINS_DIR "$ENV{HOME}/Library/Application Support/Binary Ninja/plugins")
+ set(plugin_dir "$ENV{HOME}/Library/Application Support/Binary Ninja/plugins")
else()
- set(BN_USER_PLUGINS_DIR "$ENV{HOME}/.binaryninja/plugins")
+ set(plugin_dir "$ENV{HOME}/.binaryninja/plugins")
endif()
+ set(BN_USER_PLUGINS_DIR "${plugin_dir}" CACHE PATH "Path to Binary Ninja user plugins")
if(NOT BN_INTERNAL_BUILD)
if(WIN32)