mirror of
https://github.com/ashaduri/gsmartcontrol.git
synced 2026-09-25 21:35:33 +00:00
Initial refactoring to support cpack-based packaging and OBS builds.
This commit is contained in:
+22
-215
@@ -36,226 +36,33 @@ option(APP_BUILD_EXAMPLES "Build examples" OFF)
|
||||
option(APP_BUILD_TESTS "Build tests" OFF)
|
||||
|
||||
|
||||
configure_file(gsmartcontrol.in.spec gsmartcontrol.spec)
|
||||
|
||||
# Install documentation
|
||||
set(DOC_FILES
|
||||
LICENSE.LGPL3.txt
|
||||
LICENSE.txt
|
||||
NEWS.txt
|
||||
README.md
|
||||
)
|
||||
if (WIN32)
|
||||
install(FILES ${DOC_FILES} DESTINATION doc/)
|
||||
install(DIRECTORY docs DESTINATION doc/
|
||||
PATTERN "*.yml" EXCLUDE
|
||||
PATTERN "CNAME" EXCLUDE
|
||||
)
|
||||
else()
|
||||
install(FILES ${DOC_FILES} DESTINATION "${CMAKE_INSTALL_DOCDIR}/gsmartcontrol/")
|
||||
install(DIRECTORY docs DESTINATION "${CMAKE_INSTALL_DOCDIR}/gsmartcontrol/"
|
||||
PATTERN "*.yml" EXCLUDE
|
||||
PATTERN "CNAME" EXCLUDE
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
add_subdirectory(contrib)
|
||||
add_subdirectory(data)
|
||||
add_subdirectory(debian.dist)
|
||||
add_subdirectory(dependencies)
|
||||
add_subdirectory(packaging)
|
||||
add_subdirectory(src)
|
||||
|
||||
include(data/cpack_options.cmake)
|
||||
|
||||
|
||||
|
||||
# TODO
|
||||
|
||||
## NSIS installer support.
|
||||
## Requires installed NSIS, smartctl-nc.exe, smartctl.exe, update-smart-drivedb.exe.
|
||||
## Gtkmm and pcre dlls are required if linking against them.
|
||||
## dos2unix on build machine.
|
||||
## Execute only with win32 build present.
|
||||
#
|
||||
#WIN_ZIP_NAME = $(PACKAGE)-$(VERSION)-@WINDOWS_SUFFIX@
|
||||
#
|
||||
#
|
||||
#win-dist: win-dist-nocleanup win-dist-cleanup
|
||||
#
|
||||
#win-dist-nocleanup: win-dist-prepare nsis-dist-nocleanup win-zip-dist-nocleanup
|
||||
#
|
||||
#win-dist-cleanup: win-zip-dist-cleanup nsis-dist-cleanup
|
||||
# rm -rf win-dist
|
||||
#
|
||||
#win-dist-clean: win-dist-cleanup
|
||||
# rm -f gsmartcontrol-*.exe gsmartcontrol-*.zip
|
||||
#
|
||||
#
|
||||
#win-dist-prepare-all: nsis-dist-prepare win-zip-dist-prepare
|
||||
#
|
||||
#
|
||||
## All of GTK+
|
||||
#GTK_BIN_FILES = 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 \
|
||||
# libatk-1.*.dll \
|
||||
# libatkmm-1.*.dll \
|
||||
# libbz2-*.dll \
|
||||
# libcairo-*.dll \
|
||||
# libcairomm-1*.dll \
|
||||
# libepoxy-*.dll \
|
||||
# libffi-*.dll \
|
||||
# libexpat-*.dll \
|
||||
# libfontconfig-*.dll \
|
||||
# libfreetype-*.dll \
|
||||
# libgdk-3*.dll \
|
||||
# libgdk_pixbuf-2.*.dll \
|
||||
# libgdkmm-3.*.dll \
|
||||
# libgio-2.*.dll \
|
||||
# libgiomm-2.*.dll \
|
||||
# libglib-2.*.dll \
|
||||
# libglibmm*2.*.dll \
|
||||
# libgmodule-2.*.dll \
|
||||
# libgobject-2.*.dll \
|
||||
# libgraphite*.dll \
|
||||
# libgthread-2.*.dll \
|
||||
# libgtk-3*.dll \
|
||||
# libgtkmm-3*.dll \
|
||||
# libharfbuzz*.dll \
|
||||
# libiconv*.dll \
|
||||
# libintl*.dll \
|
||||
# libjasper*.dll \
|
||||
# libjpeg*.dll \
|
||||
# liblzma*.dll \
|
||||
# libpango*-1.*.dll \
|
||||
# libpixman*.dll \
|
||||
# libpng16-*.dll \
|
||||
# libsigc-2.*.dll \
|
||||
# libstdc++-*.dll \
|
||||
# libtiff-*.dll \
|
||||
# libwinpthread-*.dll \
|
||||
# libxml2-*.dll \
|
||||
# zlib1.dll
|
||||
#
|
||||
#
|
||||
## Don't strip smartctl (it will only change the header), and
|
||||
## don't strip update-smart-drivedb (it will break its CRC check).
|
||||
#win-dist-prepare: all
|
||||
# $(MKDIR_P) win-dist
|
||||
# cp $(top_srcdir)/data/icon_*.png win-dist/
|
||||
#
|
||||
# $(MKDIR_P) win-dist/ui
|
||||
# cp $(top_srcdir)/src/ui/* win-dist/ui/
|
||||
#
|
||||
# $(MKDIR_P) win-dist/doc
|
||||
# cp data/nsis/distribution.txt win-dist/doc/
|
||||
# cp $(top_srcdir)/doc/* win-dist/doc/
|
||||
#
|
||||
# cp src/gsmartcontrol.exe src/gsmartcontrol.exe.manifest win-dist/
|
||||
#
|
||||
# unix2dos win-dist/doc/*.txt
|
||||
#
|
||||
# cp -p "@WINDOWS_SYSROOT@"/bin/drivedb.h win-dist/
|
||||
# cp -p "@WINDOWS_SYSROOT@"/bin/smartctl-nc.exe win-dist/
|
||||
# cp -p "@WINDOWS_SYSROOT@"/bin/smartctl.exe win-dist/
|
||||
# cp -p "@WINDOWS_SYSROOT@"/bin/update-smart-drivedb.exe win-dist/
|
||||
#
|
||||
# for file in $(GTK_BIN_FILES); do for f in "@WINDOWS_SYSROOT@/bin/"$$file; do if test -f "$${f}"; then cp -p "$${f}" win-dist/; fi; done; done
|
||||
#
|
||||
## <prefix>/etc/gtk-3.0/ should contain settings.ini with a win32 theme.
|
||||
# $(MKDIR_P) win-dist/etc
|
||||
# $(MKDIR_P) win-dist/etc/fonts
|
||||
# $(MKDIR_P) win-dist/etc/gtk-3.0
|
||||
# cp -p "@WINDOWS_SYSROOT@"/etc/fonts/fonts.conf win-dist/etc/fonts/
|
||||
## cp -p "@WINDOWS_SYSROOT@"/etc/gtk-3.0/im-multipress.conf win-dist/etc/gtk-3.0/
|
||||
# cp -p "@WINDOWS_SYSROOT@"/etc/gtk-3.0/settings.ini win-dist/etc/gtk-3.0/
|
||||
#
|
||||
# $(MKDIR_P) win-dist/share
|
||||
# cp -p -r "@WINDOWS_SYSROOT@"/share/themes win-dist/share
|
||||
#
|
||||
## needed for file chooser
|
||||
# $(MKDIR_P) win-dist/share/glib-2.0
|
||||
# cp -p -r "@WINDOWS_SYSROOT@"/share/glib-2.0/schemas win-dist/share/glib-2.0
|
||||
#
|
||||
## $(MKDIR_P) win-dist/share/icons
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/hicolor win-dist/share/icons
|
||||
#
|
||||
## needed for window titlebar (if using client-side decorations),
|
||||
## tree sorting indicators, GUI icons.
|
||||
# $(MKDIR_P) win-dist/share/icons/Adwaita/16x16/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/16x16/actions/window-close-symbolic.symbolic.png win-dist/share/icons/Adwaita/16x16/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/16x16/actions/window-maximize-symbolic.symbolic.png win-dist/share/icons/Adwaita/16x16/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/16x16/actions/window-minimize-symbolic.symbolic.png win-dist/share/icons/Adwaita/16x16/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/16x16/actions/window-restore-symbolic.symbolic.png win-dist/share/icons/Adwaita/16x16/actions
|
||||
# cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/16x16/actions/pan-down-symbolic.symbolic.png win-dist/share/icons/Adwaita/16x16/actions
|
||||
# cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/16x16/actions/pan-up-symbolic.symbolic.png win-dist/share/icons/Adwaita/16x16/actions
|
||||
# $(MKDIR_P) win-dist/share/icons/Adwaita/16x16/status
|
||||
# cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/16x16/status/dialog-information.png win-dist/share/icons/Adwaita/16x16/status
|
||||
# $(MKDIR_P) win-dist/share/icons/Adwaita/22x22/status
|
||||
# cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/22x22/status/dialog-information.png win-dist/share/icons/Adwaita/22x22/status
|
||||
# $(MKDIR_P) win-dist/share/icons/Adwaita/24x24/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/24x24/actions/window-close-symbolic.symbolic.png win-dist/share/icons/Adwaita/24x24/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/24x24/actions/window-maximize-symbolic.symbolic.png win-dist/share/icons/Adwaita/24x24/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/24x24/actions/window-minimize-symbolic.symbolic.png win-dist/share/icons/Adwaita/24x24/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/24x24/actions/window-restore-symbolic.symbolic.png win-dist/share/icons/Adwaita/24x24/actions
|
||||
# cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/24x24/actions/pan-down-symbolic.symbolic.png win-dist/share/icons/Adwaita/24x24/actions
|
||||
# cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/24x24/actions/pan-up-symbolic.symbolic.png win-dist/share/icons/Adwaita/24x24/actions
|
||||
# $(MKDIR_P) win-dist/share/icons/Adwaita/24x24/status
|
||||
# cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/24x24/status/dialog-information.png win-dist/share/icons/Adwaita/24x24/status
|
||||
# $(MKDIR_P) win-dist/share/icons/Adwaita/32x32/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/32x32/actions/window-close-symbolic.symbolic.png win-dist/share/icons/Adwaita/32x32/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/32x32/actions/window-maximize-symbolic.symbolic.png win-dist/share/icons/Adwaita/32x32/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/32x32/actions/window-minimize-symbolic.symbolic.png win-dist/share/icons/Adwaita/32x32/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/32x32/actions/window-restore-symbolic.symbolic.png win-dist/share/icons/Adwaita/32x32/actions
|
||||
# cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/32x32/actions/pan-down-symbolic.symbolic.png win-dist/share/icons/Adwaita/32x32/actions
|
||||
# cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/32x32/actions/pan-up-symbolic.symbolic.png win-dist/share/icons/Adwaita/32x32/actions
|
||||
# $(MKDIR_P) win-dist/share/icons/Adwaita/32x32/status
|
||||
# cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/32x32/status/dialog-information.png win-dist/share/icons/Adwaita/32x32/status
|
||||
# $(MKDIR_P) win-dist/share/icons/Adwaita/48x48/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/48x48/actions/window-close-symbolic.symbolic.png win-dist/share/icons/Adwaita/48x48/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/48x48/actions/window-maximize-symbolic.symbolic.png win-dist/share/icons/Adwaita/48x48/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/48x48/actions/window-minimize-symbolic.symbolic.png win-dist/share/icons/Adwaita/48x48/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/48x48/actions/window-restore-symbolic.symbolic.png win-dist/share/icons/Adwaita/48x48/actions
|
||||
# cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/48x48/actions/pan-down-symbolic.symbolic.png win-dist/share/icons/Adwaita/48x48/actions
|
||||
# cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/48x48/actions/pan-up-symbolic.symbolic.png win-dist/share/icons/Adwaita/48x48/actions
|
||||
# $(MKDIR_P) win-dist/share/icons/Adwaita/48x48/status
|
||||
# cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/48x48/status/dialog-information.png win-dist/share/icons/Adwaita/48x48/status
|
||||
# $(MKDIR_P) win-dist/share/icons/Adwaita/64x64/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/64x64/actions/window-close-symbolic.symbolic.png win-dist/share/icons/Adwaita/64x64/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/64x64/actions/window-maximize-symbolic.symbolic.png win-dist/share/icons/Adwaita/64x64/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/64x64/actions/window-minimize-symbolic.symbolic.png win-dist/share/icons/Adwaita/64x64/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/64x64/actions/window-restore-symbolic.symbolic.png win-dist/share/icons/Adwaita/64x64/actions
|
||||
# cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/64x64/actions/pan-down-symbolic.symbolic.png win-dist/share/icons/Adwaita/64x64/actions
|
||||
# cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/64x64/actions/pan-up-symbolic.symbolic.png win-dist/share/icons/Adwaita/64x64/actions
|
||||
## $(MKDIR_P) win-dist/share/icons/Adwaita/64x64/status
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/64x64/status/dialog-information.png win-dist/share/icons/Adwaita/64x64/status
|
||||
# $(MKDIR_P) win-dist/share/icons/Adwaita/96x96/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/96x96/actions/window-close-symbolic.symbolic.png win-dist/share/icons/Adwaita/96x96/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/96x96/actions/window-maximize-symbolic.symbolic.png win-dist/share/icons/Adwaita/96x96/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/96x96/actions/window-minimize-symbolic.symbolic.png win-dist/share/icons/Adwaita/96x96/actions
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/96x96/actions/window-restore-symbolic.symbolic.png win-dist/share/icons/Adwaita/96x96/actions
|
||||
# cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/96x96/actions/pan-down-symbolic.symbolic.png win-dist/share/icons/Adwaita/96x96/actions
|
||||
# cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/96x96/actions/pan-up-symbolic.symbolic.png win-dist/share/icons/Adwaita/96x96/actions
|
||||
## $(MKDIR_P) win-dist/share/icons/Adwaita/96x96/status
|
||||
## cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/96x96/status/dialog-information.png win-dist/share/icons/Adwaita/96x96/status
|
||||
# $(MKDIR_P) win-dist/share/icons/Adwaita/256x256/status
|
||||
# cp -p "@WINDOWS_SYSROOT@"/share/icons/Adwaita/256x256/status/dialog-information.png win-dist/share/icons/Adwaita/256x256/status
|
||||
#
|
||||
## other
|
||||
# cp -p "@WINDOWS_SYSROOT@"/bin/libgcc_s_*.dll win-dist/
|
||||
# cp -p "@WINDOWS_SYSROOT@"/bin/libpcre-1.dll win-dist/
|
||||
# cp -p "@WINDOWS_SYSROOT@"/bin/libpcrecpp-0.dll win-dist/
|
||||
#
|
||||
#
|
||||
#nsis-dist-prepare: win-dist-prepare
|
||||
# cp -a win-dist nsis-dist
|
||||
# cp $(top_srcdir)/data/gsmartcontrol.ico nsis-dist/
|
||||
# cp data/nsis/*.nsi $(top_srcdir)/data/nsis/nsi_* nsis-dist/
|
||||
# unix2dos nsis-dist/*.nsi
|
||||
#
|
||||
#nsis-dist-nocleanup: nsis-dist-prepare
|
||||
# cd nsis-dist && @NSIS_EXEC@ gsmartcontrol.nsi
|
||||
# mv nsis-dist/$(PACKAGE)-$(VERSION)-@WINDOWS_SUFFIX@.exe .
|
||||
#
|
||||
#nsis-dist-cleanup:
|
||||
# rm -rf nsis-dist
|
||||
#
|
||||
#nsis-dist: nsis-dist-prepare nsis-dist-nocleanup nsis-dist-cleanup
|
||||
#
|
||||
#
|
||||
#win-zip-dist-prepare: win-dist-prepare
|
||||
# cp -a win-dist $(WIN_ZIP_NAME)
|
||||
#
|
||||
#win-zip-dist-nocleanup: win-zip-dist-prepare
|
||||
# zip -K -9r $(WIN_ZIP_NAME).zip $(WIN_ZIP_NAME)
|
||||
#
|
||||
#win-zip-dist-cleanup:
|
||||
# rm -rf $(WIN_ZIP_NAME)
|
||||
#
|
||||
#win-zip-dist: win-zip-dist-prepare win-zip-dist-nocleanup win-zip-dist-cleanup
|
||||
include(packaging/cpack_options.cmake)
|
||||
|
||||
|
||||
@@ -4,5 +4,6 @@
|
||||
# (C) 2021 Alexander Shaduri <ashaduri@gmail.com>
|
||||
###############################################################################
|
||||
|
||||
install(DIRECTORY "cron-based_noadmin" DESTINATION "${CMAKE_INSTALL_DOCDIR}/gsmartcontrol/contrib/")
|
||||
|
||||
if (NOT WIN32)
|
||||
install(DIRECTORY "cron-based_noadmin" DESTINATION "${CMAKE_INSTALL_DOCDIR}/gsmartcontrol/contrib/")
|
||||
endif()
|
||||
|
||||
+38
-43
@@ -6,63 +6,58 @@
|
||||
|
||||
|
||||
# Generate files
|
||||
|
||||
# Variables for .in files
|
||||
set(WINDOWS_SUFFIX "win32")
|
||||
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set(WINDOWS_SUFFIX "win64")
|
||||
endif()
|
||||
|
||||
configure_file("nsis/distribution.in.txt" "nsis/distribution.txt" ESCAPE_QUOTES @ONLY)
|
||||
configure_file("nsis/gsmartcontrol.in.nsi" "nsis/gsmartcontrol.nsi" ESCAPE_QUOTES @ONLY)
|
||||
|
||||
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("debian-postinst.in.sh" "${CMAKE_CURRENT_BINARY_DIR}/postinst" ESCAPE_QUOTES @ONLY)
|
||||
configure_file("debian-postrm.in.sh" "${CMAKE_CURRENT_BINARY_DIR}/postrm" ESCAPE_QUOTES @ONLY)
|
||||
|
||||
configure_file("rpm-post-install.in.sh" "${CMAKE_CURRENT_BINARY_DIR}/rpm-post-install.sh" ESCAPE_QUOTES @ONLY)
|
||||
configure_file("rpm-post-uninstall.in.sh" "${CMAKE_CURRENT_BINARY_DIR}/rpm-post-uninstall.sh" ESCAPE_QUOTES @ONLY)
|
||||
|
||||
# Install app icons
|
||||
foreach(dir 16 22 24 32 48 64 128 256)
|
||||
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\")")
|
||||
if (NOT WIN32)
|
||||
foreach(dir 16 22 24 32 48 64 128 256)
|
||||
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\")")
|
||||
endif()
|
||||
|
||||
# Application pixmap (fallback icon for desktop files).
|
||||
# Same as 48/gsmartcontrol.png.
|
||||
# Also, xpm for debian menu, 32x32.
|
||||
install(FILES 48/gsmartcontrol.png gsmartcontrol.xpm
|
||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/pixmaps/")
|
||||
|
||||
# We don't install .ico (it's only for Windows)
|
||||
if (WIN32)
|
||||
# .ico file
|
||||
install(FILES gsmartcontrol.ico DESTINATION .)
|
||||
endif()
|
||||
|
||||
# Install internal icons
|
||||
install(FILES icon_cddvd.png icon_hdd.png
|
||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/gsmartcontrol/icons")
|
||||
if (WIN32)
|
||||
install(FILES icon_cddvd.png icon_hdd.png
|
||||
DESTINATION .)
|
||||
else()
|
||||
install(FILES icon_cddvd.png icon_hdd.png
|
||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/gsmartcontrol/icons")
|
||||
endif()
|
||||
|
||||
# Desktop file
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gsmartcontrol.desktop"
|
||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/gsmartcontrol/icons/")
|
||||
if (NOT WIN32)
|
||||
# Application pixmap (fallback icon for desktop files).
|
||||
# Same as 48/gsmartcontrol.png.
|
||||
# Also, xpm for debian menu, 32x32.
|
||||
install(FILES 48/gsmartcontrol.png gsmartcontrol.xpm
|
||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/pixmaps/")
|
||||
|
||||
# Appdata file
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gsmartcontrol.appdata.xml"
|
||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/metainfo/")
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gsmartcontrol.desktop"
|
||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/gsmartcontrol/icons/")
|
||||
|
||||
# PolKit file
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/org.gsmartcontrol.policy"
|
||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/polkit-1/actions/")
|
||||
# Appdata file
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gsmartcontrol.appdata.xml"
|
||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/metainfo/")
|
||||
|
||||
# Man pages
|
||||
install(FILES "gsmartcontrol.1" DESTINATION "${CMAKE_INSTALL_MANDIR}/man1/")
|
||||
install(FILES "gsmartcontrol.1" DESTINATION "${CMAKE_INSTALL_MANDIR}/man1/" RENAME "gsmartcontrol-root.1")
|
||||
# PolKit file
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/org.gsmartcontrol.policy"
|
||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/polkit-1/actions/")
|
||||
|
||||
# Scripts (this goes to bin, not sbin, as it doesn't require root privileges before running)
|
||||
install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/gsmartcontrol-root.sh" TYPE BIN RENAME "gsmartcontrol-root")
|
||||
# Man pages
|
||||
install(FILES "gsmartcontrol.1" DESTINATION "${CMAKE_INSTALL_MANDIR}/man1/")
|
||||
install(FILES "gsmartcontrol.1" DESTINATION "${CMAKE_INSTALL_MANDIR}/man1/" RENAME "gsmartcontrol-root.1")
|
||||
|
||||
# Scripts (this goes to bin, not sbin, as it doesn't require root privileges before running)
|
||||
install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/gsmartcontrol-root.sh" TYPE BIN RENAME "gsmartcontrol-root")
|
||||
endif()
|
||||
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
|
||||
configure_file("changelog.in" "changelog" ESCAPE_QUOTES @ONLY)
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
# Variables for nsis .in files
|
||||
set(WINDOWS_SUFFIX "win32")
|
||||
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set(WINDOWS_SUFFIX "win64")
|
||||
endif()
|
||||
configure_file("nsis/distribution.in.txt" "nsis/distribution.txt" ESCAPE_QUOTES @ONLY NEWLINE_STYLE DOS)
|
||||
configure_file("nsis/gsmartcontrol.in.nsi" "nsis/gsmartcontrol.nsi" ESCAPE_QUOTES @ONLY NEWLINE_STYLE DOS)
|
||||
|
||||
# NSIS helpers
|
||||
if (WIN32)
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/nsis/distribution.txt" DESTINATION doc/)
|
||||
|
||||
# nsis file, only for cross-compilation
|
||||
if (NOT ${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows")
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/nsis/gsmartcontrol.nsi" DESTINATION .)
|
||||
endif()
|
||||
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)
|
||||
|
||||
# OBS RPM
|
||||
#configure_file(obs_rpm/gsmartcontrol.in.spec obs_rpm/gsmartcontrol.spec)
|
||||
|
||||
@@ -140,9 +140,9 @@ endif()
|
||||
#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}/data/rpm-post-install.sh")
|
||||
#set(CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_BINARY_DIR}/data/rpm-post-uninstall.sh")
|
||||
|
||||
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")
|
||||
|
||||
|
||||
|
||||
@@ -162,8 +162,203 @@ endif()
|
||||
# "${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}/data/postinst;${CMAKE_BINARY_DIR}/data/postrm")
|
||||
|
||||
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
|
||||
"${CMAKE_BINARY_DIR}/packaging/cpack_debian/postinst;${CMAKE_BINARY_DIR}/packaging/cpack_debian/postrm")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# 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.
|
||||
if (WIN32)
|
||||
option(APP_WINDOWS_SYSROOT "Location of system root for Windows binaries, for packing" "${CMAKE_FIND_ROOT_PATH}")
|
||||
|
||||
set(WINDOWS_SUFFIX "win32")
|
||||
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set(WINDOWS_SUFFIX "win64")
|
||||
endif()
|
||||
|
||||
# TODO unix2dos doc/*.txt
|
||||
|
||||
# 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"
|
||||
DESTINATION .
|
||||
)
|
||||
|
||||
# GCC Runtime
|
||||
file(GLOB MATCHED_FILES LIST_DIRECTORIES false RELATIVE "${APP_WINDOWS_SYSROOT}/bin" "libgcc_s_*.dll")
|
||||
install(FILES ${MATCHED_FILES} DESTINATION .)
|
||||
|
||||
# PCRE
|
||||
install(FILES "${APP_WINDOWS_SYSROOT}/bin/libpcre-1.dll" DESTINATION .)
|
||||
install(FILES "${APP_WINDOWS_SYSROOT}/bin/libpcrecpp-0.dll" DESTINATION .)
|
||||
|
||||
|
||||
# All of GTK+
|
||||
set(GTK_FILES
|
||||
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
|
||||
libatk-1.*.dll
|
||||
libatkmm-1.*.dll
|
||||
libbz2-*.dll
|
||||
libcairo-*.dll
|
||||
libcairomm-1*.dll
|
||||
libepoxy-*.dll
|
||||
libffi-*.dll
|
||||
libexpat-*.dll
|
||||
libfontconfig-*.dll
|
||||
libfreetype-*.dll
|
||||
libgdk-3*.dll
|
||||
libgdk_pixbuf-2.*.dll
|
||||
libgdkmm-3.*.dll
|
||||
libgio-2.*.dll
|
||||
libgiomm-2.*.dll
|
||||
libglib-2.*.dll
|
||||
libglibmm*2.*.dll
|
||||
libgmodule-2.*.dll
|
||||
libgobject-2.*.dll
|
||||
libgraphite*.dll
|
||||
libgthread-2.*.dll
|
||||
libgtk-3*.dll
|
||||
libgtkmm-3*.dll
|
||||
libharfbuzz*.dll
|
||||
libiconv*.dll
|
||||
libintl*.dll
|
||||
libjasper*.dll
|
||||
libjpeg*.dll
|
||||
liblzma*.dll
|
||||
libpango*-1.*.dll
|
||||
libpixman*.dll
|
||||
libpng16-*.dll
|
||||
libsigc-2.*.dll
|
||||
libstdc++-*.dll
|
||||
libtiff-*.dll
|
||||
libwinpthread-*.dll
|
||||
libxml2-*.dll
|
||||
zlib1.dll
|
||||
)
|
||||
foreach(pattern ${GTK_FILES})
|
||||
file(GLOB MATCHED_FILES LIST_DIRECTORIES false RELATIVE "${APP_WINDOWS_SYSROOT}/bin" ${pattern})
|
||||
if (NOT "${MATCHED_FILES}" STREQUAL "")
|
||||
install(FILES ${MATCHED_FILES} DESTINATION .)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# <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/")
|
||||
|
||||
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/"
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
# All CPack variables must be set before this
|
||||
@@ -171,6 +366,10 @@ include(CPack)
|
||||
|
||||
|
||||
if (WIN32)
|
||||
|
||||
# TODO Support NSIS in Linux
|
||||
# cd nsis-dist && @NSIS_EXEC@ gsmartcontrol.nsi
|
||||
|
||||
add_custom_target(package_nsis
|
||||
COMMAND "${CMAKE_CPACK_COMMAND}" -G NSIS -C Release
|
||||
COMMENT "Creating NSIS installer..."
|
||||
@@ -224,4 +423,3 @@ if (UNIX)
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 766 B After Width: | Height: | Size: 766 B |
|
Before Width: | Height: | Size: 766 B After Width: | Height: | Size: 766 B |
@@ -1,9 +1,14 @@
|
||||
###############################################################################
|
||||
# License: BSD Zero Clause License file
|
||||
# Copyright:
|
||||
# (C) 2008 - 2021 Alexander Shaduri <ashaduri@gmail.com>
|
||||
###############################################################################
|
||||
|
||||
# This spec file is for openSUSE Build Service.
|
||||
# Supported distributions: openSUSE, Fedora, CentOS, RHEL.
|
||||
|
||||
Name: gsmartcontrol
|
||||
Version: @CMAKE_PROJECT_VERSION@
|
||||
Version: git
|
||||
Release: 0
|
||||
License: GPL-3.0
|
||||
Url: https://gsmartcontrol.shaduri.dev/
|
||||
@@ -18,26 +23,20 @@ Group: Hardware/Other
|
||||
%global debug_package %{nil}
|
||||
|
||||
|
||||
# For non-specified distributions we don't specify any dependencies to avoid errors.
|
||||
|
||||
# For distributions that are not listed here we don't specify any dependencies to avoid errors.
|
||||
|
||||
# SUSE / OpenSUSE. SLES also defines the correct suse_version.
|
||||
%if 0%{?suse_version}
|
||||
|
||||
Requires: smartmontools >= 5.43, polkit, bash, xterm
|
||||
BuildRequires: gcc-c++, libstdc++-devel, pcre-devel, gtkmm3-devel >= 3.4.0
|
||||
BuildRequires: cmake pkg-config gcc-c++, libstdc++-devel, pcre-devel, gtkmm3-devel >= 3.4.0
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: fdupes
|
||||
|
||||
%endif
|
||||
|
||||
|
||||
# Fedora, CentOS, RHEL
|
||||
%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
|
||||
|
||||
Requires: smartmontools >= 5.43, polkit, bash, xterm
|
||||
BuildRequires: gcc-c++, pcre-devel, gtkmm30-devel >= 3.4.0
|
||||
|
||||
BuildRequires: cmake pkg-config gcc-c++, pcre-devel, gtkmm30-devel >= 3.4.0
|
||||
%endif
|
||||
|
||||
|
||||
@@ -48,16 +47,14 @@ Technology) data in hard disk and solid-state drives. It allows you to inspect
|
||||
the drive's SMART data to determine its health, as well as run various tests
|
||||
on it.
|
||||
|
||||
%prep
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%configure
|
||||
|
||||
|
||||
%build
|
||||
make %{?_smp_mflags}
|
||||
|
||||
|
||||
%install
|
||||
|
||||
# %%makeinstall
|
||||
@@ -67,20 +64,17 @@ rm -f $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/icon-theme.cache
|
||||
|
||||
|
||||
%if 0%{?suse_version}
|
||||
|
||||
%suse_update_desktop_file -n %{name}
|
||||
|
||||
# There are some png file duplicates, hardlink them.
|
||||
%fdupes
|
||||
|
||||
# We install icons, so this is needed.
|
||||
%if 0%{?suse_version} >= 1140
|
||||
%post
|
||||
%icon_theme_cache_post
|
||||
|
||||
%postun
|
||||
%icon_theme_cache_postun
|
||||
%endif
|
||||
|
||||
# endif suse
|
||||
%endif
|
||||
+8
-3
@@ -35,7 +35,7 @@ target_sources(gsmartcontrol PRIVATE
|
||||
|
||||
# Win32 resource file
|
||||
if (WIN32)
|
||||
configure_file("gsc_winres.in.rc" "${CMAKE_CURRENT_BINARY_DIR}/gsc_winres.rc" ESCAPE_QUOTES @ONLY)
|
||||
configure_file("gsc_winres.in.rc" "${CMAKE_CURRENT_BINARY_DIR}/gsc_winres.rc" ESCAPE_QUOTES @ONLY NEWLINE_STYLE DOS)
|
||||
file(COPY "${CMAKE_SOURCE_DIR}/data/gsmartcontrol.ico" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}") # required by winres
|
||||
target_sources(gsmartcontrol PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/gsc_winres.rc")
|
||||
endif()
|
||||
@@ -46,7 +46,8 @@ if (WIN32)
|
||||
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set(WINDOWS_ARCH "amd64")
|
||||
endif()
|
||||
configure_file("gsmartcontrol.exe.in.manifest" "${CMAKE_CURRENT_BINARY_DIR}/gsmartcontrol.exe.manifest" ESCAPE_QUOTES @ONLY)
|
||||
configure_file("gsmartcontrol.exe.in.manifest" "${CMAKE_CURRENT_BINARY_DIR}/gsmartcontrol.exe.manifest"
|
||||
ESCAPE_QUOTES @ONLY NEWLINE_STYLE DOS)
|
||||
|
||||
# We link the manifest into the binary instead of installing it.
|
||||
# install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gsmartcontrol.exe.manifest" DESTINATION "${CMAKE_INSTALL_SBINDIR}/")
|
||||
@@ -62,7 +63,11 @@ target_link_libraries(gsmartcontrol
|
||||
build_config
|
||||
)
|
||||
|
||||
install(TARGETS gsmartcontrol DESTINATION "${CMAKE_INSTALL_SBINDIR}/")
|
||||
if (WIN32)
|
||||
install(TARGETS gsmartcontrol DESTINATION .)
|
||||
else()
|
||||
install(TARGETS gsmartcontrol DESTINATION "${CMAKE_INSTALL_SBINDIR}/")
|
||||
endif()
|
||||
|
||||
|
||||
add_subdirectory(build_config)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# (C) 2021 Alexander Shaduri <ashaduri@gmail.com>
|
||||
###############################################################################
|
||||
|
||||
install(FILES
|
||||
set(UI_FILES
|
||||
gsc_about_dialog.glade
|
||||
gsc_add_device_window.glade
|
||||
gsc_executor_log_window.glade
|
||||
@@ -12,6 +12,12 @@ install(FILES
|
||||
gsc_main_window.glade
|
||||
gsc_preferences_window.glade
|
||||
gsc_text_window.glade
|
||||
|
||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/gsmartcontrol/ui/"
|
||||
)
|
||||
|
||||
if (WIN32)
|
||||
install(FILES ${UI_FILES}
|
||||
DESTINATION "ui/")
|
||||
else()
|
||||
install(FILES ${UI_FILES}
|
||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/gsmartcontrol/ui/")
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user