diff options
| author | Eric Kilmer <eric.d.kilmer@gmail.com> | 2025-10-29 11:52:31 -0400 |
|---|---|---|
| committer | Glenn Smith <glenn@vector35.com> | 2026-01-28 22:57:08 -0500 |
| commit | 9154638116563015530687570074923214922938 (patch) | |
| tree | d9175c5c9b91bd5b26549548e6d42d25287aee73 /CMakeLists.txt | |
| parent | 2099579041340399246976046395863741933136 (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.txt | 14 |
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) |
