Fixed cmake install target, support cpack windows binary zip / NSIS, support package_source target; removed cpack RPM and DEB support.

This commit is contained in:
Alexander Shaduri
2021-03-09 17:14:51 +04:00
parent cbd45a27fb
commit 09e9e7d380
15 changed files with 260 additions and 310 deletions
+5 -2
View File
@@ -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
)
+1 -1
View File
@@ -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()
+4 -3
View File
@@ -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"
+2 -2
View File
@@ -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"
-5
View File
@@ -1,9 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
License: BSD Zero Clause License file
Copyright:
(C) 2008 - 2021 GSmartControl developers
-->
<component type="desktop">
<id>gsmartcontrol</id>
<metadata_license>CC0-1.0</metadata_license>
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -19,7 +19,7 @@ Copyright:
<allow_inactive>auth_admin</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">@CMAKE_INSTALL_SBINDIR@/gsmartcontrol</annotate>
<annotate key="org.freedesktop.policykit.exec.path">@CMAKE_INSTALL_FULL_SBINDIR@/gsmartcontrol</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
-8
View File
@@ -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)
@@ -1,7 +0,0 @@
###############################################################################
# License: BSD Zero Clause License file
# Copyright:
# (C) 2008 - 2021 Alexander Shaduri <ashaduri@gmail.com>
###############################################################################
gtk-update-icon-cache-3.0 -f -t "@CMAKE_INSTALL_DATADIR@/icons/hicolor"
@@ -1,7 +0,0 @@
###############################################################################
# License: BSD Zero Clause License file
# Copyright:
# (C) 2008 - 2021 Alexander Shaduri <ashaduri@gmail.com>
###############################################################################
gtk-update-icon-cache-3.0 -f -t "@CMAKE_INSTALL_DATADIR@/icons/hicolor"
+240 -253
View File
@@ -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)
# <prefix>/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()
@@ -1,9 +0,0 @@
###############################################################################
# License: BSD Zero Clause License file
# Copyright:
# (C) 2008 - 2021 Alexander Shaduri <ashaduri@gmail.com>
###############################################################################
# Note: %{_prefix} doesn't work here (always defaults to /usr)
gtk-update-icon-cache-3.0 -f -t "@CMAKE_INSTALL_DATADIR@/icons/hicolor"
@@ -1,7 +0,0 @@
###############################################################################
# License: BSD Zero Clause License file
# Copyright:
# (C) 2008 - 2021 Alexander Shaduri <ashaduri@gmail.com>
###############################################################################
gtk-update-icon-cache-3.0 -f -t "@CMAKE_INSTALL_DATADIR@/icons/hicolor"
+2
View File
@@ -0,0 +1,2 @@
[Settings]
gtk-theme-name=win32
+4 -4
View File
@@ -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@"