diff --git a/CMakeLists.txt b/CMakeLists.txt index 6e5ccaff..06e9fd19 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,7 @@ endif() include(cmake/add_files.cmake) include(cmake/create_source_groups.cmake) +include(cmake/version.cmake) include(cmake/version_setup.cmake) # Variables -------------------------------------------------------------------- @@ -30,13 +31,18 @@ endif () if (UNIX) add_definitions(-std=c++11 -Wno-unknown-warning-option -fcolor-diagnostics -DQT_COMPILING_QSTRING_COMPAT_CPP ) - #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32" CACHE STRING "c++ flags") - #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32" CACHE STRING "c flags") endif () # Project ---------------------------------------------------------------------- project(${PROJECT_NAME}) +if (UNIX) + #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32" CACHE STRING "c++ flags") + #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32" CACHE STRING "c flags") + #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32" ) + #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32" ) + #set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -m32" ) +endif () # Clang ------------------------------------------------------------------------ @@ -60,7 +66,9 @@ set(BOOST_ROOT $ENV{BOOST_155_DIR}) set(Boost_USE_MULTITHREAD ON) set(Boost_USE_STATIC_LIBS OFF) set(Boost_USE_STATIC_RUNTIME OFF) +Set(Boost_NO_SYSTEM_PATHS ON) set(BOOST_LIBRARYDIR $ENV{BOOST_155_DIR}) + find_package(Boost 1.55 COMPONENTS system filesystem date_time REQUIRED) # Eigen ------------------------------------------------------------------------- @@ -97,8 +105,6 @@ set_property( TARGET ${LIB_PROJECT_NAME} PROPERTY INCLUDE_DIRECTORIES "${CMAKE_SOURCE_DIR}/src/lib" - "${CMAKE_SOURCE_DIR}/src/external" - ) target_include_directories(${LIB_PROJECT_NAME} SYSTEM @@ -106,6 +112,7 @@ target_include_directories(${LIB_PROJECT_NAME} SYSTEM ${CLANG_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${EIGEN_ROOT} + "${CMAKE_SOURCE_DIR}/src/external" ) @@ -324,17 +331,15 @@ endif () # Visual Leak Detector --------------------------------------------------------- if (WIN32) - include_directories($ENV{VLD_DIR}/include) - endif () # Linux package - if(UNIX AND NOT APPLE) - INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/bin/app/data - DESTINATION share/coati + DESTINATION share/coati/.config/coati + PATTERN "log/*" EXCLUDE + PATTERN "projects/*" EXCLUDE ) INSTALL(FILES ${CMAKE_SOURCE_DIR}/setup/Linux/coati.desktop DESTINATION share/applications @@ -342,27 +347,8 @@ if(UNIX AND NOT APPLE) INSTALL(FILES ${CMAKE_SOURCE_DIR}/bin/app/data/gui/icon/logo_1024_1024.png DESTINATION share/icons RENAME coati.png) - INSTALL(FILES - ${CMAKE_SOURCE_DIR}/setup/Linux/libedit.so.0.0.52 - ${CMAKE_SOURCE_DIR}/setup/Linux/libboost_filesystem.so.1.55.0 - ${CMAKE_SOURCE_DIR}/setup/Linux/libboost_system.so.1.55.0 - ${CMAKE_SOURCE_DIR}/setup/Linux/libboost_date_time.so.1.55.0 - ${CMAKE_SOURCE_DIR}/setup/Linux/libstdc++.so.6 - ${CMAKE_SOURCE_DIR}/setup/Linux/libpng16.so.16 - ${CMAKE_SOURCE_DIR}/setup/Linux/libQt5Core.so.5 - ${CMAKE_SOURCE_DIR}/setup/Linux/libQt5DBus.so.5 - ${CMAKE_SOURCE_DIR}/setup/Linux/libQt5Gui.so.5 - ${CMAKE_SOURCE_DIR}/setup/Linux/libQt5Widgets.so.5 - ${CMAKE_SOURCE_DIR}/setup/Linux/libicui18n.so.54 - ${CMAKE_SOURCE_DIR}/setup/Linux/libicuuc.so.54 - ${CMAKE_SOURCE_DIR}/setup/Linux/libpcre16.so.0 - ${CMAKE_SOURCE_DIR}/setup/Linux/libsystemd.so.0 - ${CMAKE_SOURCE_DIR}/setup/Linux/libicudata.so.54 - ${CMAKE_SOURCE_DIR}/setup/Linux/liblz4.so.1 - ${CMAKE_SOURCE_DIR}/setup/Linux/libgcrypt.so.20 - ${CMAKE_SOURCE_DIR}/setup/Linux/libgpg-error.so.0 - - DESTINATION share/coati/lib + INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/setup/Linux/lib + DESTINATION share/coati ) INSTALL(FILES ${CMAKE_SOURCE_DIR}/setup/Linux/libqxcb.so @@ -372,7 +358,13 @@ if(UNIX AND NOT APPLE) ${CMAKE_SOURCE_DIR}/setup/Linux/Coati.sh DESTINATION share/coati ) - + INSTALL(CODE "execute_process(COMMAND \"${CMAKE_COMMAND}\" -E create_symlink + /usr/local/share/coati/Coati.sh + /usr/local/bin/coati + )") + INSTALL(PROGRAMS /usr/local/bin/coati + DESTINATION bin/ + ) # add the automatically determined parts of the RPATH # which point to directories outside the build tree to the install RPATH SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) @@ -382,14 +374,16 @@ if(UNIX AND NOT APPLE) ) SET(CPACK_GENERATOR "DEB;TGZ") + SET(CPACK_ARCHIVE_COMPONENT_INSTALL "ON") # DEBIAN PACKAGE - SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Andreas Stallinger ") + SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Andreas Stallinger ") SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64") SET(CPACK_PACKAGE_NAME "Coati") - SET(CPACK_PACKAGE_VERSION_MAJOR 0) - SET(CPACK_PACKAGE_VERSION_MINOR 1) - SET(CPACK_PACKAGE_VERSION_PATCH 2) + SET(CPACK_DEBIAN_PACKAGE_HOMEPAGE "http://coati.io") + SET(CPACK_DEBIAN_PACKAGE_SECTION "devel") + SET(CPACK_PACKAGING_INSTALL_PREFIX "/usr/local") + SET(CPACK_PACKAGE_VERSION ${GIT_VERSION_NUMBER}) SET(CPACK_PACKAGE_EXECUTABLES "Coati") INCLUDE(CPack) diff --git a/setup/Linux/Coati.sh b/setup/Linux/Coati.sh old mode 100644 new mode 100755 index b4f7127e..aed72266 --- a/setup/Linux/Coati.sh +++ b/setup/Linux/Coati.sh @@ -1,17 +1,9 @@ #!/bin/sh -appname=`basename $0 | sed s,\.sh$,,` - -dirname=`dirname $0` -echo $dirname -tmp="${dirname#?}" -echo $tmp - -if [ "${dirname%$tmp}" != "/" ]; then -dirname=$PWD/$dirname -echo $dirname +if [ ! -d "~/.config/coati" ]; then + # Control will enter here if $DIRECTORY doesn't exist. + cp -r /usr/local/share/coati/.config/coati ~/.config/coati + echo "First start of Coati from this user, copy default configfiles to ~/.config/coati" fi -LD_LIBRARY_PATH=$dirname/lib -export LD_LIBRARY_PATH -echo $LD_LIBRARY_PATH -$dirname/$appname \ No newline at end of file +export LD_LIBRARY_PATH=/usr/local/share/coati/lib +cd ~/.config/coati && exec /usr/local/share/coati/Coati diff --git a/setup/Linux/coati.desktop b/setup/Linux/coati.desktop index 3d2ec182..e017b71f 100644 --- a/setup/Linux/coati.desktop +++ b/setup/Linux/coati.desktop @@ -3,9 +3,8 @@ Name=Coati GenericName=Coati X-GNOME-FullName=Coati Comment=Code Explorer -Exec=/usr/share/coati/Coati.sh %u +Exec=/usr/local/bin/coati Icon=coati -Path=/usr/share/coati/ Terminal=true Type=Application -StartupNotify=true \ No newline at end of file +StartupNotify=true diff --git a/setup/Linux/lib/libLTO.so.3.7 b/setup/Linux/lib/libLTO.so.3.7 new file mode 100755 index 00000000..3d054e0b Binary files /dev/null and b/setup/Linux/lib/libLTO.so.3.7 differ diff --git a/setup/Linux/libQt5Core.so.5 b/setup/Linux/lib/libQt5Core.so.5 similarity index 100% rename from setup/Linux/libQt5Core.so.5 rename to setup/Linux/lib/libQt5Core.so.5 diff --git a/setup/Linux/libQt5DBus.so.5 b/setup/Linux/lib/libQt5DBus.so.5 similarity index 100% rename from setup/Linux/libQt5DBus.so.5 rename to setup/Linux/lib/libQt5DBus.so.5 diff --git a/setup/Linux/libQt5Gui.so.5 b/setup/Linux/lib/libQt5Gui.so.5 similarity index 100% rename from setup/Linux/libQt5Gui.so.5 rename to setup/Linux/lib/libQt5Gui.so.5 diff --git a/setup/Linux/libQt5Widgets.so.5 b/setup/Linux/lib/libQt5Widgets.so.5 similarity index 100% rename from setup/Linux/libQt5Widgets.so.5 rename to setup/Linux/lib/libQt5Widgets.so.5 diff --git a/setup/Linux/libboost_date_time.so.1.55.0 b/setup/Linux/lib/libboost_date_time.so.1.55.0 similarity index 100% rename from setup/Linux/libboost_date_time.so.1.55.0 rename to setup/Linux/lib/libboost_date_time.so.1.55.0 diff --git a/setup/Linux/libboost_filesystem.so.1.55.0 b/setup/Linux/lib/libboost_filesystem.so.1.55.0 similarity index 100% rename from setup/Linux/libboost_filesystem.so.1.55.0 rename to setup/Linux/lib/libboost_filesystem.so.1.55.0 diff --git a/setup/Linux/libboost_system.so.1.55.0 b/setup/Linux/lib/libboost_system.so.1.55.0 similarity index 100% rename from setup/Linux/libboost_system.so.1.55.0 rename to setup/Linux/lib/libboost_system.so.1.55.0 diff --git a/setup/Linux/lib/libedit.so.0 b/setup/Linux/lib/libedit.so.0 new file mode 100755 index 00000000..1096d021 Binary files /dev/null and b/setup/Linux/lib/libedit.so.0 differ diff --git a/setup/Linux/libgcrypt.so.20 b/setup/Linux/lib/libgcrypt.so.20 similarity index 100% rename from setup/Linux/libgcrypt.so.20 rename to setup/Linux/lib/libgcrypt.so.20 diff --git a/setup/Linux/libgpg-error.so.0 b/setup/Linux/lib/libgpg-error.so.0 similarity index 100% rename from setup/Linux/libgpg-error.so.0 rename to setup/Linux/lib/libgpg-error.so.0 diff --git a/setup/Linux/libicudata.so.54 b/setup/Linux/lib/libicudata.so.54 similarity index 100% rename from setup/Linux/libicudata.so.54 rename to setup/Linux/lib/libicudata.so.54 diff --git a/setup/Linux/libicui18n.so.54 b/setup/Linux/lib/libicui18n.so.54 similarity index 100% rename from setup/Linux/libicui18n.so.54 rename to setup/Linux/lib/libicui18n.so.54 diff --git a/setup/Linux/libicuuc.so.54 b/setup/Linux/lib/libicuuc.so.54 similarity index 100% rename from setup/Linux/libicuuc.so.54 rename to setup/Linux/lib/libicuuc.so.54 diff --git a/setup/Linux/liblz4.so.1 b/setup/Linux/lib/liblz4.so.1 similarity index 100% rename from setup/Linux/liblz4.so.1 rename to setup/Linux/lib/liblz4.so.1 diff --git a/setup/Linux/libpcre16.so.0 b/setup/Linux/lib/libpcre16.so.0 similarity index 100% rename from setup/Linux/libpcre16.so.0 rename to setup/Linux/lib/libpcre16.so.0 diff --git a/setup/Linux/libpng16.so.16 b/setup/Linux/lib/libpng16.so.16 similarity index 100% rename from setup/Linux/libpng16.so.16 rename to setup/Linux/lib/libpng16.so.16 diff --git a/setup/Linux/lib/libstdc++.so.6 b/setup/Linux/lib/libstdc++.so.6 new file mode 100755 index 00000000..ed2cec0d Binary files /dev/null and b/setup/Linux/lib/libstdc++.so.6 differ diff --git a/setup/Linux/libsystemd.so.0 b/setup/Linux/lib/libsystemd.so.0 similarity index 100% rename from setup/Linux/libsystemd.so.0 rename to setup/Linux/lib/libsystemd.so.0 diff --git a/setup/Linux/libedit.so.0.0.52 b/setup/Linux/libedit.so.0.0.52 deleted file mode 100755 index c28b8cb2..00000000 Binary files a/setup/Linux/libedit.so.0.0.52 and /dev/null differ diff --git a/setup/Linux/libstdc++.so.6 b/setup/Linux/libstdc++.so.6 deleted file mode 100755 index 3f73105d..00000000 Binary files a/setup/Linux/libstdc++.so.6 and /dev/null differ diff --git a/src/app/qt/element/QtDirectoryListBox.cpp b/src/app/qt/element/QtDirectoryListBox.cpp index 636d0d81..9db453bb 100644 --- a/src/app/qt/element/QtDirectoryListBox.cpp +++ b/src/app/qt/element/QtDirectoryListBox.cpp @@ -51,6 +51,16 @@ void QtListItemWidget::setFocus() void QtListItemWidget::handleButtonPress() { QFileDialog dialog(this); + QListView *l = dialog.findChild("listView"); + if (l) + { + l->setSelectionMode(QAbstractItemView::SingleSelection); + } + QTreeView *t = dialog.findChild(); + if (t) + { + t->setSelectionMode(QAbstractItemView::SingleSelection); + } if (dialog.exec()) { QStringList list = dialog.selectedFiles(); @@ -59,7 +69,6 @@ void QtListItemWidget::handleButtonPress() setText(list.at(i)); } } - handleFocus(); } diff --git a/src/app/qt/window/QtApplicationSettingsScreen.h b/src/app/qt/window/QtApplicationSettingsScreen.h index e802f7d9..7bf07095 100644 --- a/src/app/qt/window/QtApplicationSettingsScreen.h +++ b/src/app/qt/window/QtApplicationSettingsScreen.h @@ -23,7 +23,7 @@ public: void load(); protected: - virtual void populateForm(QFormLayout* layout); + virtual void populateForm(QFormLayout* layout) override; private slots: void handleCancelButtonPress(); diff --git a/src/app/qt/window/QtProjectSetupScreen.cpp b/src/app/qt/window/QtProjectSetupScreen.cpp index 2aeac136..0166ee85 100644 --- a/src/app/qt/window/QtProjectSetupScreen.cpp +++ b/src/app/qt/window/QtProjectSetupScreen.cpp @@ -58,6 +58,7 @@ void QtTextLine::handleButtonPress() QtProjectSetupScreen::QtProjectSetupScreen(QWidget *parent) : QtSettingsWindow(parent) + , m_frameworkPaths(nullptr) { raise(); } diff --git a/src/app/qt/window/QtProjectSetupScreen.h b/src/app/qt/window/QtProjectSetupScreen.h index 28128e8e..9e3143bb 100644 --- a/src/app/qt/window/QtProjectSetupScreen.h +++ b/src/app/qt/window/QtProjectSetupScreen.h @@ -44,7 +44,7 @@ public: void loadProjectSettings(); protected: - virtual void populateForm(QFormLayout* layout); + virtual void populateForm(QFormLayout* layout) override; private slots: void handleCancelButtonPress(); diff --git a/src/app/qt/window/QtSettingsWindow.cpp b/src/app/qt/window/QtSettingsWindow.cpp index 18382dc2..6498a01e 100644 --- a/src/app/qt/window/QtSettingsWindow.cpp +++ b/src/app/qt/window/QtSettingsWindow.cpp @@ -180,4 +180,4 @@ void QtSettingsWindow::updateDoneButton(QString text) { m_doneButton->setText(text); } -} \ No newline at end of file +}