~ubuntu-branches/ubuntu/natty/ibus-chewing/natty

« back to all changes in this revision

Viewing changes to cmake_modules/PackSource.cmake

  • Committer: Bazaar Package Importer
  • Author(s): LI Daobing, Asias He, LI Daobing
  • Date: 2010-12-05 16:25:41 UTC
  • mfrom: (1.1.13 upstream) (0.1.16 sid)
  • Revision ID: james.westby@ubuntu.com-20101205162541-8axx4shwhrk9a20g
Tags: 1.3.9.2-1
[ Asias He ]
* New upstream release.
* debian/rules: delete /usr/share/doc/ibus-chewing-*/COPYING.gz

[ LI Daobing ]
* debian/rules: fix doc install place
* debian/control: build depends on debhelper >= 7.0.50~ 
* debian/docs: updated 
* debian/clean: updated

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# - Pack source helper module
2
 
# By default CPack pack everything under the source directory, this is usually
3
 
# undesirable. We avoid this by using the sane default ignore list.
4
 
#
5
 
# Read and Defines following variable:
6
 
#   PACK_SOURCE_IGNORE_FILES_DEFAULT: Default list of file patterns
7
 
#     that are normally exclude from the source package.
8
 
#     Override it by setting it before INCLUDE(PackSource).
9
 
# Defines following target:
10
 
#     pack_remove_old: Remove old source package files.
11
 
# Defines following macro:
12
 
#   PACK_SOURCE(var outputDir [generator])
13
 
#   - Pack source files as <projectName>-<PRJ_VER>-Source.<packFormat>,
14
 
#     Arguments:
15
 
#     + var: The filename of source package is outputted to this var.
16
 
#            Path is excluded.
17
 
#     + outputDir: Directory to write source tarball.
18
 
#     + generator: (Optional) Method to make tarball. Basically this argument
19
 
#       is passed as CPACK_GENERATOR. Default to TGZ.
20
 
#     Variable to be read:
21
 
#     + PROJECT_NAME: Project name
22
 
#     + PRJ_VER: Project version
23
 
#     + PACK_SOURCE_IGNORE_FILES: A list of regex filename pattern to indicate
24
 
#       the files to be excluded. Note that cmake generated file
25
 
#       (PACK_SOURCE_IGNORE_FILE_CMAKE) is already in this list.
26
 
#     Target:
27
 
#     + pack_src: Pack source files like package_source.
28
 
#       This target depends on version_check.
29
 
#     + clean_pack_src: Remove all source packages.
30
 
#     + clean_old_pack_src: Remove all old source package.
31
 
#       This target depends on version_check.
32
 
#
33
 
#
34
 
IF(NOT DEFINED _PACK_SOURCE_CMAKE_)
35
 
    SET (_PACK_SOURCE_CMAKE_ "DEFINED")
36
 
    SET(PACK_SOURCE_IGNORE_FILES_DEFAULT
37
 
        "/\\\\.svn/"  "/CVS/" "/\\\\.git/"  "\\\\.gitignore$" "/\\\\.hg/"
38
 
        "/\\\\.hgignore$"
39
 
        "~$" "\\\\.swp$" "\\\\.log$" "\\\\.bak$" "\\\\.old$"
40
 
        "\\\\.gmo$" "\\\\.cache$"
41
 
        "\\\\.tar.gz$" "\\\\.tar.bz2$" "/src/config\\\\.h$" "NO_PACK")
42
 
 
43
 
    SET(PACK_SOURCE_IGNORE_FILES_CMAKE "/CMakeFiles/" "_CPack_Packages/" "/Testing/"
44
 
        "\\\\.directory$" "CMakeCache\\\\.txt$"
45
 
        "/install_manifest.txt$"
46
 
        "/cmake_install\\\\.cmake$" "/cmake_uninstall\\\\.cmake$""/CPack.*\\\\.cmake$" "/CTestTestfile\\\\.cmake$"
47
 
        "Makefile$"
48
 
        )
49
 
 
50
 
    INCLUDE(ManageVersion)
51
 
 
52
 
    MACRO(PACK_SOURCE var outputDir)
53
 
        SET(PACK_SOURCE_IGNORE_FILES ${PACK_SOURCE_IGNORE_FILES}
54
 
            ${PACK_SOURCE_IGNORE_FILES_CMAKE} ${PACK_SOURCE_IGNORE_FILES_DEFAULT})
55
 
        #MESSAGE("PACK_SOURCE_IGNORE_FILES=${PACK_SOURCE_IGNORE_FILES}")
56
 
 
57
 
        IF(PRJ_VER STREQUAL "")
58
 
            MESSAGE(FATAL_ERROR "PRJ_VER not defined")
59
 
        ENDIF(PRJ_VER STREQUAL "")
60
 
        IF(${ARGV3})
61
 
            SET(CPACK_GENERATOR "${ARGV3}")
62
 
        ELSE(${ARGV3})
63
 
            SET(CPACK_GENERATOR "TGZ")
64
 
        ENDIF(${ARGV3})
65
 
        SET(CPACK_SOURCE_GENERATOR ${CPACK_GENERATOR})
66
 
        IF(${CPACK_GENERATOR} STREQUAL "TGZ")
67
 
            SET(_pack_source_ext "tar.gz")
68
 
        ELSEIF(${CPACK_GENERATOR} STREQUAL "TBZ2")
69
 
            SET(_pack_source_ext "tar.bz2")
70
 
        ELSEIF(${CPACK_GENERATOR} STREQUAL "ZIP")
71
 
            SET(_pack_source_ext "zip")
72
 
        ENDIF(${CPACK_GENERATOR} STREQUAL "TGZ")
73
 
 
74
 
        SET(CPACK_SOURCE_IGNORE_FILES ${PACK_SOURCE_IGNORE_FILES})
75
 
        SET(CPACK_PACKAGE_VERSION ${PRJ_VER})
76
 
 
77
 
        # Get relative path of outputDir
78
 
        FILE(RELATIVE_PATH _outputDir_rel ${CMAKE_BINARY_DIR} ${outputDir})
79
 
        #MESSAGE("#_outputDir_rel=${_outputDir_rel}")
80
 
 
81
 
        IF(EXISTS ${CMAKE_SOURCE_DIR}/COPYING)
82
 
            SET(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/README)
83
 
        ENDIF(EXISTS ${CMAKE_SOURCE_DIR}/COPYING)
84
 
 
85
 
        IF(EXISTS ${CMAKE_SOURCE_DIR}/README)
86
 
            SET(CPACK_PACKAGE_DESCRIPTION_FILE ${CMAKE_SOURCE_DIR}/README)
87
 
        ENDIF(EXISTS ${CMAKE_SOURCE_DIR}/README)
88
 
 
89
 
        IF(DEFINED PROJECT_DESCRIPTION)
90
 
            SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PROJECT_DESCRIPTION}")
91
 
        ENDIF(DEFINED PROJECT_DESCRIPTION)
92
 
 
93
 
        SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${PROJECT_NAME}-${PRJ_VER}-Source")
94
 
        SET(${var} "${CPACK_SOURCE_PACKAGE_FILE_NAME}.${_pack_source_ext}")
95
 
 
96
 
        INCLUDE(CPack)
97
 
 
98
 
        ADD_CUSTOM_COMMAND(OUTPUT "${_outputDir_rel}/${${var}}"
99
 
           COMMAND make pack_src
100
 
           DEPENDS ChangeLog ${RELEASE_FILE}
101
 
           COMMENT "Packing the source"
102
 
            )
103
 
 
104
 
        IF("${_outputDir_rel}" STREQUAL ".")
105
 
            ADD_CUSTOM_TARGET(pack_src
106
 
                COMMAND make package_source
107
 
                DEPENDS ChangeLog
108
 
                )
109
 
        ELSE("${_outputDir_rel}" STREQUAL ".")
110
 
            ADD_CUSTOM_TARGET(pack_src
111
 
                COMMAND make package_source
112
 
                COMMAND cmake -E copy ${${var}} "${_outputDir_rel}/"
113
 
                COMMAND cmake -E remove ${${var}}
114
 
                DEPENDS ChangeLog
115
 
                )
116
 
        ENDIF("${_outputDir_rel}" STREQUAL ".")
117
 
 
118
 
        ADD_DEPENDENCIES(pack_src version_check)
119
 
 
120
 
        ADD_CUSTOM_TARGET(clean_old_pack_src
121
 
            COMMAND find .
122
 
            -name '${PROJECT_NAME}*.${_pack_source_ext}' ! -name '${PROJECT_NAME}-${PRJ_VER}-*.${_pack_source_ext}'
123
 
            -print -delete
124
 
            COMMENT "Cleaning old source packages"
125
 
            )
126
 
 
127
 
        ADD_DEPENDENCIES(clean_old_pack_src version_check)
128
 
 
129
 
        ADD_CUSTOM_TARGET(clean_pack_src
130
 
            COMMAND find .
131
 
            -name '${PROJECT_NAME}*.${_pack_source_ext}'
132
 
            -print -delete
133
 
            COMMENT "Cleaning all source packages"
134
 
            )
135
 
    ENDMACRO(PACK_SOURCE var outputDir)
136
 
 
137
 
 
138
 
ENDIF(NOT DEFINED _PACK_SOURCE_CMAKE_)
139