diff --git a/CMakeLists.txt b/CMakeLists.txt index f7442a2..98b8265 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,6 +12,7 @@ include(${CMAKE_SOURCE_DIR}/version.txt) project(gsmartcontrol VERSION ${CMAKE_PROJECT_VERSION} + DESCRIPTION "Hard Disk Drive and SSD Health Inspection Tool" HOMEPAGE_URL "https://gsmartcontrol.shaduri.dev" LANGUAGES CXX ) @@ -20,6 +21,8 @@ project(gsmartcontrol # Provide DATADIR, etc... include(GNUInstallDirs) +message(STATUS "Using toolchain file: ${CMAKE_TOOLCHAIN_FILE}.") + include(src/build_config/compiler_options.cmake) @@ -50,8 +53,8 @@ if (WIN32) PATTERN "CNAME" EXCLUDE ) else() - install(FILES ${DOC_FILES} DESTINATION "${CMAKE_INSTALL_DOCDIR}/gsmartcontrol/") - install(DIRECTORY docs DESTINATION "${CMAKE_INSTALL_DOCDIR}/gsmartcontrol/" + install(FILES ${DOC_FILES} DESTINATION "${CMAKE_INSTALL_DOCDIR}/") + install(DIRECTORY docs DESTINATION "${CMAKE_INSTALL_DOCDIR}/" PATTERN "*.yml" EXCLUDE PATTERN "CNAME" EXCLUDE ) diff --git a/contrib/CMakeLists.txt b/contrib/CMakeLists.txt index a87b2b6..fe57edb 100644 --- a/contrib/CMakeLists.txt +++ b/contrib/CMakeLists.txt @@ -5,5 +5,5 @@ ############################################################################### if (NOT WIN32) - install(DIRECTORY "cron-based_noadmin" DESTINATION "${CMAKE_INSTALL_DOCDIR}/gsmartcontrol/contrib/") + install(DIRECTORY "cron-based_noadmin" DESTINATION "${CMAKE_INSTALL_DOCDIR}/contrib/") endif() diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt index eb83da8..ff0a294 100644 --- a/data/CMakeLists.txt +++ b/data/CMakeLists.txt @@ -9,7 +9,7 @@ configure_file("gsmartcontrol.appdata.in.xml" "gsmartcontrol.appdata.xml" ESCAPE_QUOTES @ONLY) configure_file("gsmartcontrol.in.desktop" "gsmartcontrol.desktop" ESCAPE_QUOTES @ONLY) configure_file("gsmartcontrol-root.in.sh" "gsmartcontrol-root.sh" ESCAPE_QUOTES @ONLY) -configure_file("org.gsmartcontrol.in.policy" "gsmartcontrol.policy" ESCAPE_QUOTES @ONLY) +configure_file("org.gsmartcontrol.in.policy" "org.gsmartcontrol.policy" ESCAPE_QUOTES @ONLY) # Install app icons if (NOT WIN32) @@ -17,7 +17,8 @@ if (NOT WIN32) install(FILES "${dir}/gsmartcontrol.png" DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/hicolor/${dir}x${dir}/apps/") endforeach() - install(CODE "execute_process (COMMAND gtk-update-icon-cache-3.0 -t -f \"@CMAKE_INSTALL_DATADIR@/icons/hicolor\")") + # Don't run update-icon-cache, cpack is mostly for packaging. +# install(CODE "execute_process (COMMAND gtk-update-icon-cache-3.0 -t -f \"@CMAKE_INSTALL_DATADIR@/icons/hicolor\")") endif() if (WIN32) @@ -43,7 +44,7 @@ if (NOT WIN32) DESTINATION "${CMAKE_INSTALL_DATADIR}/pixmaps/") install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gsmartcontrol.desktop" - DESTINATION "${CMAKE_INSTALL_DATADIR}/gsmartcontrol/icons/") + DESTINATION "${CMAKE_INSTALL_DATADIR}/applications/") # Appdata file install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gsmartcontrol.appdata.xml" diff --git a/data/gsmartcontrol-root.in.sh b/data/gsmartcontrol-root.in.sh index 853b3fa..c52ee1a 100644 --- a/data/gsmartcontrol-root.in.sh +++ b/data/gsmartcontrol-root.in.sh @@ -8,7 +8,7 @@ # Run gsmartcontrol with root, asking for root password first. # export GSMARTCONTROL_SU to override a su command (e.g. "kdesu -c"). -EXEC_BIN="@CMAKE_INSTALL_SBINDIR@/gsmartcontrol"; +EXEC_BIN="@CMAKE_INSTALL_FULL_SBINDIR@/gsmartcontrol"; prog_name="gsmartcontrol" @@ -118,7 +118,7 @@ fi # Add sbindir as well (freebsd seems to require it). # Note that beesu won't show a GUI login box if /usr/sbin is before /usr/bin, # so add it first as well. -EXTRA_PATHS="/usr/bin:/usr/sbin:/usr/local/sbin:@CMAKE_INSTALL_SBINDIR@"; +EXTRA_PATHS="/usr/bin:/usr/sbin:/usr/local/sbin:@CMAKE_INSTALL_FULL_SBINDIR@"; export PATH="$EXTRA_PATHS:$PATH" diff --git a/data/gsmartcontrol.appdata.in.xml b/data/gsmartcontrol.appdata.in.xml index 8977e72..3adf80a 100644 --- a/data/gsmartcontrol.appdata.in.xml +++ b/data/gsmartcontrol.appdata.in.xml @@ -1,9 +1,4 @@ - gsmartcontrol CC0-1.0 diff --git a/data/gsmartcontrol.in.desktop b/data/gsmartcontrol.in.desktop index eb366c3..daac53f 100644 --- a/data/gsmartcontrol.in.desktop +++ b/data/gsmartcontrol.in.desktop @@ -32,4 +32,4 @@ Icon=gsmartcontrol #X-KDE-RootOnly=true # Run with root permissions. -Exec="@CMAKE_INSTALL_BINDIR@/bin/gsmartcontrol-root" +Exec="@CMAKE_INSTALL_FULL_BINDIR@/gsmartcontrol-root" diff --git a/data/org.gsmartcontrol.in.policy b/data/org.gsmartcontrol.in.policy index 07a51c2..9b8a67f 100644 --- a/data/org.gsmartcontrol.in.policy +++ b/data/org.gsmartcontrol.in.policy @@ -19,7 +19,7 @@ Copyright: auth_admin auth_admin - @CMAKE_INSTALL_SBINDIR@/gsmartcontrol + @CMAKE_INSTALL_FULL_SBINDIR@/gsmartcontrol true diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt index 6b17fef..753d9bf 100644 --- a/packaging/CMakeLists.txt +++ b/packaging/CMakeLists.txt @@ -18,14 +18,6 @@ if (WIN32) endif() -# CPack Debian -configure_file("cpack_debian/debian-postinst.in.sh" "${CMAKE_CURRENT_BINARY_DIR}/cpack_debian/postinst" ESCAPE_QUOTES @ONLY) -configure_file("cpack_debian/debian-postrm.in.sh" "${CMAKE_CURRENT_BINARY_DIR}/cpack_debian/postrm" ESCAPE_QUOTES @ONLY) - -# CPack RPM -configure_file("cpack_rpm/rpm-post-install.in.sh" "${CMAKE_CURRENT_BINARY_DIR}/cpack_rpm/rpm-post-install.sh" ESCAPE_QUOTES @ONLY) -configure_file("cpack_rpm/rpm-post-uninstall.in.sh" "${CMAKE_CURRENT_BINARY_DIR}/cpack_rpm/rpm-post-uninstall.sh" ESCAPE_QUOTES @ONLY) - # OBS Debian configure_file("obs_debian/changelog.in" "obs_debian/changelog" ESCAPE_QUOTES @ONLY) diff --git a/packaging/cpack_debian/debian-postinst.in.sh b/packaging/cpack_debian/debian-postinst.in.sh deleted file mode 100644 index 1f20f83..0000000 --- a/packaging/cpack_debian/debian-postinst.in.sh +++ /dev/null @@ -1,7 +0,0 @@ -############################################################################### -# License: BSD Zero Clause License file -# Copyright: -# (C) 2008 - 2021 Alexander Shaduri -############################################################################### - -gtk-update-icon-cache-3.0 -f -t "@CMAKE_INSTALL_DATADIR@/icons/hicolor" diff --git a/packaging/cpack_debian/debian-postrm.in.sh b/packaging/cpack_debian/debian-postrm.in.sh deleted file mode 100644 index 1f20f83..0000000 --- a/packaging/cpack_debian/debian-postrm.in.sh +++ /dev/null @@ -1,7 +0,0 @@ -############################################################################### -# License: BSD Zero Clause License file -# Copyright: -# (C) 2008 - 2021 Alexander Shaduri -############################################################################### - -gtk-update-icon-cache-3.0 -f -t "@CMAKE_INSTALL_DATADIR@/icons/hicolor" diff --git a/packaging/cpack_options.cmake b/packaging/cpack_options.cmake index 9b0126c..1654faa 100644 --- a/packaging/cpack_options.cmake +++ b/packaging/cpack_options.cmake @@ -7,7 +7,7 @@ # CPack options for this project # Generators supported: -# Linux: TBZ2 RPM DEB (possibly other archive-based ones as well) +# Linux: TBZ2 (binary) # Windows: NSIS ZIP. # Per-generator settings @@ -23,24 +23,23 @@ if (WIN32) set(CPACK_GENERATOR "") endif() -#set(APP_PACKAGE_NAME_DISPLAY "${APP_BRANDING_APP_DISPLAY_NAME}") -#if (WIN32 AND APP_TARGET_64BIT) +set(APP_PACKAGE_NAME_DISPLAY "GSmartControl") +#if (WIN32 AND CMAKE_SIZEOF_VOID_P EQUAL 8) # set(APP_PACKAGE_NAME_DISPLAY "${APP_PACKAGE_NAME_DISPLAY} (64-Bit)") #endif() -#set(CPACK_PACKAGE_NAME "${APP_BRANDING_INTERNAL_APP_NAME}") -#if (WIN32) - # We set it to display name so that we get a different name for 32-bit version. +#set(CPACK_PACKAGE_NAME "${PROJECT_NAME}") +if (WIN32) # Default value is "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION}". -# set(CPACK_PACKAGE_INSTALL_DIRECTORY "${APP_PACKAGE_NAME_DISPLAY}") # appended to e.g. CPACK_NSIS_INSTALL_ROOT -# set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_PACKAGE_INSTALL_DIRECTORY}") -#endif() + set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}") # appended to e.g. CPACK_NSIS_INSTALL_ROOT + set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_PACKAGE_INSTALL_DIRECTORY}") +endif() -#set(CPACK_PACKAGE_VENDOR "${APP_BRANDING_COPYRIGHT_NAME}") +set(CPACK_PACKAGE_VENDOR "Alexander Shaduri") -#set(CPACK_PACKAGE_VERSION_MAJOR ${APP_VERSION_MAJOR}) -#set(CPACK_PACKAGE_VERSION_MINOR ${APP_VERSION_MINOR}) -#set(CPACK_PACKAGE_VERSION_PATCH ${APP_VERSION_PATCHLEVEL}) +#set(CPACK_PACKAGE_VERSION_MAJOR ${CMAKE_PROJECT_VERSION_MAJOR}) +#set(CPACK_PACKAGE_VERSION_MINOR ${CMAKE_PROJECT_VERSION_MINOR}) +#set(CPACK_PACKAGE_VERSION_PATCH ${CMAKE_PROJECT_VERSION_PATCH}) # Used by wix only? #set(APP_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/data/${APP_BRANDING_INTERNAL_APP_NAME}/package_description.txt") @@ -48,134 +47,107 @@ endif() # set(CPACK_PACKAGE_DESCRIPTION_FILE "${APP_PACKAGE_DESCRIPTION_FILE}") #endif() -#set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${APP_BRANDING_DESCRIPTION}") +#set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${CMAKE_PROJECT_DESCRIPTION}") +# Set to win32 or win64 by default, or CMAKE_SYSTEM_NAME for others. #set(CPACK_SYSTEM_NAME "${APP_TARGET_SYSTEM_NAME}") - #if (WIN32) - # Don't use CPACK_PACKAGE_NAME -# set(CPACK_PACKAGE_FILE_NAME "${APP_BRANDING_INTERNAL_APP_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}-${CPACK_SYSTEM_NAME}") +# set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME}") #endif() -#set(APP_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/data/brandings/${APP_BRANDING_INTERNAL_APP_NAME}/eula.rtf") -#if (EXISTS "${APP_RESOURCE_FILE_LICENSE}") -# set(CPACK_RESOURCE_FILE_LICENSE "${APP_RESOURCE_FILE_LICENSE}") -#endif() -#set(CPACK_STRIP_FILES 0) -#set(CPACK_SOURCE_STRIP_FILES 0) +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE.txt") +set(CPACK_STRIP_FILES FALSE) # update-smart-drivedb doesn't like this +set(CPACK_SOURCE_STRIP_FILES FALSE) # Icon in Add/Remove Programs -#if (EXISTS "${CMAKE_SOURCE_DIR}/data/brandings/${APP_BRANDING_INTERNAL_APP_NAME}/app_icon.ico") -# set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}\\\\data\\\\brandings\\\\${APP_BRANDING_INTERNAL_APP_NAME}\\\\app_icon.ico") -#endif() +set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}\\\\data\\\\gsmartcontrol.ico") # Start menu shortcut -#set(CPACK_PACKAGE_EXECUTABLES "${APP_BRANDING_INTERNAL_APP_NAME};${APP_PACKAGE_NAME_DISPLAY}") +set(CPACK_PACKAGE_EXECUTABLES "gsmartcontrol;${APP_PACKAGE_NAME_DISPLAY}") -# Force monolithic installers (ignore per-component stuff). -# We don't want this because we want to avoid packing system_dlls component -# in NSIS-based installer. -# set(CPACK_MONOLITHIC_INSTALL true) +# Force monolithic installers (ignore per-component stuff, exclude optional components). +set(CPACK_MONOLITHIC_INSTALL true) -#SET(CPACK_SOURCE_IGNORE_FILES -# "0*" # build dirs -# ".*/\\\\.git/.*" # svn caches -# ".*~$" # editor temporary files -#) +SET(CPACK_SOURCE_IGNORE_FILES +# "/0.*" # build dirs (broken if full path contains 0) + "/\\\\.idea/" + "/doxygen_doc/" + "/cmake-build-.*" # build dirs + "/\\\\.git/" # git + ".*~$" # editor temporary files + "/CMakeLists\\\\.txt\\\\.user$" + "/TODO$" +) # --- NSIS options -#set(CPACK_NSIS_DISPLAY_NAME "${APP_PACKAGE_NAME_DISPLAY}") # used in add/remove programs as a display text -#set(CPACK_NSIS_PACKAGE_NAME "${APP_PACKAGE_NAME_DISPLAY}") # used in installer window title, start menu folder -#if(APP_TARGET_64BIT) -# set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64") -#else() -# set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES") -#endif() -# -#set(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}\\\\data\\\\package_data\\\\nsis_install.ico") -#set(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}\\\\data\\\\package_data\\\\nsis_uninstall.ico") -# -#set(CPACK_NSIS_HELP_LINK "mailto:${APP_BRANDING_CONTACT_EMAIL}") -#set(CPACK_NSIS_URL_INFO_ABOUT "${APP_BRANDING_INFO_URL}") -#set(CPACK_NSIS_CONTACT "${APP_BRANDING_CONTACT_EMAIL}") -#set(CPACK_NSIS_COMPRESSOR "/SOLID lzma") -#set(CPACK_NSIS_INSTALLED_ICON_NAME "${APP_BRANDING_INTERNAL_APP_NAME}.exe") -#set(CPACK_NSIS_EXECUTABLES_DIRECTORY ".") # Relative to installation directory, start menu uses this. -#set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL "ON") # Ask to uninstall before installing. -## set(CPACK_NSIS_MUI_FINISHPAGE_RUN "${APP_BRANDING_INTERNAL_APP_NAME}.exe") # may conflict with UAC, better not use it. -#set(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "${CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS} -# Delete \\\"$INSTDIR\\\\log.txt\\\" -# Delete \\\"$INSTDIR\\\\log.old.txt\\\" -# Delete \\\"$INSTDIR\\\\stderr.txt\\\" -# Delete \\\"$INSTDIR\\\\stderr.old.txt\\\" -# Delete \\\"$INSTDIR\\\\stdout.txt\\\" -# Delete \\\"$INSTDIR\\\\stdout.old.txt\\\" -#") - -#set(CPACK_NSIS_EXECUTABLES_DIRECTORY ".") # so that the Start Menu shortcut is not to "bin/" -#set(CPACK_NSIS_MENU_LINKS "${APP_BRANDING_INTERNAL_APP_NAME}" "${APP_PACKAGE_NAME_DISPLAY}") - - - -# --- RPM options -# FIXME All directories are left empty and not removed after rpm uninstall. -#if (APP_TARGET_64BIT) -# set(CPACK_RPM_PACKAGE_ARCHITECTURE "x86_64") -#else() -# set(CPACK_RPM_PACKAGE_ARCHITECTURE "i686") -#endif() -#set(CPACK_RPM_PACKAGE_LICENSE "GPL-3") -#set(CPACK_RPM_PACKAGE_GROUP "Hardware/Other") # not sure -#set(CPACK_RPM_PACKAGE_VENDOR "${APP_BRANDING_COPYRIGHT_NAME}") -#set(CPACK_RPM_PACKAGE_URL "${APP_BRANDING_INFO_URL}") -#set(CPACK_RPM_COMPRESSION_TYPE "bzip2") -## set(CPACK_RPM_PACKAGE_REQUIRES "") # FIXME We could add libqt5 here, but it will prevent the usage of bundled Qt. -## set(CPACK_RPM_PACKAGE_PROVIDES "${APP_BRANDING_INTERNAL_APP_NAME}") -## set(CPACK_RPM_PACKAGE_RELOCATABLE ON) -# -#configure_file("${CMAKE_SOURCE_DIR}/data/package_data/rpm-post-install.in.sh" "${CMAKE_BINARY_DIR}/rpm-post-install.sh" ESCAPE_QUOTES @ONLY) -#configure_file("${CMAKE_SOURCE_DIR}/data/package_data/rpm-post-uninstall.in.sh" "${CMAKE_BINARY_DIR}/rpm-post-uninstall -#.sh" ESCAPE_QUOTES @ONLY) - -set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_BINARY_DIR}/packaging/cpack_rpm/rpm-post-install.sh") -set(CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_BINARY_DIR}/packaging/cpack_rpm/rpm-post-uninstall.sh") - - - -# --- DEB options -#if (APP_TARGET_64BIT) -# set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64") -#else() -# set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "i386") -#endif() -#set(CPACK_DEBIAN_PACKAGE_MAINTAINER "${APP_BRANDING_COPYRIGHT_NAME}") -#set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "${APP_BRANDING_INFO_URL}") -#set(CPACK_DEBIAN_PACKAGE_SECTION "science") -## set(CPACK_DEBIAN_PACKAGE_DEPENDS "") # FIXME We could add libqt5 here, but it will prevent the usage of bundled Qt. -## set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF) -# -#configure_file("${CMAKE_SOURCE_DIR}/data/package_data/debian-postinst.in.sh" -# "${CMAKE_BINARY_DIR}/postinst" ESCAPE_QUOTES @ONLY) -#configure_file("${CMAKE_SOURCE_DIR}/data/package_data/debian-postrm.in.sh" -# "${CMAKE_BINARY_DIR}/postrm" ESCAPE_QUOTES @ONLY) - -set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA - "${CMAKE_BINARY_DIR}/packaging/cpack_debian/postinst;${CMAKE_BINARY_DIR}/packaging/cpack_debian/postrm") +set(CPACK_NSIS_DISPLAY_NAME "${APP_PACKAGE_NAME_DISPLAY}") # used in add/remove programs as a display text +set(CPACK_NSIS_PACKAGE_NAME "${APP_PACKAGE_NAME_DISPLAY}") # used in installer window title, start menu folder +if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64") +else() + set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES") +endif() +set(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}\\\\packaging\\\\nsis\\\\nsis_install.ico") +set(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}\\\\packaging\\\\nsis\\\\nsis_uninstall.ico") + +set(CPACK_NSIS_HELP_LINK "${PROJECT_HOMEPAGE_URL}") +set(CPACK_NSIS_URL_INFO_ABOUT "${PROJECT_HOMEPAGE_URL}") +set(CPACK_NSIS_CONTACT "${PROJECT_HOMEPAGE_URL}") +set(CPACK_NSIS_COMPRESSOR "/SOLID lzma") +set(CPACK_NSIS_INSTALLED_ICON_NAME "gsmartcontrol.exe") +set(CPACK_NSIS_EXECUTABLES_DIRECTORY ".") # Relative to installation directory, start menu uses this. +set(CPACK_NSIS_MENU_LINKS "gsmartcontrol" "${APP_PACKAGE_NAME_DISPLAY}") +set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL "ON") # Ask to uninstall before installing. + +# set(CPACK_NSIS_MUI_FINISHPAGE_RUN "${APP_BRANDING_INTERNAL_APP_NAME}.exe") # may conflict with UAC, better not use it. + +# update-smart-drivedb may leave drivedb.h.* +set(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "${CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS} + Delete \\\"$INSTDIR\\\\drivedb.h.*\\\" + Delete \\\"$INSTDIR\\\\*stderr.txt\\\" + Delete \\\"$INSTDIR\\\\*stderr.old.txt\\\" + Delete \\\"$INSTDIR\\\\*stdout.txt\\\" + Delete \\\"$INSTDIR\\\\*stdout.old.txt\\\" +") +# ---------------------------------------------- Windows Dependencies # Install GTK+ and other dependencies in Windows. # Requires installed smartctl-nc.exe, smartctl.exe, update-smart-drivedb.exe in bin subdirectory of sysroot. -# Gtkmm and pcre dlls are required. -# dos2unix is required on build machine. +# The following packages when cross-compiling from opensuse: +# mingw64-cross-gcc-c++ mingw64-gtkmm3-devel mingw64-pcre-devel adwaita-icon-theme if (WIN32) - option(APP_WINDOWS_SYSROOT "Location of system root for Windows binaries, for packing" "${CMAKE_FIND_ROOT_PATH}") + message(STATUS "CMAKE_FIND_ROOT_PATH: ${CMAKE_FIND_ROOT_PATH}") + + option(APP_WINDOWS_SYSROOT "Location of system root for Windows binaries, for packing" "") + if (NOT APP_WINDOWS_SYSROOT) + set(APP_WINDOWS_SYSROOT "${CMAKE_FIND_ROOT_PATH}") + endif() + message(STATUS "APP_WINDOWS_SYSROOT: ${APP_WINDOWS_SYSROOT}") + + option(APP_WINDOWS_GTK_ICONS_ROOT "Location of root folder for icons, for packing Windows packages" "") + if (NOT APP_WINDOWS_GTK_ICONS_ROOT) + set(APP_WINDOWS_GTK_ICONS_ROOT "/usr/share/icons") + endif() + message(STATUS "APP_WINDOWS_GTK_ICONS_ROOT: ${APP_WINDOWS_GTK_ICONS_ROOT}") + + option(APP_WINDOWS_SMARTCTL_ROOT "Location of root folder for icons, for packing Windows packages" "") + if (NOT APP_WINDOWS_SMARTCTL_ROOT) + if (CMAKE_SIZEOF_VOID_P EQUAL 8) + set(APP_WINDOWS_SMARTCTL_ROOT "$ENV{HOME}/.wine/drive_c/Program Files/smartmontools") + else() + set(APP_WINDOWS_SMARTCTL_ROOT "$ENV{HOME}/.wine/drive_c/Program Files (x86)/smartmontools") + endif() + endif() + message(STATUS "APP_WINDOWS_SMARTCTL_ROOT: ${APP_WINDOWS_SMARTCTL_ROOT}") + set(WINDOWS_SUFFIX "win32") if (CMAKE_SIZEOF_VOID_P EQUAL 8) @@ -186,10 +158,10 @@ if (WIN32) # Smartmontools install(FILES - "${APP_WINDOWS_SYSROOT}/bin/drivedb.h" - "${APP_WINDOWS_SYSROOT}/bin/smartctl-nc.exe" - "${APP_WINDOWS_SYSROOT}/bin/smartctl.exe" - "${APP_WINDOWS_SYSROOT}/bin/update-smart-drivedb.exe" + "${APP_WINDOWS_SMARTCTL_ROOT}/bin/drivedb.h" + "${APP_WINDOWS_SMARTCTL_ROOT}/bin/smartctl-nc.exe" + "${APP_WINDOWS_SMARTCTL_ROOT}/bin/smartctl.exe" + "${APP_WINDOWS_SMARTCTL_ROOT}/bin/update-smart-drivedb.exe" DESTINATION . ) @@ -204,21 +176,21 @@ if (WIN32) # All of GTK+ set(GTK_FILES - gdk-pixbuf-query-loaders.exe +# gdk-pixbuf-query-loaders.exe gspawn-win32-helper-console.exe gspawn-win32-helper.exe gspawn-win64-helper-console.exe gspawn-win64-helper.exe - gtk-query-immodules-3.0.exe - gtk-update-icon-cache-3.0.exe +# gtk-query-immodules-3.0.exe +# gtk-update-icon-cache-3.0.exe libatk-1.*.dll libatkmm-1.*.dll - libbz2-*.dll +# libbz2-*.dll libcairo-*.dll libcairomm-1*.dll libepoxy-*.dll libffi-*.dll - libexpat-*.dll +# libexpat-*.dll libfontconfig-*.dll libfreetype-*.dll libgdk-3*.dll @@ -230,12 +202,12 @@ if (WIN32) libglibmm*2.*.dll libgmodule-2.*.dll libgobject-2.*.dll - libgraphite*.dll - libgthread-2.*.dll +# libgraphite*.dll +# libgthread-2.*.dll libgtk-3*.dll libgtkmm-3*.dll libharfbuzz*.dll - libiconv*.dll +# libiconv*.dll libintl*.dll libjasper*.dll libjpeg*.dll @@ -248,10 +220,16 @@ if (WIN32) libtiff-*.dll libwinpthread-*.dll libxml2-*.dll - zlib1.dll + libz*.dll +# zlib1.dll ) foreach(pattern ${GTK_FILES}) - file(GLOB MATCHED_FILES LIST_DIRECTORIES false RELATIVE "${APP_WINDOWS_SYSROOT}/bin" ${pattern}) + file(GLOB MATCHED_FILES + LIST_DIRECTORIES false + RELATIVE "${APP_WINDOWS_SYSROOT}/bin" + "${APP_WINDOWS_SYSROOT}/bin/${pattern}" + ) + message(STATUS "Matched files in ${APP_WINDOWS_SYSROOT}/bin for ${pattern}: ${MATCHED_FILES}") if (NOT "${MATCHED_FILES}" STREQUAL "") install(FILES ${MATCHED_FILES} DESTINATION .) endif() @@ -260,103 +238,112 @@ if (WIN32) # /etc/gtk-3.0/ should contain settings.ini with a win32 theme. install(FILES "${APP_WINDOWS_SYSROOT}/etc/fonts/fonts.conf" DESTINATION "etc/fonts/") # install(FILES "${APP_WINDOWS_SYSROOT}/etc/gtk-3.0/im-multipress.conf" DESTINATION "etc/gtk-3.0/") - install(FILES "${APP_WINDOWS_SYSROOT}/etc/gtk-3.0/settings.ini" DESTINATION "etc/gtk-3.0/") + + # Use custom settings.ini to enable Windows theme +# install(FILES "${APP_WINDOWS_SYSROOT}/etc/gtk-3.0/settings.ini" DESTINATION "etc/gtk-3.0/") + install(FILES "${CMAKE_SOURCE_DIR}/packaging/gtk/etc/gtk-3.0/settings.ini" DESTINATION "etc/gtk-3.0/") install(DIRECTORY "${APP_WINDOWS_SYSROOT}/share/themes" DESTINATION "share/") # needed for file chooser install(DIRECTORY "${APP_WINDOWS_SYSROOT}/share/glib-2.0/schemas" DESTINATION "share/glib-2.0/") -# install(DIRECTORY "${APP_WINDOWS_SYSROOT}/share/icons/hicolor" DESTINATION "share/icons/") - # needed for window titlebar (if using client-side decorations), - # tree sorting indicators, GUI icons. - install(FILES -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/16x16/actions/window-close-symbolic.symbolic.png" -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/16x16/actions/window-maximize-symbolic.symbolic.png" -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/16x16/actions/window-minimize-symbolic.symbolic.png" -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/16x16/actions/window-restore-symbolic.symbolic.png" - "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/16x16/actions/pan-down-symbolic.symbolic.png" - "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/16x16/actions/pan-up-symbolic.symbolic.png" - DESTINATION "share/icons/Adwaita/16x16/actions/" - ) - install(FILES - "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/16x16/status/dialog-information.png" - DESTINATION "share/icons/Adwaita/16x16/status/" - ) - install(FILES - "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/22x22/status/dialog-information.png" - DESTINATION "share/icons/Adwaita/22x22/status/" - ) - install(FILES -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/24x24/actions/window-close-symbolic.symbolic.png" -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/24x24/actions/window-maximize-symbolic.symbolic.png" -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/24x24/actions/window-minimize-symbolic.symbolic.png" -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/24x24/actions/window-restore-symbolic.symbolic.png" - "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/24x24/actions/pan-down-symbolic.symbolic.png" - "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/24x24/actions/pan-up-symbolic.symbolic.png" - DESTINATION "share/icons/Adwaita/24x24/actions/" - ) - install(FILES - "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/24x24/status/dialog-information.png" - DESTINATION "share/icons/Adwaita/24x24/status/" - ) - install(FILES -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/32x32/actions/window-close-symbolic.symbolic.png" -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/32x32/actions/window-maximize-symbolic.symbolic.png" -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/32x32/actions/window-minimize-symbolic.symbolic.png" -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/32x32/actions/window-restore-symbolic.symbolic.png" - "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/32x32/actions/pan-down-symbolic.symbolic.png" - "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/32x32/actions/pan-up-symbolic.symbolic.png" - DESTINATION "share/icons/Adwaita/32x32/actions/" - ) - install(FILES - "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/32x32/status/dialog-information.png" - DESTINATION "share/icons/Adwaita/32x32/status/" - ) - install(FILES -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/48x48/actions/window-close-symbolic.symbolic.png" -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/48x48/actions/window-maximize-symbolic.symbolic.png" -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/48x48/actions/window-minimize-symbolic.symbolic.png" -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/48x48/actions/window-restore-symbolic.symbolic.png" - "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/48x48/actions/pan-down-symbolic.symbolic.png" - "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/48x48/actions/pan-up-symbolic.symbolic.png" - DESTINATION "share/icons/Adwaita/48x48/actions/" - ) - install(FILES - "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/48x48/status/dialog-information.png" - DESTINATION "share/icons/Adwaita/48x48/status/" - ) - install(FILES -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/64x64/actions/window-close-symbolic.symbolic.png" -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/64x64/actions/window-maximize-symbolic.symbolic.png" -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/64x64/actions/window-minimize-symbolic.symbolic.png" -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/64x64/actions/window-restore-symbolic.symbolic.png" - "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/64x64/actions/pan-down-symbolic.symbolic.png" - "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/64x64/actions/pan-up-symbolic.symbolic.png" - DESTINATION "share/icons/Adwaita/64x64/actions/" - ) - install(FILES - "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/64x64/status/dialog-information.png" - DESTINATION "share/icons/Adwaita/64x64/status/" - ) - install(FILES -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/96x96/actions/window-close-symbolic.symbolic.png" -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/96x96/actions/window-maximize-symbolic.symbolic.png" -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/96x96/actions/window-minimize-symbolic.symbolic.png" -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/96x96/actions/window-restore-symbolic.symbolic.png" - "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/96x96/actions/pan-down-symbolic.symbolic.png" - "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/96x96/actions/pan-up-symbolic.symbolic.png" - DESTINATION "share/icons/Adwaita/96x96/actions/" - ) -# install(FILES -# "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/96x96/status/dialog-information.png" -# DESTINATION "share/icons/Adwaita/96x96/status/" -# ) - install(FILES - "${APP_WINDOWS_SYSROOT}/share/icons/Adwaita/256x256/status/dialog-information.png" - DESTINATION "share/icons/Adwaita/256x256/status/" - ) + # Disable installing icons for now. TODO: Update this for msys2. + set(APP_WINDOWS_INSTALL_GTK_ICONS false) + + if (APP_WINDOWS_INSTALL_GTK_ICONS) + # install(DIRECTORY "${APP_WINDOWS_GTK_ICONS_ROOT}/hicolor" DESTINATION "share/icons/") + + # needed for window titlebar (if using client-side decorations), + # tree sorting indicators, GUI icons. + install(FILES + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/16x16/actions/window-close-symbolic.symbolic.png" + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/16x16/actions/window-maximize-symbolic.symbolic.png" + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/16x16/actions/window-minimize-symbolic.symbolic.png" + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/16x16/actions/window-restore-symbolic.symbolic.png" + "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/16x16/actions/pan-down-symbolic.symbolic.png" + "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/16x16/actions/pan-up-symbolic.symbolic.png" + DESTINATION "share/icons/Adwaita/16x16/actions/" + ) + install(FILES + "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/16x16/status/dialog-information.png" + DESTINATION "share/icons/Adwaita/16x16/status/" + ) + install(FILES + "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/22x22/status/dialog-information.png" + DESTINATION "share/icons/Adwaita/22x22/status/" + ) + install(FILES + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/24x24/actions/window-close-symbolic.symbolic.png" + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/24x24/actions/window-maximize-symbolic.symbolic.png" + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/24x24/actions/window-minimize-symbolic.symbolic.png" + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/24x24/actions/window-restore-symbolic.symbolic.png" + "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/24x24/actions/pan-down-symbolic.symbolic.png" + "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/24x24/actions/pan-up-symbolic.symbolic.png" + DESTINATION "share/icons/Adwaita/24x24/actions/" + ) + install(FILES + "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/24x24/status/dialog-information.png" + DESTINATION "share/icons/Adwaita/24x24/status/" + ) + install(FILES + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/32x32/actions/window-close-symbolic.symbolic.png" + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/32x32/actions/window-maximize-symbolic.symbolic.png" + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/32x32/actions/window-minimize-symbolic.symbolic.png" + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/32x32/actions/window-restore-symbolic.symbolic.png" + "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/32x32/actions/pan-down-symbolic.symbolic.png" + "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/32x32/actions/pan-up-symbolic.symbolic.png" + DESTINATION "share/icons/Adwaita/32x32/actions/" + ) + install(FILES + "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/32x32/status/dialog-information.png" + DESTINATION "share/icons/Adwaita/32x32/status/" + ) + install(FILES + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/48x48/actions/window-close-symbolic.symbolic.png" + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/48x48/actions/window-maximize-symbolic.symbolic.png" + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/48x48/actions/window-minimize-symbolic.symbolic.png" + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/48x48/actions/window-restore-symbolic.symbolic.png" + "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/48x48/actions/pan-down-symbolic.symbolic.png" + "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/48x48/actions/pan-up-symbolic.symbolic.png" + DESTINATION "share/icons/Adwaita/48x48/actions/" + ) + install(FILES + "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/48x48/status/dialog-information.png" + DESTINATION "share/icons/Adwaita/48x48/status/" + ) + install(FILES + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/64x64/actions/window-close-symbolic.symbolic.png" + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/64x64/actions/window-maximize-symbolic.symbolic.png" + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/64x64/actions/window-minimize-symbolic.symbolic.png" + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/64x64/actions/window-restore-symbolic.symbolic.png" + "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/64x64/actions/pan-down-symbolic.symbolic.png" + "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/64x64/actions/pan-up-symbolic.symbolic.png" + DESTINATION "share/icons/Adwaita/64x64/actions/" + ) + install(FILES + "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/64x64/status/dialog-information.png" + DESTINATION "share/icons/Adwaita/64x64/status/" + ) + install(FILES + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/96x96/actions/window-close-symbolic.symbolic.png" + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/96x96/actions/window-maximize-symbolic.symbolic.png" + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/96x96/actions/window-minimize-symbolic.symbolic.png" + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/96x96/actions/window-restore-symbolic.symbolic.png" + "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/96x96/actions/pan-down-symbolic.symbolic.png" + "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/96x96/actions/pan-up-symbolic.symbolic.png" + DESTINATION "share/icons/Adwaita/96x96/actions/" + ) + # install(FILES + # "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/96x96/status/dialog-information.png" + # DESTINATION "share/icons/Adwaita/96x96/status/" + # ) + install(FILES + "${APP_WINDOWS_GTK_ICONS_ROOT}/Adwaita/256x256/status/dialog-information.png" + DESTINATION "share/icons/Adwaita/256x256/status/" + ) + endif() # icons endif() @@ -367,7 +354,7 @@ include(CPack) if (WIN32) - # TODO Support NSIS in Linux + # TODO Support NSIS from Linux # cd nsis-dist && @NSIS_EXEC@ gsmartcontrol.nsi add_custom_target(package_nsis @@ -389,37 +376,37 @@ if (WIN32) PROJECT_LABEL "PACKAGE_ZIP") # VS likes uppercase names for better visibility of special targets endif() -if (UNIX) - add_custom_target(package_tbz2 - COMMAND "${CMAKE_CPACK_COMMAND}" -G TBZ2 -C Release - COMMENT "Creating .tar.bz2 package..." - WORKING_DIRECTORY "${CMAKE_BINARY_DIR}") - set_target_properties(package_tbz2 PROPERTIES - EXCLUDE_FROM_ALL true - EXCLUDE_FROM_DEFAULT_BUILD true) - - add_custom_target(package_rpm - COMMAND "${CMAKE_CPACK_COMMAND}" -G RPM -C Release - COMMENT "Creating RPM package..." - WORKING_DIRECTORY "${CMAKE_BINARY_DIR}") - set_target_properties(package_rpm PROPERTIES - EXCLUDE_FROM_ALL true - EXCLUDE_FROM_DEFAULT_BUILD true) - - add_custom_target(package_deb - COMMAND "${CMAKE_CPACK_COMMAND}" -G DEB -C Release - COMMENT "Creating DEB package..." - WORKING_DIRECTORY "${CMAKE_BINARY_DIR}") - set_target_properties(package_deb PROPERTIES - EXCLUDE_FROM_ALL true - EXCLUDE_FROM_DEFAULT_BUILD true) - - add_custom_target(package_all - DEPENDS package_tbz2 package_rpm - COMMENT "Creating packages...") - set_target_properties(package_all PROPERTIES - EXCLUDE_FROM_ALL true - EXCLUDE_FROM_DEFAULT_BUILD true) -endif() +#if (UNIX) +# add_custom_target(package_tbz2 +# COMMAND "${CMAKE_CPACK_COMMAND}" -G TBZ2 -C Release +# COMMENT "Creating .tar.bz2 package..." +# WORKING_DIRECTORY "${CMAKE_BINARY_DIR}") +# set_target_properties(package_tbz2 PROPERTIES +# EXCLUDE_FROM_ALL true +# EXCLUDE_FROM_DEFAULT_BUILD true) +# +# add_custom_target(package_rpm +# COMMAND "${CMAKE_CPACK_COMMAND}" -G RPM -C Release +# COMMENT "Creating RPM package..." +# WORKING_DIRECTORY "${CMAKE_BINARY_DIR}") +# set_target_properties(package_rpm PROPERTIES +# EXCLUDE_FROM_ALL true +# EXCLUDE_FROM_DEFAULT_BUILD true) +# +# add_custom_target(package_deb +# COMMAND "${CMAKE_CPACK_COMMAND}" -G DEB -C Release +# COMMENT "Creating DEB package..." +# WORKING_DIRECTORY "${CMAKE_BINARY_DIR}") +# set_target_properties(package_deb PROPERTIES +# EXCLUDE_FROM_ALL true +# EXCLUDE_FROM_DEFAULT_BUILD true) +# +# add_custom_target(package_all +# DEPENDS package_tbz2 package_rpm +# COMMENT "Creating packages...") +# set_target_properties(package_all PROPERTIES +# EXCLUDE_FROM_ALL true +# EXCLUDE_FROM_DEFAULT_BUILD true) +#endif() diff --git a/packaging/cpack_rpm/rpm-post-install.in.sh b/packaging/cpack_rpm/rpm-post-install.in.sh deleted file mode 100644 index c400e8c..0000000 --- a/packaging/cpack_rpm/rpm-post-install.in.sh +++ /dev/null @@ -1,9 +0,0 @@ -############################################################################### -# License: BSD Zero Clause License file -# Copyright: -# (C) 2008 - 2021 Alexander Shaduri -############################################################################### - -# Note: %{_prefix} doesn't work here (always defaults to /usr) - -gtk-update-icon-cache-3.0 -f -t "@CMAKE_INSTALL_DATADIR@/icons/hicolor" diff --git a/packaging/cpack_rpm/rpm-post-uninstall.in.sh b/packaging/cpack_rpm/rpm-post-uninstall.in.sh deleted file mode 100644 index 1f20f83..0000000 --- a/packaging/cpack_rpm/rpm-post-uninstall.in.sh +++ /dev/null @@ -1,7 +0,0 @@ -############################################################################### -# License: BSD Zero Clause License file -# Copyright: -# (C) 2008 - 2021 Alexander Shaduri -############################################################################### - -gtk-update-icon-cache-3.0 -f -t "@CMAKE_INSTALL_DATADIR@/icons/hicolor" diff --git a/packaging/gtk/etc/gtk-3.0/settings.ini b/packaging/gtk/etc/gtk-3.0/settings.ini new file mode 100644 index 0000000..4d95e75 --- /dev/null +++ b/packaging/gtk/etc/gtk-3.0/settings.ini @@ -0,0 +1,2 @@ +[Settings] +gtk-theme-name=win32 diff --git a/src/build_config/build_config.in.h b/src/build_config/build_config.in.h index 0bb8bfc..344ecdf 100644 --- a/src/build_config/build_config.in.h +++ b/src/build_config/build_config.in.h @@ -18,10 +18,10 @@ Copyright: #define PACKAGE_NAME "@CMAKE_PROJECT_NAME@" #define PACKAGE_VERSION "@CMAKE_PROJECT_VERSION@" -#define PACKAGE_PKGDATA_DIR "@CMAKE_INSTALL_DATADIR@/gsmartcontrol" -#define PACKAGE_SYSCONF_DIR "@CMAKE_INSTALL_SYSCONFDIR@" -#define PACKAGE_LOCALE_DIR "@CMAKE_INSTALL_LOCALEDIR@" -#define PACKAGE_DOC_DIR "@CMAKE_INSTALL_DOCDIR@" +#define PACKAGE_PKGDATA_DIR "@CMAKE_INSTALL_FULL_DATADIR@" +#define PACKAGE_SYSCONF_DIR "@CMAKE_INSTALL_FULL_SYSCONFDIR@" +#define PACKAGE_LOCALE_DIR "@CMAKE_INSTALL_FULL_LOCALEDIR@" +#define PACKAGE_DOC_DIR "@CMAKE_INSTALL_FULL_DOCDIR@" #ifdef DEBUG_BUILD #define PACKAGE_TOP_SOURCE_DIR "@CMAKE_SOURCE_DIR@"