changed: adjust doxyfile for reuse in applications

This commit is contained in:
Arne Morten Kvarving
2017-01-30 14:28:45 +01:00
parent 3aefbb22ba
commit a37e6dc6f5
5 changed files with 26 additions and 13 deletions

View File

@@ -12,10 +12,6 @@ set(IFEM_ABI_VERSION ${IFEM_VERSION_MAJOR}.${IFEM_VERSION_MINOR})
configure_file(${PROJECT_SOURCE_DIR}/src/IFEM.h.in
IFEM.h @ONLY)
# Generate doxy in build tree
configure_file(${PROJECT_SOURCE_DIR}/Doxyfile.in
Doxyfile @ONLY)
# Required defines (well, PROFILE_LEVEL is not actually required, but...)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DReal=double -DepsZ=1.0e-12 -DPROFILE_LEVEL=3")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DINDEX_CHECK=2")
@@ -125,14 +121,23 @@ target_link_libraries(IFEM ${IFEM_DEPLIBS})
set_target_properties(IFEM PROPERTIES VERSION ${IFEM_VERSION}
SOVERSION ${IFEM_ABI_VERSION})
set(IFEM_PATH ${PROJECT_SOURCE_DIR})
if(NOT IFEM_SUBTREE_BUILD AND NOT IFEM_AS_SUBMODULE)
set(EXTRA_DOXY_PATHS ${PROJECT_SOURCE_DIR}/doc)
endif()
# Generate doxy in build tree
configure_file(${PROJECT_SOURCE_DIR}/doc/Doxyfile.in
Doxyfile @ONLY)
# For generating the doxy
add_custom_target(lib_doc doxygen ${PROJECT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
COMMENT "Generating API documentation" VERBATIM)
if(NOT TARGET doc)
if(NOT TARGET doc AND NOT IFEM_AS_SUBMODULE)
add_custom_target(doc)
add_dependencies(doc lib_doc)
endif()
add_dependencies(doc lib_doc)
if(NOT IFEM_AS_SUBMODULE AND NOT IFEM_COMMON_APP_BUILD)
set(IFEM_INTREE_BUILD ON)
@@ -202,8 +207,7 @@ else()
install(FILES src/IFEM-test.C DESTINATION lib/IFEM/src)
# documentation and license
option(INSTALL_DOXY "Install doxy with installation target?" ON)
if(INSTALL_DOXY)
if(IFEM_INSTALL_DOXY)
install(CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_BUILD_TOOL} doc WORKING_DIRECTORY \"${CMAKE_CURRENT_BINARY_DIR}\")" COMPONENT doc)
install(DIRECTORY ${PROJECT_BINARY_DIR}/doc/html DESTINATION ${CMAKE_INSTALL_DOCDIR}
COMPONENT doc

View File

@@ -238,3 +238,6 @@ list(APPEND IFEM_DEPLIBS ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES})
include_directories(${IFEM_INCLUDE_DIRS})
add_definitions(${IFEM_DEFINITIONS})
set(IFEM_CHECKCOMMITS_SCRIPT ${IFEM_PATH}/cmake/Scripts/CheckCommits.cmake)
if(NOT CMAKE_INSTALL_DOCDIR)
set(CMAKE_INSTALL_DOCDIR libifem1)
endif()

View File

@@ -15,3 +15,4 @@ OPTION(IFEM_AS_SUBMODULE "Compile IFEM as a submodule of apps?" OFF)
OPTION(IFEM_WHOLE_PROG_OPTIM "Compile IFEM with link-time optimizations?" OFF)
OPTION(IFEM_TEST_MEMCHECK "Run tests through valgrind?" OFF)
OPTION(IFEM_SERIAL_TESTS_IN_PARALLEL "Run serial tests in parallel builds?" ON)
OPTION(IFEM_INSTALL_DOXY "Install documentation?" ON)

View File

@@ -15,6 +15,7 @@ if(NOT IFEM_FOUND)
set(IFEM_REGTEST_SCRIPT ${IFEM_PATH}/scripts/regtest.sh.in)
set(IFEM_CHECKCOMMITS_SCRIPT ${IFEM_PATH}/CheckCommits.cmake)
set(CMAKE_INSTALL_DOCDIR @CMAKE_INSTALL_DOCDIR@)
add_library(IFEMAppCommon STATIC IMPORTED)
set_target_properties(IFEMAppCommon PROPERTIES IMPORTED_LOCATION

View File

@@ -25,7 +25,7 @@ DOXYFILE_ENCODING = UTF-8
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
PROJECT_NAME = IFEM
PROJECT_NAME = @CMAKE_PROJECT_NAME@
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or
@@ -564,10 +564,14 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
INPUT = doc src \
src/SIM src/ASM src/ASM/LR \
src/Eig src/LinAlg src/Utility \
@PROJECT_BINARY_DIR@
INPUT = @IFEM_PATH@/src \
@IFEM_PATH@/src/SIM @IFEM_PATH@/src/ASM \
@IFEM_PATH@/src/ASM/LR \
@IFEM_PATH@/src/Eig @IFEM_PATH@/src/LinAlg \
@IFEM_PATH@/src/Utility \
@IFEM_PATH@/Apps/Common \
@PROJECT_BINARY_DIR@ \
@EXTRA_DOXY_PATHS@
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is