Add script to generate Debian package files for static applications
[oonf.git] / cmake / generate_archive.cmake
1 #!/bin/cmake
2 SET(VERSIONFILE version.cmake)
3
4 # look for git executable
5 SET(found_git false) 
6 find_program(found_git git)
7
8 IF(${found_git} STREQUAL "found_git-NOTFOUND")
9   message (FATAL "Git executable not found")
10 ENDIF()
11
12 SET(found_tar false) 
13 find_program(found_tar tar)
14
15 IF(${found_tar} STREQUAL "found_tar-NOTFOUND")
16   message (FATAL "Tar executable not found")
17 ENDIF()
18
19 # add fixed version data
20 FILE (COPY ${BINARY}/${VERSIONFILE} DESTINATION ${SOURCE})
21
22 # add it to git and stash it away
23 execute_process(COMMAND git add ${SOURCE}/${VERSIONFILE} WORKING_DIRECTORY ${SOURCE})
24 execute_process(COMMAND git stash create OUTPUT_VARIABLE COMMIT WORKING_DIRECTORY ${SOURCE} OUTPUT_STRIP_TRAILING_WHITESPACE)
25
26 IF (NOT TARBALL)
27     SET(TARBALL "${SOURCE}/oonf_${VERSION}.${FORMAT}")
28 ENDIF (NOT TARBALL)
29
30 IF (NOT TARPREFIX)
31     SET (TARPREFIX "oonf_${VERSION}")
32 ENDIF (NOT TARPREFIX)
33
34 # generate archive
35 execute_process(COMMAND git archive --prefix=${TARPREFIX}/ -o ${TARBALL} ${COMMIT} WORKING_DIRECTORY ${SOURCE})
36
37 # remove version file
38 FILE (REMOVE ${SOURCE}/${VERSIONFILE})
39 execute_process(COMMAND git rm --quiet ${SOURCE}/${VERSIONFILE} WORKING_DIRECTORY ${SOURCE})
40
41 message ("created ${TARBALL}")