]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Make sure the 'changes.h' file is automatically generated.
authorWolfgang Bangerth <bangerth@colostate.edu>
Sat, 10 Dec 2016 00:20:45 +0000 (17:20 -0700)
committerWolfgang Bangerth <bangerth@colostate.edu>
Mon, 12 Dec 2016 03:03:22 +0000 (20:03 -0700)
In particular, list it as an input to the doxygen run.

doc/CMakeLists.txt
doc/doxygen/CMakeLists.txt
doc/news/CMakeLists.txt [new file with mode: 0644]

index 36fc773dc6cb3d9ea5e9607a380f0585a1272619..be790e7b5d53e325d59c433c0b92c78f8d4ca3b1 100644 (file)
@@ -1,6 +1,6 @@
 ## ---------------------------------------------------------------------
 ##
-## Copyright (C) 2012 - 2015 by the deal.II Authors
+## Copyright (C) 2012 - 2016 by the deal.II Authors
 ##
 ## This file is part of the deal.II library.
 ##
@@ -21,6 +21,7 @@ IF(DEAL_II_COMPONENT_DOCUMENTATION)
   MESSAGE(STATUS "")
   MESSAGE(STATUS "Setting up documentation")
 
+  ADD_SUBDIRECTORY(news)
   ADD_SUBDIRECTORY(doxygen)
 
   #
index 0451e280c8c2c6fe28fc2634c85a209460767e1c..0f078911aa7860fc6ccc1b4eae0de61ba1882d0e 100644 (file)
@@ -150,7 +150,14 @@ file(GLOB _doxygen_depend
   ${CMAKE_SOURCE_DIR}/doc/news/*.h
   ${CMAKE_SOURCE_DIR}/include/deal.II/**/*.h
   )
+
+# Specifically list a few files that are generated by
+# other cmake targets as dependencies for doxygen, to ensure
+# that they are in fact generated. This would not work if they
+# are captured via a GLOB since they may not exist (and so not
+# be captured via the GLOB) at the time cmake runs
 LIST(APPEND _doxygen_depend
+  ${CMAKE_BINARY_DIR}/doc/news/changes.h
   ${CMAKE_BINARY_DIR}/include/deal.II/base/config.h
   ${CMAKE_CURRENT_BINARY_DIR}/tutorial/tutorial.h
   )
diff --git a/doc/news/CMakeLists.txt b/doc/news/CMakeLists.txt
new file mode 100644 (file)
index 0000000..8cc793f
--- /dev/null
@@ -0,0 +1,52 @@
+## ---------------------------------------------------------------------
+##
+## Copyright (C) 2016 by the deal.II Authors
+##
+## This file is part of the deal.II library.
+##
+## The deal.II library is free software; you can use it, redistribute
+## it, and/or modify it under the terms of the GNU Lesser General
+## Public License as published by the Free Software Foundation; either
+## version 2.1 of the License, or (at your option) any later version.
+## The full text of the license can be found in the file LICENSE at
+## the top level of the deal.II distribution.
+##
+## ---------------------------------------------------------------------
+
+#
+# Set up all necessary bits for the changelog generation
+#
+IF(DEAL_II_COMPONENT_DOCUMENTATION)
+
+  MESSAGE(STATUS "")
+  MESSAGE(STATUS "Setting up changelog generation")
+
+  #
+  # Generate changes.h.
+  #
+  ADD_CUSTOM_COMMAND(
+    OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/changes.h
+    COMMAND 
+      ${CMAKE_CURRENT_SOURCE_DIR}/changes/create_changes_h.sh
+        > ${CMAKE_CURRENT_BINARY_DIR}/changes.h
+    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/changes
+    DEPENDS 
+      ${CMAKE_CURRENT_SOURCE_DIR}/changes/header
+      ${CMAKE_CURRENT_SOURCE_DIR}/changes/header_incompatibilities
+      ${CMAKE_CURRENT_SOURCE_DIR}/changes/header_major
+      ${CMAKE_CURRENT_SOURCE_DIR}/changes/header_minor
+      ${CMAKE_CURRENT_SOURCE_DIR}/changes/create_changes_h.sh
+  )
+
+  ADD_CUSTOM_TARGET(changelog ALL
+    DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/changes.h
+  )
+
+  ADD_DEPENDENCIES(documentation changelog)
+
+  #
+  # Install the static elements of the html documentation:
+  #
+
+ENDIF(DEAL_II_COMPONENT_DOCUMENTATION)
+

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.