2
0
forked from Ivasoft/DSView

Fix error of can't find res path

This commit is contained in:
DreamSourceLab
2017-05-31 20:29:09 +08:00
parent 3a71ddd72a
commit 79fdd36d5a
4 changed files with 19 additions and 2 deletions

1
.gitignore vendored
View File

@@ -46,3 +46,4 @@ libsigrok4DSL/version.h
DSView-prj
build*
share

View File

@@ -390,7 +390,7 @@ if(ENABLE_COTIRE)
include(cotire)
cotire(${PROJECT_NAME})
endif()
set_target_properties(${PROJECT_NAME} PROPERTIES INSTALL_RPATH "/usr/local/lib")
set_target_properties(${PROJECT_NAME} PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
#===============================================================================
#= Installation

View File

@@ -42,6 +42,8 @@
#include "config.h"
char DS_RES_PATH[256];
void usage()
{
fprintf(stdout,
@@ -113,6 +115,20 @@ int main(int argc, char *argv[])
} else if (argc - optind == 1)
open_file = argv[argc - 1];
// Initialise DS_RES_PATH
QDir dir(QCoreApplication::applicationDirPath());
if (dir.cd("..") &&
dir.cd("share") &&
dir.cd(QApplication::applicationName()) &&
dir.cd("res")) {
QString res_dir = dir.absolutePath() + "/";
QByteArray str_tmp = res_dir.toLocal8Bit();
strcpy(DS_RES_PATH, str_tmp.data());
} else {
qDebug() << "ERROR: config files don't exist.";
return 1;
}
// Initialise libsigrok
if (sr_init(&sr_ctx) != SR_OK) {
qDebug() << "ERROR: libsigrok init failed.";

View File

@@ -114,7 +114,7 @@ enum {
#define DS_MAX_TRIG_PERCENT 90
#define DS_RES_PATH "/usr/local/share/DSView/res/"
extern char DS_RES_PATH[256];
/** libsigrok loglevels. */
enum {