Skip to content

Commit

Permalink
Removed redundant BUILD_DOCS CMake variable.
Browse files Browse the repository at this point in the history
  • Loading branch information
Ward Fisher committed May 21, 2014
1 parent 8d5eafd commit 48a3aa5
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 65 deletions.
20 changes: 10 additions & 10 deletions CMakeLists.txt
Expand Up @@ -47,7 +47,8 @@ ENDIF()

# Determine if DOXYGEN and DOT are available. These will be used
# when building the documentation.
FIND_PROGRAM(NC_DOXYGEN NAMES doxygen)
#FIND_PROGRAM(NC_DOXYGEN NAMES doxygen)
FIND_PACKAGE(Doxygen)
FIND_PROGRAM(NC_DOT NAMES dot)

# For CMAKE_INSTALL_LIBDIR
Expand Down Expand Up @@ -329,7 +330,7 @@ MACRO(print_conf_summary)
MESSAGE("")
ENDIF()

MESSAGE("Tests Enabled: ${ENABLE_TESTS}")
MESSAGE("Tests Enabled: ${ENABLE_TESTS}")
IF(ENABLE_TESTS)
MESSAGE(STATUS "DAP Remote Tests: ${ENABLE_DAP_REMOTE_TESTS}")
MESSAGE(STATUS "DAP AUTH Tests: ${ENABLE_DAP_AUTH_TESTS}")
Expand Down Expand Up @@ -892,24 +893,22 @@ ENDIF()
# Determine whether or not to generate documentation.
OPTION(ENABLE_DOXYGEN "Enable generation of doxygen." OFF)
IF(ENABLE_DOXYGEN)
IF(NC_DOXYGEN)
SET(BUILD_DOCS ON CACHE BOOL "")

IF(DOXYGEN_FOUND)
# Offer the option to build internal documentation.
OPTION(ENABLE_INTERNAL_DOCS "Build internal documentation. This is of interest to developers only." OFF)
IF(ENABLE_INTERNAL_DOCS)
SET(BUILD_INTERNAL_DOCS YES CACHE STRING "")
ELSE()
SET(BUILD_INTERNAL_DOCS NO CACHE STRING "")
ENDIF()

# Option to turn on the TODO list in the doxygen-generated documentation.
OPTION(ENABLE_DOXYGEN_TASKS "Turn on test, todo, bug lists in documentation. This is of interest to developers only." OFF)
IF(ENABLE_DOXYGEN_TASKS)
SET(SHOW_DOXYGEN_TAG_LIST YES CACHE STRING "")
ELSE()
ELSE(ENABLE_DOXYGEN_TASKS)
SET(SHOW_DOXYGEN_TODO_LIST NO CACHE STRING "")
ENDIF()
ENDIF(ENABLE_DOXYGEN_TASKS)

# Specify whether or not 'dot' was found on the system path.
IF(NC_DOT)
Expand All @@ -918,9 +917,10 @@ IF(ENABLE_DOXYGEN)
SET(HAVE_DOT NO CACHE_STRING "")
ENDIF(NC_DOT)

ELSE(NC_DOXYGEN)
ELSE(DOXYGEN_FOUND)
MESSAGE(STATUS "Unable to build internal documentation. Doxygen does not appear to be on your executable path. Install doxygen and configure the project again.")
ENDIF(NC_DOXYGEN)
SET(ENABLE_DOXYGEN=OFF)
ENDIF(DOXYGEN_FOUND)
ENDIF()

# By default, MSVC has a stack size of 1000000.
Expand Down
2 changes: 2 additions & 0 deletions RELEASE_NOTES.md
Expand Up @@ -9,6 +9,8 @@ This file contains a high-level description of this package's evolution. Release

### 4.3.3-rc1 Released TBD

* Removed redundant variable `BUILD_DOCS` from the CMake configuration file. See the issue at github: [BUILD\_DOCS, ENABLE\_DOXYGEN](https://github.com/Unidata/netcdf-c/issues/59).

* Added missing documentation templates to `man4/Makefile.am`, to correct an issue when trying to build the local `Doxygen`-generated documentation. This issue was reported by Nico Schlömer and may be viewed on github. [Releases miss Doxygen files #56](https://github.com/Unidata/netcdf-c/issues/56)

* When the NC_MPIPOSIX flag is given for parallel I/O access and the HDF5 library does not have the MPI-POSIX VFD configured in, the NC_MPIPOSIX flag is transparently aliased to the NC_MPIIO flag within the netCDF-4 library.
Expand Down
111 changes: 56 additions & 55 deletions man4/CMakeLists.txt
Expand Up @@ -6,63 +6,64 @@ INCLUDE_DIRECTORIES(".")
#####
# Build doxygen documentation, if need be.
#####
IF(BUILD_DOCS)
FIND_PACKAGE(Doxygen)
IF(DOXYGEN_FOUND)
FILE(GLOB COPY_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.html ${CMAKE_CURRENT_SOURCE_DIR}/images ${CMAKE_CURRENT_SOURCE_DIR}/*.doc ${CMAKE_CURRENT_SOURCE_DIR}/*.xml ${CMAKE_CURRENT_SOURCE_DIR}/*.m4 ${CMAKE_CURRENT_SOURCE_DIR}/*.texi)
FILE(COPY ${COPY_FILES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
# Copy the image files used by markdown documentation
# manually.
FILE(GLOB IMG_FILES ${CMAKE_CURRENT_BINARY_DIR}/images/*.jpg ${CMAKE_CURRENT_BINARY_DIR}/images/*.png)

# Set abs_top_srcdir to work with the autotools
# doxyfile template.
SET(abs_top_srcdir ${CMAKE_SOURCE_DIR})
SET(abs_builddir ${CMAKE_CURRENT_BINARY_DIR})
# Create general and guide doxyfiles.
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in
${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.guide.in
${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.guide @ONLY)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.tutorial.in
${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.tutorial @ONLY)
IF(ENABLE_DOXYGEN)
# The following is redundant but does not hurt anything.

# We need to loop through twice. First to generate tags.
ADD_CUSTOM_TARGET(all_doc_tags ALL
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API Tags" VERBATIM
)
ADD_CUSTOM_TARGET(all_doc_tags_guide ALL
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.guide
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating Guide Tags" VERBATIM
)
ADD_CUSTOM_TARGET(all_doc_tags_tutorial ALL
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.tutorial
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating Tutorial Tags" VERBATIM
)
FILE(GLOB COPY_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.html ${CMAKE_CURRENT_SOURCE_DIR}/images ${CMAKE_CURRENT_SOURCE_DIR}/*.doc ${CMAKE_CURRENT_SOURCE_DIR}/*.xml ${CMAKE_CURRENT_SOURCE_DIR}/*.m4 ${CMAKE_CURRENT_SOURCE_DIR}/*.texi)
FILE(COPY ${COPY_FILES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)

# Copy the image files used by markdown documentation
# manually.
FILE(GLOB IMG_FILES ${CMAKE_CURRENT_BINARY_DIR}/images/*.jpg ${CMAKE_CURRENT_BINARY_DIR}/images/*.png)

# Set abs_top_srcdir to work with the autotools
# doxyfile template.
SET(abs_top_srcdir ${CMAKE_SOURCE_DIR})
SET(abs_builddir ${CMAKE_CURRENT_BINARY_DIR})
# Create general and guide doxyfiles.
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in
${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.guide.in
${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.guide @ONLY)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.tutorial.in
${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.tutorial @ONLY)

# We need to loop through twice. First to generate tags.
ADD_CUSTOM_TARGET(all_doc_tags ALL
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API Tags" VERBATIM
)
ADD_CUSTOM_TARGET(all_doc_tags_guide ALL
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.guide
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating Guide Tags" VERBATIM
)
ADD_CUSTOM_TARGET(all_doc_tags_tutorial ALL
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.tutorial
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating Tutorial Tags" VERBATIM
)

# Second, generate documentation that uses the tags.
ADD_CUSTOM_TARGET(doc_all ALL
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API Documentation" VERBATIM
)
ADD_CUSTOM_TARGET(doc_guide ALL
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.guide
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating NetCDF Users Guide" VERBATIM
)
ADD_CUSTOM_TARGET(doc_tutorial ALL
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.tutorial
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating Tutorial Tags" VERBATIM
)

# Second, generate documentation that uses the tags.
ADD_CUSTOM_TARGET(doc_all ALL
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API Documentation" VERBATIM
)
ADD_CUSTOM_TARGET(doc_guide ALL
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.guide
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating NetCDF Users Guide" VERBATIM
)
ADD_CUSTOM_TARGET(doc_tutorial ALL
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.tutorial
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating Tutorial Tags" VERBATIM
)

FILE(COPY ${IMG_FILES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/html)
ENDIF()
FILE(COPY ${IMG_FILES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/html)

ENDIF()

SET(CUR_EXTRA_DIST ${CUR_EXTRA_DIST} CMakeLists.txt Makefile.am netcdf.m4 DoxygenLayout.xml Doxyfile.in Doxyfile.guide.in footer.html mainpage.dox tutorial.dox install.dox dispatch.dox guide.dox types.dox notes.dox cdl.dox architecture.dox internal.dox install-fortran.dox Doxyfile.in.cmake windows-binaries.md building-with-cmake.md)
Expand Down

0 comments on commit 48a3aa5

Please sign in to comment.