Fix build of binary package
authorRoland Schulz <roland@utk.edu>
Fri, 25 Jul 2014 22:36:17 +0000 (18:36 -0400)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Mon, 28 Jul 2014 17:28:17 +0000 (19:28 +0200)
Commit a00437 accidentally changed that the source-package error is also
printed for binary packages. Because it defined
CPACK_SOURCE_PACKAGE_FILE_NAME which we used to detect source-package.
This now uses CPACK_INSTALL_CMAKE_PROJECTS which is hopefully future-proof.
It also adds a proper warning for binary packages.

Change-Id: I842655755bed1c448f30db435a85ad1ca5844a60

CMakeLists.txt
CPackInit.cmake

index 7af2b56040c2e9decb8630276f4ced12097883f0..98d0ab7bd841d54bcb7344f4fce065eb6658d10a 100644 (file)
@@ -147,6 +147,7 @@ set(CPACK_PROJECT_CONFIG_FILE "${CMAKE_SOURCE_DIR}/CPackInit.cmake")
 # part of the configuration or build.
 set(CPACK_SOURCE_INSTALLED_DIRECTORIES "${CMAKE_SOURCE_DIR};/;${CMAKE_BINARY_DIR}/src/programs/completion;src/programs/completion;${CMAKE_BINARY_DIR}/share/man/man1;share/man/man1;${CMAKE_BINARY_DIR}/share/man/man7;share/man/man7;${CMAKE_BINARY_DIR}/share/html/final;share/html/final;${CMAKE_BINARY_DIR}/install-guide/final;/")
 set(CPACK_PACKAGE_CONTACT "gmx-users@gromacs.org")
+set(CPACK_GMX_BUILD_HELP "${GMX_BUILD_HELP}") #Works even though GMX_BUILD_HELP is defined later because it is off by default.
 
 #must come after all cpack settings!
 include(CPack)
index 7d3985f99450122b22e1ebe9ecdbe2788fc3c17a..12be4fdeef022c0101b12ba1d22a144df623b8f6 100644 (file)
@@ -33,7 +33,7 @@
 # the research papers on the package. Check out http://www.gromacs.org.
 
 #TODO: add check that source doesn't contain any untracked files
-if(CPACK_SOURCE_PACKAGE_FILE_NAME) #building source package
+if(NOT CPACK_INSTALL_CMAKE_PROJECTS) #building source package
     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
@@ -47,4 +47,14 @@ if(CPACK_SOURCE_PACKAGE_FILE_NAME) #building source package
             "these parts. You can also configure with "
             "GMX_BUILD_HELP=ON to automatically build the HTML parts.")
     endif()
+else()
+    if (NOT CPACK_GMX_BUILD_HELP)
+        message(WARNING
+            "To create a complete binary package, bash completions, and "
+            "man and HTML pages need to be generated. "
+            "You need to configure with GMX_BUILD_HELP=ON to include all "
+            "in the binary package.")
+        # Building the man, html, ... targets is not sufficient because than the
+        # install is still not done.
+    endif()
 endif()