X-Git-Url: http://biod.pnpi.spb.ru/gitweb/?a=blobdiff_plain;f=CPackInit.cmake;h=c7e7e3cc07064e64c671600f6a804dd0482ec34e;hb=07e8a2a25ab5a62f63af77fe0dd1405cd41ee5ce;hp=12be4fdeef022c0101b12ba1d22a144df623b8f6;hpb=13fd7dfde8313a4a273c8953ef7faab47774d458;p=alexxy%2Fgromacs.git diff --git a/CPackInit.cmake b/CPackInit.cmake index 12be4fdeef..c7e7e3cc07 100644 --- a/CPackInit.cmake +++ b/CPackInit.cmake @@ -32,14 +32,27 @@ # To help us fund GROMACS development, we humbly ask that you cite # the research papers on the package. Check out http://www.gromacs.org. -#TODO: add check that source doesn't contain any untracked files -if(NOT CPACK_INSTALL_CMAKE_PROJECTS) #building source package +set(BUILDING_SOURCE_PACKAGE OFF) +# The essential difference in building a source package is that install() rules +# from the CMake project are not considered when deciding what to package. +# Instead, only the listed directories are packaged (and the listed directories +# contain the source tree). +if (NOT CPACK_INSTALL_CMAKE_PROJECTS) + set(BUILDING_SOURCE_PACKAGE ON) +endif() + +if (BUILDING_SOURCE_PACKAGE) + # TODO: add check that source doesn't contain any untracked files get_filename_component(CMAKE_BINARY_DIR ${CPACK_OUTPUT_CONFIG_FILE} PATH) - if (NOT EXISTS "${CMAKE_BINARY_DIR}/share/man/man1/gmx-view.1" OR - NOT EXISTS "${CMAKE_BINARY_DIR}/install-guide/final/INSTALL" OR - NOT EXISTS "${CMAKE_BINARY_DIR}/share/html/final/online.html" OR + # TODO: The list could be generated at the same time as the list of + # directories to include to keep the probe file names at the same place. + # And this does not detect if things have been built in the past, but are + # outdated. + if (NOT EXISTS "${CMAKE_BINARY_DIR}/docs/man/man1/gmx-view.1" OR + NOT EXISTS "${CMAKE_BINARY_DIR}/docs/install-guide/final/INSTALL" OR + NOT EXISTS "${CMAKE_BINARY_DIR}/docs/old-html/final/online.html" OR NOT EXISTS "${CMAKE_BINARY_DIR}/src/programs/completion/gmx-completion.bash" OR - NOT EXISTS "${CMAKE_BINARY_DIR}/share/html/final/programs/gmx-view.html") + NOT EXISTS "${CMAKE_BINARY_DIR}/docs/old-html/final/programs/gmx-view.html") message(FATAL_ERROR "To create a complete source package, bash completions, " "man and HTML pages, and INSTALL need to be generated. " @@ -48,6 +61,11 @@ if(NOT CPACK_INSTALL_CMAKE_PROJECTS) #building source package "GMX_BUILD_HELP=ON to automatically build the HTML parts.") endif() else() + # TODO: If GMX_BUILD_HELP is AUTO, it may happen that the generation fails, + # and things are silently left out. + # Also, it is currently impossible to get these files into the binary + # package for cross-compilation. However, binary packages are not + # currently used much, either... if (NOT CPACK_GMX_BUILD_HELP) message(WARNING "To create a complete binary package, bash completions, and "