summaryrefslogtreecommitdiff
path: root/cmake/cpack.cmk
blob: 3366a3a34ed86e2154c8d6685da359967d2e8bdc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
set(CPACK_IGNORE_FILES "CMakeCache.txt;install_manifest.txt;/Testing/;/Makefile$;\\\\.cmake$;\\\\.tar.gz$;\\\\.so[.0-9]*$;/build/;/_CPack_Packages/;/CMakeFiles/;/CVS/;/\\\\.svn/;/\\\\.git/;\\\\.swp$;\\\\.#;/#")
set(CPACK_SOURCE_IGNORE_FILES ${CPACK_IGNORE_FILES})
set(CPACK_SOURCE_GENERATOR TGZ ZIP)
set(CPACK_SOURCE_TOPLEVEL_TAG "")

function(version MAJOR MINOR PATCH)
  if(NOT PROJECT_NAME OR "${PROJECT_NAME}" STREQUAL "Project")
    message(FATAL_ERROR "PROJECT_NAME MUST be defined before calling set_project_version()")
  endif()
  set(CPACK_PACKAGE_VERSION_MAJOR ${MAJOR})
  set(CPACK_PACKAGE_VERSION_MINOR ${MINOR})
  set(CPACK_PACKAGE_VERSION_PATCH ${PATCH})
  set(CPACK_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH})
  set(PROJECT_VERSION "${CPACK_PACKAGE_VERSION}" PARENT_SCOPE)
  set(CPACK_SOURCE_PACKAGE_FILE_NAME "${PROJECT_NAME}-${CPACK_PACKAGE_VERSION}" PARENT_SCOPE)
  include(CPack)
endfunction(version)