From 23f05c003bbf3fd6cafd4d41ffa35d980f65d281 Mon Sep 17 00:00:00 2001 From: Andreas Stallinger Date: Tue, 15 Mar 2016 16:13:43 +0100 Subject: [PATCH] build: Linux package update create database with via commandline in packaging symlink fix in setup --- CMakeLists.txt | 1 + cmake/LinuxPackage.cmake | 43 +++++++++++++++++++++--------- cmake/pre_install_linux.cmake | 23 +++++++++++++--- script/setup.sh | 4 +-- src/lib/settings/ProjectSettings.h | 2 +- src/trial/main.cpp | 4 +-- 6 files changed, 57 insertions(+), 20 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4ab44472..972d416b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,6 +50,7 @@ project(${PROJECT_NAME}) if(UNIX AND NOT APPLE) set(CMAKE_SKIP_BUILD_RPATH FALSE) set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) + set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) set(CMAKE_INSTALL_RPATH "$ORIGIN/lib/:$$ORIGIN/lib/") include(cmake/external.cmake) endif() diff --git a/cmake/LinuxPackage.cmake b/cmake/LinuxPackage.cmake index 972e1b58..53910a66 100644 --- a/cmake/LinuxPackage.cmake +++ b/cmake/LinuxPackage.cmake @@ -75,12 +75,6 @@ function(AddSharedToComponent componentName) COMPONENT ${componentName} ) - INSTALL(DIRECTORY - ${CMAKE_SOURCE_DIR}/bin/app/data/projects - DESTINATION user - COMPONENT ${componentName} - ) - INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/bin/app/user DESTINATION . COMPONENT ${componentName} @@ -107,6 +101,19 @@ INSTALL(DIRECTORY COMPONENT FULL ) +INSTALL(DIRECTORY + ${CMAKE_SOURCE_DIR}/bin/app/data/projects + DESTINATION user + COMPONENT FULL + PATTERN "*.coatidb" EXCLUDE +) + +INSTALL(DIRECTORY + ${CMAKE_SOURCE_DIR}/bin/app/data/projects + DESTINATION user + COMPONENT TRIAL +) + INSTALL(FILES ${CMAKE_SOURCE_DIR}/setup/Linux/coati.desktop ${CMAKE_SOURCE_DIR}/setup/Linux/coati-mime.xml @@ -133,18 +140,30 @@ INSTALL(PROGRAMS COMPONENT FULL ) -INSTALL(PROGRAMS - ${CMAKE_SOURCE_DIR}/bin/app/Release/Coati_upx +#INSTALL(PROGRAMS + #${CMAKE_SOURCE_DIR}/bin/app/Release/Coati_upx + #DESTINATION . + #COMPONENT FULL + #RENAME Coati +#) + +#INSTALL(PROGRAMS + #${CMAKE_SOURCE_DIR}/bin/app/Release/Coati_trial_upx + #DESTINATION . + #COMPONENT TRIAL + #RENAME Coati_trial +#) + +INSTALL(TARGETS + ${APP_PROJECT_NAME} DESTINATION . COMPONENT FULL - RENAME Coati ) -INSTALL(PROGRAMS - ${CMAKE_SOURCE_DIR}/bin/app/Release/Coati_trial_upx +INSTALL(TARGETS + ${TRIAL_PROJECT_NAME} DESTINATION . COMPONENT TRIAL - RENAME Coati_trial ) # SET(CPACK_GENERATOR "DEB;TGZ") diff --git a/cmake/pre_install_linux.cmake b/cmake/pre_install_linux.cmake index aeb02126..6196ca33 100644 --- a/cmake/pre_install_linux.cmake +++ b/cmake/pre_install_linux.cmake @@ -1,11 +1,28 @@ # upx +set(upxPath ${CMAKE_CURRENT_LIST_DIR}/../bin/app/Release) +message(STATUS "upx the app") execute_process( - COMMAND upx --brute ${CMAKE_CURRENT_LIST_DIR}/../bin/app/Release/Coati -o ${CMAKE_CURRENT_LIST_DIR}/../bin/app/Release/Coati_upx + COMMAND upx --brute ${upxPath}/Coati -o ${upxPath}/Coati_upx +) + +message(STATUS "upx the trial") +execute_process( + COMMAND upx --brute ${upxPath}/Coati_trial -o ${upxPath}/Coati_trial_upx +) + + +execute_process( + COMMAND ${upxPath}/Coati -f -d ${upxPath}/../data/projects/tictactoe/tictactoe.coatiproject ) execute_process( - COMMAND upx --brute ${CMAKE_CURRENT_LIST_DIR}/../bin/app/Release/Coati_trial -o - ${CMAKE_CURRENT_LIST_DIR}/../bin/app/Release/Coati_trial_upx + COMMAND ${upxPath}/Coati -f -d ${upxPath}/../data/projects/tutorial/tutorial.coatiproject ) +#add_custom_command( + #OUTPUT Coati_upx + #COMMAND upx --brute ${CMAKE_CURRENT_LIST_DIR}/../bin/app/Release/Coati -o ${CMAKE_CURRENT_LIST_DIR}/../bin/app/Release/Coati_upx + + #) + diff --git a/script/setup.sh b/script/setup.sh index 7d8775c7..768f467e 100755 --- a/script/setup.sh +++ b/script/setup.sh @@ -55,8 +55,8 @@ if [ $PLATFORM == "Windows" ]; then cmd //c 'mklink /d /j '.$MY_PATH.'\..\bin\app\Release\user '.$MY_PATH.'\..\bin\app\user' & elif [ $PLATFORM == "Linux" ]; then echo -e $INFO "create symbolic links for data" - ln -s bin/app/data bin/app/Release/data - ln -s bin/app/data bin/app/Debug/data + ln -sr bin/app/data bin/app/Release/data + ln -sr bin/app/data bin/app/Debug/data fi # Setup both Debug and Release configuration diff --git a/src/lib/settings/ProjectSettings.h b/src/lib/settings/ProjectSettings.h index 8b28fc5b..073f4bde 100644 --- a/src/lib/settings/ProjectSettings.h +++ b/src/lib/settings/ProjectSettings.h @@ -30,7 +30,7 @@ public: // source std::vector getSourcePaths() const; - std::vector ProjectSettings::getAbsoluteSourcePaths() const; + std::vector getAbsoluteSourcePaths() const; bool setSourcePaths(const std::vector& sourcePaths); std::vector getHeaderSearchPaths() const; diff --git a/src/trial/main.cpp b/src/trial/main.cpp index 8928dca9..77ee1fa6 100644 --- a/src/trial/main.cpp +++ b/src/trial/main.cpp @@ -37,10 +37,10 @@ int main(int argc, char *argv[]) Version version = Version::fromString(GIT_VERSION_NUMBER); QApplication::setApplicationVersion(version.toDisplayString().c_str()); - setup(argc, argv); - QtApplication qtApp(argc, argv); + setup(argc, argv); + qtApp.setAttribute(Qt::AA_UseHighDpiPixmaps); init();