File: SourceTarball.cmake

package info (click to toggle)
ibus-table-array30 1.2.0.20090729-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 4,980 kB
  • ctags: 34
  • sloc: ansic: 230; makefile: 7
file content (109 lines) | stat: -rw-r--r-- 3,955 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# 
# Source Tarball handling. Required by RPM.cmake
# To use: INCLUDE(SourceTarball)
#
# Includes: Version
# 
#===================================================================
# Variables: 
#   Predefined:
#     CMAKE_GENERATED_FILES: Pattern of CMake generated files. 
#          They are excluded from packing.
#     COMMON_IGNORED_FILES: Pattern of backup files and version control system
#          files such as CVS, SVN and git.
#          They are excluded from packing.
#   Output:
#     SOURCE_TARBALL_ORIG_PREFIX: The prefix of CPack packed file.
#     SOURCE_TARBALL_ORIG_POSTFIX: The postfix of CPack packed file.
#     SOURCE_TARBALL_ORIG: The filename of CPack packed file.
#     SOURCE_TARBALL_OUTPUT: output filename of target pack_src, including
#     output_dir.
#
#   Optional:
#     SOURCE_TARBALL_OUTPUT_DIR: Set the output directory for package files.
#     SOURCE_TARBALL_OUTPUT_PREFIX: Set the prefix of package files.
#
#===================================================================
# Targets:
# pack_src: Make source tarball for rpm packaging.
#

INCLUDE(Version)

IF(CPACK_SOURCE_GENERATOR STREQUAL "TGZ")
    SET(SOURCE_TARBALL_POSTFIX "tar.gz")
ELSEIF(CPACK_SOURCE_GENERATOR STREQUAL "TBZ2")
    SET(SOURCE_TARBALL_POSTFIX "tar.bz2")
ELSEIF(CPACK_SOURCE_GENERATOR STREQUAL "TZ")
    SET(SOURCE_TARBALL_POSTFIX "tar.Z")
ELSEIF(CPACK_SOURCE_GENERATOR STREQUAL "ZIP")
    SET(SOURCE_TARBALL_POSTFIX "zip")
ENDIF(CPACK_SOURCE_GENERATOR STREQUAL "TGZ")
SET(SOURCE_TARBALL_ORIG_PREFIX ${PROJECT_NAME}-${CPACK_PACKAGE_VERSION}-Source)
SET(SOURCE_TARBALL_ORIG ${SOURCE_TARBALL_ORIG_PREFIX}.${SOURCE_TARBALL_POSTFIX})

SET(SOURCE_TARBALL_OUTPUT)

IF(DEFINED SOURCE_TARBALL_OUTPUT_DIR)
    IF(DEFINED SOURCE_TARBALL_OUTPUT_PREFIX)
	SET(SOURCE_TARBALL_OUTPUT 
	    ${SOURCE_TARBALL_OUTPUT_DIR}/${SOURCE_TARBALL_OUTPUT_PREFIX}.${SOURCE_TARBALL_POSTFIX})
    ELSE(DEFINED SOURCE_TARBALL_OUTPUT_PREFIX)
	SET(SOURCE_TARBALL_OUTPUT 
	    ${SOURCE_TARBALL_OUTPUT_DIR}/${SOURCE_TARBALL_ORIG})
    ENDIF(DEFINED SOURCE_TARBALL_OUTPUT_PREFIX)
ELSE(DEFINED SOURCE_TARBALL_OUTPUT_DIR)
    IF(DEFINED SOURCE_TARBALL_OUTPUT_PREFIX)
	SET(SOURCE_TARBALL_OUTPUT 
	    ${SOURCE_TARBALL_OUTPUT_PREFIX}.${SOURCE_TARBALL_POSTFIX})
    ELSE(DEFINED SOURCE_TARBALL_OUTPUT_PREFIX)
	SET(SOURCE_TARBALL_OUTPUT 
	    ${SOURCE_TARBALL_ORIG})
    ENDIF(DEFINED SOURCE_TARBALL_OUTPUT_PREFIX)
ENDIF(DEFINED SOURCE_TARBALL_OUTPUT_DIR)


IF(DEFINED SOURCE_TARBALL_OUTPUT_DIR)
    ADD_CUSTOM_TARGET(pack_src
	COMMAND make package_source
	COMMENT "Packaging Source files"
	COMMAND mkdir -p ${SOURCE_TARBALL_OUTPUT_DIR}
	COMMAND mv ${SOURCE_TARBALL_ORIG} ${SOURCE_TARBALL_OUTPUT}
	VERBATIM
	)
ELSE(DEFINED SOURCE_TARBALL_OUTPUT_DIR)
    IF(DEFINED SOURCE_TARBALL_OUTPUT_PREFIX)
	ADD_CUSTOM_TARGET(pack_src
	    COMMAND make package_source
	    COMMENT "Packaging Source files"
	    COMMAND mv ${SOURCE_TARBALL_ORIG} ${SOURCE_TARBALL_OUTPUT}
	    VERBATIM
	    )
    ELSE(DEFINED SOURCE_TARBALL_OUTPUT_PREFIX)
	ADD_CUSTOM_TARGET(pack_src
	    COMMAND make package_source
	    COMMENT "Packaging Source files"
	    VERBATIM
	    )
    ENDIF(DEFINED SOURCE_TARBALL_OUTPUT_PREFIX)
ENDIF(DEFINED SOURCE_TARBALL_OUTPUT_DIR)
#MESSAGE("SOURCE_TARBALL_ORIG=${SOURCE_TARBALL_ORIG}")
#MESSAGE("SOURCE_TARBALL_OUTPUT=${SOURCE_TARBALL_OUTPUT}")

SET(CMAKE_GENERATED_FILES "/CMakeFiles/" "_CPack_Packages/" "/Testing/"
    "\\\\.directory$" "CMakeCache\\\\.txt$" 
    "/install_manifest.txt$"
    "/cmake_.*install\\\\.cmake$" "/CPack.*\\\\.cmake$" "/CTestTestfile\\\\.cmake$"
    "Makefile$"
    )

SET(COMMON_IGNORED_FILES
    "/\\\\.svn/"  "/CVS/" "/\\\\.git/"  "\\\\.gitignore$"
    "~$" "\\\\.swp$" "\\\\.log$" "\\\\.bak$" "\\\\.old$"
    "\\\\.gmo$"
    "\\\\.tar.gz$" "\\\\.tar.bz2$" "/src/config\\\\.h$" "NO_PACK") 

SET(CPACK_SOURCE_IGNORE_FILES ${CPACK_SOURCE_IGNORE_FILES} ${CMAKE_GENERATED_FILES} ${COMMON_IGNORED_FILES})

ADD_DEPENDENCIES(pack_src version_check)