Procházet zdrojové kódy

COMP: Superbuild/build - Added option DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY

Allow to specify where the documentation archive should stored, it's usually
set to be outside of the build tree.
Jean-Christophe Fillion-Robin před 15 roky
rodič
revize
155780fc68

+ 4 - 0
CMake/ctkDashboardDriverScript.cmake

@@ -48,6 +48,9 @@ set(expected_variables
   CTEST_GIT_COMMAND
   QT_QMAKE_EXECUTABLE
   )
+if(WITH_DOCUMENTATION)
+  list(APPEND expected_variables DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY)
+endif()
 
 foreach(var ${expected_variables})
   if(NOT DEFINED ${var})
@@ -117,6 +120,7 @@ QT_QMAKE_EXECUTABLE:FILEPATH=${QT_QMAKE_EXECUTABLE}
 SUPERBUILD_EXCLUDE_CTKBUILD_TARGET:BOOL=TRUE
 WITH_COVERAGE:BOOL=${WITH_COVERAGE}
 DOCUMENTATION_TARGET_IN_ALL:BOOL=${WITH_DOCUMENTATION}
+DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY:PATH=${DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY}
 ${ADDITIONNAL_CMAKECACHE_OPTION}
 ")
   endif()

+ 1 - 0
CMake/ctkDashboardScript.EXAMPLE.cmake

@@ -34,6 +34,7 @@ set(WITH_KWSTYLE FALSE)
 set(WITH_MEMCHECK FALSE)
 set(WITH_COVERAGE TRUE)
 set(WITH_DOCUMENTATION FALSE)
+#set(DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY ) # for example: $ENV{HOME}/Projects/Doxygen
 set(CTEST_BUILD_CONFIGURATION "Release")
 set(CTEST_TEST_TIMEOUT 500)
 set(CTEST_BUILD_FLAGS "-j4") # Use multiple CPU cores to build

+ 3 - 0
CMakeLists.txt

@@ -202,6 +202,9 @@ OPTION(WITH_COVERAGE "Enable/Disable coverage" OFF)
 OPTION(DOCUMENTATION_TARGET_IN_ALL "Include the custom target for building documentation in 'all'" OFF)
 MARK_AS_ADVANCED(DOCUMENTATION_TARGET_IN_ALL)
 
+OPTION(DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY "Where documentation archives should be stored" ${CMAKE_CURRENT_BINARY_DIR})
+MARK_AS_ADVANCED(DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY)
+
 #-----------------------------------------------------------------------------
 # Additional CXX/C Flags
 #

+ 10 - 4
Documentation/generate_doc.cmake.in

@@ -17,18 +17,24 @@ set(PROJECT_NAME CTK)
 #
 set(OUTPUT_DIRECTORY "@CMAKE_CURRENT_BINARY_DIR@")
 
+# DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY:
+# Path to the Doxygen output directory (where the resulting archive(s) should be stored).
+# Example:
+#   DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY @CMAKE_CURRENT_BINARY_DIR@
+#
+set(DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY "@DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY@")
+
 # CREATE_HTML_TARZ_ARCHIVE RESULTING_HTML_TARZ_ARCHIVE_FILE:
 # Create a compressed (gzip) tar archive of the html directory (located
-# under the OUTPUT_DIRECTORY), and name of the resulting archive file. 
+# under the DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY), and name of the resulting archive file.
 # Note: your doxyfile should be configured to enable HTML creation 
 #       (using GENERATE_HTML   YES)
 # Example: 
 #   CREATE_HTML_TARZ_ARCHIVE ON
-#   CREATE_HTML_TARZ_ARCHIVE @DOCUMENTATION_HTML_TARZ@
-#   RESULTING_HTML_TARZ_ARCHIVE_FILE ${OUTPUT_DIRECTORY}/CTK@CTK_MAJOR_VERSION@.@CTK_MINOR_VERSION@-html.tar.gz
+#   RESULTING_HTML_TARZ_ARCHIVE_FILE ${OUTPUT_DIRECTORY}/${PROJECT_NAME}-html.tar.gz
 #
 set(CREATE_HTML_TARZ_ARCHIVE @CTK_DOCUMENTATION_HTML_TARZ@)
-set(RESULTING_HTML_TARZ_ARCHIVE_FILE "${OUTPUT_DIRECTORY}/${PROJECT_NAME}-@CTK_MAJOR_VERSION@.@CTK_MINOR_VERSION@-html.tar.gz")
+set(RESULTING_HTML_TARZ_ARCHIVE_FILE "${DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY}/${PROJECT_NAME}-html.tar.gz")
 
 
 # ----------------------------------------------------------------------------

+ 2 - 0
SuperBuild.cmake

@@ -204,6 +204,8 @@ ExternalProject_Add(${proj}
     ${ctk_superbuild_boolean_args}
     -DCTK_SUPERBUILD:BOOL=OFF
     -DWITH_COVERAGE:BOOL=${WITH_COVERAGE}
+    -DDOCUMENTATION_TARGET_IN_ALL:BOOL=${DOCUMENTATION_TARGET_IN_ALL}
+    -DDOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY:PATH=${DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY}
     -DCTEST_USE_LAUNCHERS:BOOL=${CTEST_USE_LAUNCHERS}
     -DCTK_SUPERBUILD_BINARY_DIR:PATH=${CTK_BINARY_DIR}
     -DCTK_CMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CTK_CMAKE_ARCHIVE_OUTPUT_DIRECTORY}