22cmake_minimum_required (VERSION 3.10)
33
44include (CheckSymbolExists)
5+ include (GNUInstallDirs)
56
67# set the project name
78project (libgeek VERSION 1.0)
@@ -15,8 +16,8 @@ SET(CMAKE_C_FLAGS "${FLAGS_COMMON}")
1516SET (CMAKE_CXX_FLAGS "${FLAGS_COMMON} " )
1617SET (CMAKE_C_FLAGS_DEBUG "${FLAGS_COMMON} -O0 -g -fsanitize=address -fsanitize-address-use-after-scope -fno-omit-frame-pointer" )
1718SET (CMAKE_CXX_FLAGS_DEBUG "${FLAGS_COMMON} -O0 -g -fsanitize=address -fsanitize-address-use-after-scope -fno-omit-frame-pointer" )
18- SET (CMAKE_C_FLAGS_RELEASE "${FLAGS_COMMON} -O3" )
19- SET (CMAKE_CXX_FLAGS_RELEASE "${FLAGS_COMMON} -O3" )
19+ SET (CMAKE_C_FLAGS_RELEASE "${FLAGS_COMMON} -O3 -s " )
20+ SET (CMAKE_CXX_FLAGS_RELEASE "${FLAGS_COMMON} -O3 -s " )
2021
2122find_package (PkgConfig REQUIRED)
2223
@@ -49,3 +50,27 @@ string(REPLACE ";" " " PKGCONFIG_LDFLAGS "${PKGCONFIG_LDFLAGS_LIST}")
4950configure_file (libgeek.pc.in libgeek.pc @ONLY)
5051install (FILES ${CMAKE_BINARY_DIR} /libgeek.pc DESTINATION "lib${LIB_SUFFIX} /pkgconfig" )
5152
53+ include (InstallRequiredSystemLibraries)
54+ set (CPACK_PACKAGE_CONTACT
"Ian Parker <[email protected] >" )
55+ set (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR} /COPYING" )
56+ set (CPACK_PACKAGE_VERSION "${PROJECT_VERSION} " )
57+ set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "Useful code from GeekProjects" )
58+ set (CPACK_PACKAGE_DESCRIPTION "A small library of various useful code." )
59+
60+ set (CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
61+ set (CPACK_DEBIAN_PACKAGE_VERSION "${PROJECT_VERSION} " )
62+ set (CPACK_DEBIAN_PACKAGE_DEPENDS "libxml2-dev (>= 2.9), libpng-dev (>= 1.6), libjpeg-dev (>= 8c), sqlite3 (>= 3), libsqlite0-dev (>= 2.8), libsigc++-2.0-dev (>= 2), libfreetype6-dev (>= 2.10)" )
63+ set (CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON )
64+ set (CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS ON )
65+ set (CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION YES )
66+ if (CPACK_GENERATOR MATCHES "DEB" )
67+ # lintian complains changelog-file-missing-in-native-package, this fixes it,
68+ execute_process (COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR} /debian/changelog ${CMAKE_CURRENT_SOURCE_DIR} /debian/changelog.bak)
69+ execute_process (COMMAND gzip -9 -f -n ${CMAKE_CURRENT_SOURCE_DIR} /debian/changelog)
70+ execute_process (COMMAND mv ${CMAKE_CURRENT_SOURCE_DIR} /debian/changelog.bak ${CMAKE_CURRENT_SOURCE_DIR} /debian/changelog)
71+ install (FILES debian/changelog.gz DESTINATION ${CMAKE_INSTALL_DOCDIR} /libgeek)
72+ install (FILES debian/copyright DESTINATION ${CMAKE_INSTALL_DOCDIR} /libgeek)
73+ endif (CPACK_GENERATOR MATCHES "DEB" )
74+
75+ include (CPack)
76+
0 commit comments