mirror of
https://github.com/rizinorg/cutter.git
synced 2024-12-18 10:56:11 +00:00
Adjust prefix handling due to rizin portable mode changes. (#2671)
This commit is contained in:
parent
1f129618e0
commit
4328f5df5a
2
.gitignore
vendored
2
.gitignore
vendored
@ -83,7 +83,7 @@ docs/source/_build
|
||||
!/.vscode/extensions.json
|
||||
|
||||
# Visual Studio CMake
|
||||
src/out
|
||||
/out
|
||||
.vs
|
||||
|
||||
# cutter-deps
|
||||
|
@ -14,6 +14,10 @@ else()
|
||||
set(MESON_OPTIONS "--prefix=${RIZIN_INSTALL_DIR}" --libdir=lib)
|
||||
endif()
|
||||
|
||||
if (CUTTER_ENABLE_PACKAGING)
|
||||
list(APPEND MESON_OPTIONS "-Dportable=true")
|
||||
endif()
|
||||
|
||||
find_program(MESON meson)
|
||||
if(NOT MESON)
|
||||
message(FATAL_ERROR "Failed to find meson, which is required to build bundled rizin")
|
||||
|
2
dist/CMakeLists.txt
vendored
2
dist/CMakeLists.txt
vendored
@ -22,7 +22,7 @@ if(WIN32)
|
||||
endif()
|
||||
if (CUTTER_PACKAGE_JSDEC AND CUTTER_ENABLE_DEPENDENCY_DOWNLOADS)
|
||||
install(CODE "
|
||||
set(ENV{RZ_ALT_SRC_DIR} 1)
|
||||
set(ENV{RZ_PREFIX} \"\${CMAKE_INSTALL_PREFIX}\")
|
||||
set(ENV{PATH} \"\${CMAKE_INSTALL_PREFIX};\$ENV{PATH}\")
|
||||
execute_process(COMMAND powershell \"${CMAKE_CURRENT_SOURCE_DIR}/bundle_jsdec.ps1\" \"\${CMAKE_INSTALL_PREFIX}\"
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
|
@ -522,6 +522,10 @@ if(APPLE AND CUTTER_ENABLE_PACKAGING AND CUTTER_USE_BUNDLED_RIZIN)
|
||||
target_compile_definitions(Cutter PRIVATE MACOS_RZ_BUNDLED)
|
||||
endif()
|
||||
|
||||
if(CUTTER_ENABLE_PACKAGING)
|
||||
target_compile_definitions(Cutter PRIVATE CUTTER_ENABLE_PACKAGING)
|
||||
endif()
|
||||
|
||||
include(Translations)
|
||||
|
||||
# Install files
|
||||
|
@ -109,11 +109,6 @@ CutterApplication::CutterApplication(int &argc, char **argv) : QApplication(argc
|
||||
Python()->initialize();
|
||||
#endif
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
// Redefine rz_sys_prefix() behaviour
|
||||
qputenv("RZ_ALT_SRC_DIR", "1");
|
||||
#endif
|
||||
|
||||
Core()->initialize(clOptions.enableRizinPlugins);
|
||||
Core()->setSettings();
|
||||
Config()->loadInitial();
|
||||
@ -193,7 +188,7 @@ CutterApplication::CutterApplication(int &argc, char **argv) : QApplication(argc
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
#if defined(Q_OS_WIN) && defined(CUTTER_ENABLE_PACKAGING)
|
||||
{
|
||||
# ifdef CUTTER_BUNDLE_JSDEC
|
||||
qputenv("JSDEC_HOME", "lib\\plugins\\jsdec");
|
||||
|
@ -183,6 +183,13 @@ CutterCore *CutterCore::instance()
|
||||
|
||||
void CutterCore::initialize(bool loadPlugins)
|
||||
{
|
||||
auto prefix = QDir(QCoreApplication::applicationDirPath());
|
||||
|
||||
#if defined(CUTTER_ENABLE_PACKAGING) && defined(Q_OS_WIN)
|
||||
auto prefixBytes = prefix.absolutePath().toUtf8();
|
||||
rz_sys_prefix(prefixBytes.constData());
|
||||
#endif
|
||||
|
||||
rz_cons_new(); // initialize console
|
||||
core_ = rz_core_new();
|
||||
rz_core_task_sync_begin(&core_->tasks);
|
||||
@ -192,7 +199,6 @@ void CutterCore::initialize(bool loadPlugins)
|
||||
rz_event_hook(core_->analysis->ev, RZ_EVENT_ALL, cutterREventCallback, this);
|
||||
|
||||
#if defined(APPIMAGE) || defined(MACOS_RZ_BUNDLED)
|
||||
auto prefix = QDir(QCoreApplication::applicationDirPath());
|
||||
# ifdef APPIMAGE
|
||||
// Executable is in appdir/bin
|
||||
prefix.cdUp();
|
||||
@ -203,8 +209,8 @@ void CutterCore::initialize(bool loadPlugins)
|
||||
prefix.cd("Resources");
|
||||
qInfo() << "Setting Rizin prefix =" << prefix.absolutePath()
|
||||
<< " for macOS Application Bundle.";
|
||||
# endif
|
||||
setConfig("dir.prefix", prefix.absolutePath());
|
||||
# endif
|
||||
|
||||
auto pluginsDir = prefix;
|
||||
if (pluginsDir.cd("share/rizin/plugins")) {
|
||||
|
Loading…
Reference in New Issue
Block a user