Files
SimCore/libs/geographiclib/cmake/maintainer-top.cmake

124 lines
4.8 KiB
CMake

set (DISTRIB_DIR "${CMAKE_BINARY_DIR}/distrib")
set (DISTRIB_NAME "${DISTRIB_DIR}/${PACKAGE_DIR}")
add_custom_target (prep-source
COMMAND ${CMAKE_MAKE_PROGRAM} package_source
COMMAND ${CMAKE_COMMAND} -E rm -rf ${DISTRIB_NAME}
COMMAND ${CMAKE_COMMAND} -E copy_directory
_CPack_Packages/Linux-Source/TGZ/${PACKAGE_DIR} ${DISTRIB_NAME}
COMMAND cd ${DISTRIB_NAME} &&
find * -type f | sort -u > ${DISTRIB_DIR}/files.1 &&
( cd ${PROJECT_SOURCE_DIR} && git ls-files ) |
sort -u > ${DISTRIB_DIR}/files.2 &&
comm -23 ${DISTRIB_DIR}/files.[12] | xargs -r -d '\\n' rm
# Remove now empty directories
COMMAND for p in 1 2 3 4 5\; do
find ${DISTRIB_NAME} -type d -empty -print0 | xargs -0r rmdir\; done
COMMAND ${CMAKE_COMMAND} -E rm -f autogen.done)
add_custom_command (OUTPUT autogen.done
COMMAND cd ${DISTRIB_NAME} && ${PROJECT_SOURCE_DIR}/autogen.sh &&
touch ${PROJECT_BINARY_DIR}/autogen.done
DEPENDS prep-source autogen.sh configure.ac
Makefile.am src/Makefile.am include/Makefile.am tools/Makefile.am
doc/Makefile.am man/Makefile.am cmake/Makefile.am
examples/Makefile.am tests/Makefile.am)
add_dependencies (distrib-man prep-source)
add_custom_target (distrib-all DEPENDS distrib-man autogen.done)
add_custom_command (TARGET distrib-all
COMMAND cd ${DISTRIB_NAME} && echo ${PROJECT_VERSION} > VERSION &&
chmod -R g-w .)
add_custom_target (dist
COMMAND
cd ${DISTRIB_DIR} &&
find ${PACKAGE_DIR} -type f | tar cfzT ${PACKAGE_NAME}.tar.gz -
COMMAND
rm -f ${DISTRIB_DIR}/${PACKAGE_NAME}.zip &&
cd ${DISTRIB_DIR} &&
find ${PACKAGE_DIR} -type f | zip -q ${PACKAGE_NAME}.zip -@
COMMENT "created distrib/${PACKAGE_NAME}.{tar.gz,zip}")
add_dependencies (dist distrib-all)
if (RSYNC)
set (USER karney)
set (DATATOP $ENV{HOME}/web/geographiclib-files)
set (DATAROOT ${DATATOP}/distrib-C++)
set (DOCTOP $ENV{HOME}/web/geographiclib-web)
set (DOCROOT ${DOCTOP}/htdocs/C++)
set (CGIROOT ${DOCTOP}/cgi-bin)
set (GEOIDROOT ${DOCTOP}/geoids)
set (FRSDEPLOY ${USER}@frs.sourceforge.net:/home/frs/project/geographiclib)
set (WEBDEPLOY ${USER},geographiclib@web.sourceforge.net:.)
add_custom_target (stage-dist
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${DISTRIB_DIR}/${PACKAGE_NAME}.tar.gz
${DISTRIB_DIR}/${PACKAGE_NAME}.zip
${PROJECT_SOURCE_DIR}/data-distrib/distrib-C++/)
add_dependencies (stage-dist dist)
if (BUILD_DOCUMENTATION)
add_custom_target (stage-doc
COMMAND ${RSYNC} --delete -a doc/html/ ${DOCROOT}/${PROJECT_VERSION}/)
add_dependencies (stage-doc doc)
endif ()
add_custom_target (deploy-dist
COMMAND
${RSYNC} --delete -av --exclude '*~'
${PROJECT_SOURCE_DIR}/data-distrib/distrib-C++/ ${DATAROOT}/ &&
${RSYNC} --delete -av
${PROJECT_SOURCE_DIR}/data-distrib/00README.md
${PROJECT_SOURCE_DIR}/data-distrib/distrib ${DATATOP}/
COMMAND ${RSYNC} --delete -av
${DATAROOT} ${DATATOP}/00README.md ${DATATOP}/distrib
${USER}@frs.sourceforge.net:/home/frs/project/geographiclib/)
add_custom_target (deploy-data
COMMAND
${RSYNC} --delete -av --exclude '*~'
${PROJECT_SOURCE_DIR}/data-distrib/*-distrib ${DATATOP}/
COMMAND ${RSYNC} --delete -av ${DATATOP}/*-distrib
${USER}@frs.sourceforge.net:/home/frs/project/geographiclib/)
add_custom_target (deploy-doc
COMMAND ${RSYNC} --delete -av -e ssh ${DOCROOT} ${WEBDEPLOY}/htdocs/)
set (CGI_SCRIPTS
GeoConvert GeodSolve GeoidEval Planimeter RhumbSolve printlogs Geod)
set (CGI_UTILS utils)
add_custom_target (stage-cgi
COMMAND for f in ${CGI_SCRIPTS}\; do
install -C $$f.cgi ${CGIROOT}/$$f\; done
COMMAND for f in ${CGI_UTILS}\; do
install -C -m 644 $$f.sh ${CGIROOT}/$$f.sh\; done
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/cgi-bin)
add_custom_target (deploy-cgi
COMMAND ${RSYNC} --delete -av -e ssh ${CGIROOT} ${GEOIDROOT} ${WEBDEPLOY}/)
endif ()
if (NOT WIN32)
set (BINARY_EXT "m4|gif|pdf|png|kmz")
add_custom_target (checktrailingspace
COMMAND git ls-files |
egrep -v '\\.\(${BINARY_EXT}\)$$' |
xargs grep '[ \t]$$' || true
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
COMMENT "Looking for trailing spaces")
add_custom_target (checktabs
COMMAND git ls-files |
egrep -v '\([Mm]akefile|test-distribution.sh|\\.\(${BINARY_EXT}\)$$\)' |
xargs grep -l '\t' || true
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
COMMENT "Looking for tabs")
add_custom_target (checkblanklines
COMMAND git ls-files |
egrep -v '\\.\(${BINARY_EXT}\)$$' |
while read f\; do tr 'X\\n' 'YX' < $$f |
egrep '\(^X|XXX|XX$$|[^X]$$\)' > /dev/null && echo $$f\; done || true
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
COMMENT "Looking for extra blank lines")
add_custom_target (sanitize)
add_dependencies (sanitize checktrailingspace checktabs checkblanklines)
endif ()