diff --git a/CMakeLists.txt b/CMakeLists.txt index 36432fe..1f8c0fa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,6 @@ if ( CMAKE_CUDA_IMPLICIT_LINK_LIBRARIES ) list(APPEND CMAKE_CUDA_IMPLICIT_LINK_LIBRARIES "cudart") endif() - # ---------------------------------------------------------------------------- # # All C++ compilation options for all programs. # ---------------------------------------------------------------------------- # @@ -39,6 +38,8 @@ else() ) endif() +include(deb.cmakelists) + # ---------------------------------------------------------------------------- # # Build in this order: # - Library diff --git a/deb.cmakelists b/deb.cmakelists new file mode 100644 index 0000000..89e155e --- /dev/null +++ b/deb.cmakelists @@ -0,0 +1,30 @@ +set(CPACK_DEB_COMPONENT_INSTALL ON) +set(CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS ON) + +set(CPACK_COMPONENTS_ALL cmm cmmdev) +set(CPACK_GENERATOR "DEB") +set(CPACK_DEBIAN_PACKAGE_MAINTAINER "cjhanks") + +set(CPACK_INSTALL_PREFIX /usr) +set(CPACK_DESCRIPTION "") +set(CPACK_DESCRIPTION_SUMMARY "") +set(CPACK_PACKAGE_VENDOR "noone") +set(CPACK_PACKAGE_CONTACT "web@cjhanks.name") +set(CPACK_PACKAGE_VERSION_MAJOR 0) # +set(CPACK_PACKAGE_VERSION_MINOR 0) # FIXME <<< +set(CPACK_PACKAGE_VERSION_PATCH 0) # +set(CPACK_PACKAGE_VERSION_FULL "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") + +if(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64.*|x86_64.*|AMD64.*") + set(CPACK_DEBIAN_ARCHITECTURE amd64) +else() + set(CPACK_DEBIAN_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR}) +endif() + +set(CPACK_DEBIAN_CMM_PACKAGE_DEPENDS + "libcudart10.1 ( >= 10.1.243-3 )") + +set(CPACK_DEBIAN_CMMDEV_PACKAGE_DEPENDS + "cmm ( = ${CPACK_PACKAGE_VERSION_FULL} )") + +include(CPack REQUIRED) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index da8ea07..d5b44b8 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -3,3 +3,12 @@ file(GLOB_RECURSE SOURCES_CU *.cu) file(GLOB_RECURSE SOURCES_HH *.hh) add_library(cmm SHARED ${SOURCES_CC} ${SOURCES_CU} ${SOURCES_HH}) + +install(TARGETS cmm + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + COMPONENT cmm) + +install(DIRECTORY ./cmm + DESTINATION ${CMAKE_INSTALL_PREFIX}/include + COMPONENT cmmdev + FILES_MATCHING PATTERN "*.hh")