Skip to content

Commit

Permalink
cmake: Refactor the doc target.
Browse files Browse the repository at this point in the history
  • Loading branch information
bobekjan committed Jun 28, 2012
1 parent 127e3f0 commit 659e3a5
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 44 deletions.
8 changes: 7 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ CHECK_CXX_SYMBOL_EXISTS( SO_NOSIGPIPE "sys/socket.h" HAVE_SO_NOSIGPIPE )
# Packages #
############
FIND_PACKAGE( "Boost" REQUIRED )
FIND_PACKAGE( "Doxygen" )
FIND_PACKAGE( "MySQL" REQUIRED )
FIND_PACKAGE( "Threads" REQUIRED )
FIND_PACKAGE( "ZLIB" REQUIRED )
Expand Down Expand Up @@ -193,7 +194,6 @@ IF( EVEMU_TARGETS_IMPORT )
ENDIF( EVEMU_TARGETS_IMPORT )

# Add all targets
ADD_SUBDIRECTORY( "doc" )
ADD_SUBDIRECTORY( "src/eve-core" )
ADD_SUBDIRECTORY( "src/eve-xmlpktgen" )
ADD_SUBDIRECTORY( "src/eve-common" )
Expand All @@ -202,6 +202,12 @@ ADD_SUBDIRECTORY( "src/eve-collector" )
ADD_SUBDIRECTORY( "src/eve-tool" )
ADD_SUBDIRECTORY( "src/eve-test" )

IF( DOXYGEN_FOUND )
ADD_SUBDIRECTORY( "doc" )
ELSE()
MESSAGE( WARNING "If you require generated documentation, please install Doxygen" )
ENDIF( DOXYGEN_FOUND )

###############
# CPack setup #
###############
Expand Down
69 changes: 26 additions & 43 deletions doc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,46 +4,29 @@
# Author: Bloody.Rabbit
#

################
# Dependencies #
################
FIND_PACKAGE( "Doxygen" )

IF( NOT DOXYGEN_FOUND )
MESSAGE( WARNING "If you require generated documentation, please install Doxygen" )
RETURN()
ENDIF( NOT DOXYGEN_FOUND )

##############
# Initialize #
##############
SET( TARGET_NAME "doc" )
SET( TARGET_SOURCE_DIR "${PROJECT_SOURCE_DIR}/${TARGET_NAME}" )
SET( TARGET_BINARY_DIR "${PROJECT_BINARY_DIR}/${TARGET_NAME}" )

#########
# Files #
#########
SET( DOXYGEN_TEMPLATE "${TARGET_SOURCE_DIR}/Doxyfile.in" )
SET( DOXYGEN_INPUT "${TARGET_BINARY_DIR}/Doxyfile" )
SET( DOXYGEN_OUTPUT "${TARGET_BINARY_DIR}/html" )

CONFIGURE_FILE( "${DOXYGEN_TEMPLATE}"
"${DOXYGEN_INPUT}"
ESCAPE_QUOTES @ONLY )

########################
# Setup the generation #
########################
ADD_CUSTOM_COMMAND( OUTPUT ${DOXYGEN_OUTPUT}
COMMAND "${DOXYGEN_EXECUTABLE}" ARGS "${DOXYGEN_INPUT}"
DEPENDS "${DOXYGEN_INPUT}"
COMMENT "Generating documentation ..."
VERBATIM )

ADD_CUSTOM_TARGET( "${TARGET_NAME}" ALL
DEPENDS ${DOXYGEN_OUTPUT}
SOURCES "${DOXYGEN_TEMPLATE}" )

INSTALL( DIRECTORY ${DOXYGEN_OUTPUT}
DESTINATION "doc/${PROJECT_NAME}-${PROJECT_VERSION}" )
SET( DOXYGEN_OUTPUT
"${CMAKE_CURRENT_BINARY_DIR}/html"
)

CONFIGURE_FILE(
"Doxyfile.in"
"Doxyfile"
ESCAPE_QUOTES @ONLY
)
ADD_CUSTOM_COMMAND(
OUTPUT ${DOXYGEN_OUTPUT}
COMMAND "${DOXYGEN_EXECUTABLE}" ARGS "Doxyfile"
DEPENDS "Doxyfile"
COMMENT "Generating documentation ..."
VERBATIM
)
ADD_CUSTOM_TARGET(
"doc" ALL
DEPENDS ${DOXYGEN_OUTPUT}
SOURCES "Doxyfile.in"
)

INSTALL(
DIRECTORY ${DOXYGEN_OUTPUT}
DESTINATION "share/doc/${PROJECT_NAME}"
)

0 comments on commit 659e3a5

Please sign in to comment.