From 7dee41eb0c7ae27f8e026bc655c1672f4275bd18 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Mon, 21 Feb 2011 23:35:24 -0500 Subject: [PATCH] Fixed "make docs" for out-of-tree builds. Also: this automatically updates the version number in the docs, so I don't have to with each release. (transplanted from 72778f1e98f06c1e02f88dc8d263027d61469766) --- CMakeLists.txt | 18 +++++++++++++++++- docs/Doxyfile | 3 ++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 87795634..77712799 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -560,7 +560,23 @@ INSTALL(FILES src/physfs.h DESTINATION include) FIND_PACKAGE(Doxygen) IF(DOXYGEN_FOUND) - ADD_CUSTOM_TARGET(docs ${DOXYGEN_EXECUTABLE} COMMENT "Building documentation") + SET(PHYSFS_OUTPUT_DOXYFILE "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile") + CONFIGURE_FILE( + "${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile" + "${PHYSFS_OUTPUT_DOXYFILE}" + COPYONLY + ) + FILE(APPEND "${PHYSFS_OUTPUT_DOXYFILE}" "\n\n# Below auto-generated by cmake...\n\n") + FILE(APPEND "${PHYSFS_OUTPUT_DOXYFILE}" "PROJECT_NUMBER = ${PHYSFS_VERSION}\n") + FILE(APPEND "${PHYSFS_OUTPUT_DOXYFILE}" "OUTPUT_DIRECTORY = ${CMAKE_CURRENT_BINARY_DIR}/docs\n") + FILE(APPEND "${PHYSFS_OUTPUT_DOXYFILE}" "\n# End auto-generated section.\n\n") + + ADD_CUSTOM_TARGET( + docs + ${DOXYGEN_EXECUTABLE} "${PHYSFS_OUTPUT_DOXYFILE}" + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + COMMENT "Building documentation in 'docs' directory..." + ) ELSE(DOXYGEN_FOUND) MESSAGE(STATUS "Doxygen not found. You won't be able to build documentation.") ENDIF(DOXYGEN_FOUND) diff --git a/docs/Doxyfile b/docs/Doxyfile index 798a7c2d..e650fd2b 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -23,7 +23,8 @@ PROJECT_NAME = physfs # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.0.0 +# (CMake will set this properly at build time. --ryan.) +PROJECT_NUMBER = unknown_version # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put.