added target "dist" to CMakeLists.txt, which uses "git archive" to build source tarball
[pingcheck] / CMakeLists.txt
1 # project: definitions
2 project(pingcheck)
3 set(VERSION 0.1)
4 set(TARGET ${PROJECT_NAME})
5
6 # cmake: build options
7 if("${CMAKE_BUILD_TYPE}" STREQUAL "")
8    set(CMAKE_BUILD_TYPE     Debug)
9 endif("${CMAKE_BUILD_TYPE}" STREQUAL "")
10 set(CMAKE_COLOR_MAKEFILE ON)
11 cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
12
13 # compiler: add definitions and arguments to the compiler
14 add_definitions(
15     -Wall -Wextra -Weffc++ -Wshadow -Wcast-qual -Wconversion -pedantic
16     -Wabi -Wfloat-equal -Winline -Wmissing-declarations -Wmissing-format-attribute
17     -Wno-long-long -Woverloaded-virtual -Wpacked -Wredundant-decls -Wsign-promo
18     -Wstack-protector -fstack-protector
19     #-Werror
20     #-O2
21     -DVERSION_STRING=${VERSION}
22     -DPROJECT_NAME=\"${PROJECT_NAME}\"
23 )
24
25 # package: package information
26 set(CPACK_PACKAGE_VERSION ${VERSION})
27 set(CPACK_PACKAGE_CONTACT "Intra2net AG")
28 set(CPACK_PACKAGE_DESCRIPTION ${TARGET})
29 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Pingcheck")
30 set(CPACK_SOURCE_GENERATOR TGZ)
31 set(CPACK_SOURCE_IGNORE_FILES "\\\\.git;build;build-rpm")
32 set(CPACK_SOURCE_IGNORE_FILES
33     "~$"
34     "\\\\.git"
35     "\\\\.kdev4"
36     "build"
37     "build-rpm"
38 )
39 set(CPACK_SOURCE_PACKAGE_FILE_NAME "${TARGET}-${VERSION}")
40
41 # "make dist" target
42 set(ARCHIVE_NAME ${CMAKE_PROJECT_NAME}-${VERSION})
43 add_custom_target(dist
44     COMMAND git archive --prefix=${ARCHIVE_NAME}/ HEAD
45             | bzip2 > ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar.bz2
46     WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
47
48 # cmake: build the application in the source directory
49 add_subdirectory(src)
50
51 # cmake: build the test cases
52 add_subdirectory(test)
53
54 include(CPack)