Update Project Configuration and Srouce code for macOS Release Build

This commit is contained in:
Saturneric 2021-06-26 06:00:53 +08:00
parent 4870b452c9
commit f114be4103
5 changed files with 18 additions and 17 deletions

View File

@ -38,9 +38,11 @@ message(STATUS "Define EXECUTABLE_OUTPUT_PATH ${EXECUTABLE_OUTPUT_PATH}")
message(STATUS "Define CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE}")
if(${CMAKE_BUILD_TYPE} STREQUAL "Release")
set(BUILD_FLAG 0)
message(STATUS "Build Type RELEASE")
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O2")
else()
set(BUILD_FLAG 1)
message(STATUS "Build Type DEBUG")
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-Wall")
endif()

View File

@ -20,11 +20,16 @@
#define MACOS 1
#define LINUX 2
#define RELEASE 0
#define DEBUG 1
#define PROJECT_NAME "@PROJECT_NAME@"
#define BUILD_VERSION "@BUILD_VERSION@"
#define GIT_VERSION "@GIT_VERSION@"
#define OS_PLATFORM @OS_PLATFORM@
#define BUILD_FLAG @BUILD_FLAG@
#define VERSION_MAJOR @CMAKE_PROJECT_VERSION_MAJOR@
#define VERSION_MINOR @CMAKE_PROJECT_VERSION_MINOR@
#define VERSION_PATCH @CMAKE_PROJECT_VERSION_PATCH@
@ -34,11 +39,11 @@
#define GIT_BRANCH_NAME "@GIT_BRANCH_NAME@"
#define GIT_COMMIT_HASH "@GIT_COMMIT_HASH@"
#if OS_PLATFORM == MACOS
# define RESOURCE_DIR(appDir) (appDir + "../Resources/")
#if OS_PLATFORM == MACOS && BUILD_FLAG == RELEASE
# define RESOURCE_DIR(appDir) (appDir + "/../Resources/")
#else
# define RESOURCE_DIR(appDir) (appDir)
#endif
#endif //GPGFRONTEND_H_IN
#endif //GPGFRONTEND_H_IN

View File

@ -90,14 +90,8 @@ if(${CMAKE_BUILD_TYPE} STREQUAL "Release")
COMMAND /bin/mv -n ./Resources ./gpgfrontend.app/Contents/
WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
COMMENT "Copying Resources INTO App Bundle Resource")
add_custom_command(TARGET gpgfrontend POST_BUILD
COMMAND /bin/rm -rf ./GpgFrontend.app
WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
COMMENT "Deleting Old Final App Bundle")
add_custom_command(TARGET gpgfrontend POST_BUILD
COMMAND /bin/mv -n ./gpgfrontend.app ./GpgFrontend.app
WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
COMMENT "Rename Build App Bundle to Final App Bundle")
else()
add_executable(gpgfrontend ${BASE_SOURCE} ${RESOURCE_FILES} ${QT5_MOCS})
endif()
else()
add_executable(gpgfrontend ${BASE_SOURCE} ${RESOURCE_FILES} ${QT5_MOCS})

View File

@ -43,7 +43,7 @@ int main(int argc, char *argv[]) {
QTextCodec::setCodecForLocale(QTextCodec::codecForName("utf-8"));
// css
QFile file(qApp->applicationDirPath() + "/css/default.qss");
QFile file(RESOURCE_DIR(qApp->applicationDirPath()) + "/css/default.qss");
file.open(QFile::ReadOnly);
QString styleSheet = QLatin1String(file.readAll());
qApp->setStyleSheet(styleSheet);
@ -53,8 +53,8 @@ int main(int argc, char *argv[]) {
* internationalisation. loop to restart mainwindow
* with changed translation when settings change.
*/
if(!QDir(appPath + "/conf").exists()) {
QDir().mkdir(appPath + "/conf");
if(!QDir(RESOURCE_DIR(appPath) + "/conf").exists()) {
QDir().mkdir(RESOURCE_DIR(appPath) + "/conf");
}
QSettings::setDefaultFormat(QSettings::IniFormat);
QSettings settings(RESOURCE_DIR(appPath) + "/conf/gpgfrontend.ini", QSettings::IniFormat);
@ -72,12 +72,12 @@ int main(int argc, char *argv[]) {
lang = QLocale::system().name();
}
qDebug() << "Language set" << lang;
translator.load( appPath + "/ts/" + "gpgfrontend_" + lang);
translator.load(RESOURCE_DIR(appPath) + "/ts/" + "gpgfrontend_" + lang);
qDebug() << "Translator" << translator.filePath();
QApplication::installTranslator(&translator);
// set qt translations
translator2.load("./ts/qt_" + lang, appPath);
translator2.load(RESOURCE_DIR(appPath) + "/ts/qt_" + lang);
qDebug() << "Translator2" << translator2.filePath();
QApplication::installTranslator(&translator2);

View File

@ -97,7 +97,7 @@ QHash<QString, QString> SettingsDialog::listLanguages() {
languages.insert("", tr("System Default"));
QString appPath = qApp->applicationDirPath();
QDir qmDir = QDir(appPath + "/ts/");
QDir qmDir = QDir(RESOURCE_DIR(appPath) + "/ts/");
QStringList fileNames =
qmDir.entryList(QStringList("gpgfrontend_*.qm"));