From 7380720ae7a01f00acc2e85604124c53b827235e Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Fri, 9 Dec 2016 17:20:45 -0700 Subject: [PATCH] Make sure the 'changes.h' file is automatically generated. In particular, list it as an input to the doxygen run. --- doc/CMakeLists.txt | 3 ++- doc/doxygen/CMakeLists.txt | 7 +++++ doc/news/CMakeLists.txt | 52 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 doc/news/CMakeLists.txt diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 36fc773dc6..be790e7b5d 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -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) # diff --git a/doc/doxygen/CMakeLists.txt b/doc/doxygen/CMakeLists.txt index 0451e280c8..0f078911aa 100644 --- a/doc/doxygen/CMakeLists.txt +++ b/doc/doxygen/CMakeLists.txt @@ -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 index 0000000000..8cc793fc7a --- /dev/null +++ b/doc/news/CMakeLists.txt @@ -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) + -- 2.39.5