From 9154638116563015530687570074923214922938 Mon Sep 17 00:00:00 2001 From: Eric Kilmer Date: Wed, 29 Oct 2025 11:52:31 -0400 Subject: [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. --- CMakeLists.txt | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'CMakeLists.txt') 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) -- cgit v1.3.1