I am trying to add doxygen output to my installation package made via NSIS. I 
want to allow the user to install the C++ API documentation. I would like the 
install page of the NSIS wizard to look like:
 
Development
     |---- C++ Headers
     |---- Documentation
Runtime
     |---- Libraries
 
Right now I don't see the "Documentation" option. So I will lay out my setup 
below. What am I doing wrong that I don't see "Documentation" on the "Choose 
Component" page?
 
Stephen
 
----------------------------------------------------------------------------------------------------------------------------------------
                                                 Parent CMakeLists.txt
----------------------------------------------------------------------------------------------------------------------------------------
 
#-----------------------------------------------------

# CPACK

#-----------------------------------------------------

#-----------------------------

# CPACK DESCRIPTION INFORMATION

#-----------------------------

SET(CPACK_PACKAGE_NAME "Project")

SET(CPACK_PACKAGE_VENDOR "Work")

SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Project text")

SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt")

SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")

SET(CPACK_PACKAGE_VERSION "0.2.0")

SET(CPACK_PACKAGE_VERSION_MAJOR "0")

SET(CPACK_PACKAGE_VERSION_MINOR "2")

SET(CPACK_PACKAGE_VERSION_PATCH "0")

SET(CPACK_PACKAGE_INSTALL_DIRECTORY "Project ${CPACK_PACKAGE_VERSION}")

#-----------------------------------------------------

# DOCUMENTATION

#-----------------------------------------------------

find_package ( Doxygen )

IF(DOXYGEN)

ADD_SUBDIRECTORY(documentation)

ELSE(DOXYGEN)

MESSAGE(STATUS "WARNING: Doxygen not found - API documentation not created")

ENDIF(DOXYGEN)

#-----------------------------

# INSTALLATION INFORMATION

#-----------------------------

SET(CPACK_COMPONENTS_ALL libraries devel)

SET(CPACK_COMPONENT_LIBRARIES_DISPLAY_NAME "Libraries")

SET(CPACK_COMPONENT_LIBRARIES_DESCRIPTION "Dynamic library used to build 
programs with Interface")

SET(CPACK_COMPONENT_DEVEL_DISPLAY_NAME "C++ Headers")

SET(CPACK_COMPONENT_DEVEL_DESCRIPTION "C++ header files for use with Interface")

SET(CPACK_COMPONENT_DEVEL_DEPENDS libraries)

SET(CPACK_COMPONENT_DOCS_DISPLAY_NAME "C++ API Documentation")

SET(CPACK_COMPONENT_DOCS_DESCRIPTION "C++ API HTML files describing the API for 
Interface")

SET(CPACK_COMPONENT_LIBRARIES_GROUP "Runtime")

SET(CPACK_COMPONENT_DEVEL_GROUP "Development")

SET(CPACK_COMPONENT_DOCS_GROUP "Development")

SET(CPACK_COMPONENT_GROUP_DEVELOPMENT_DESCRIPTION "All of the tools necessary 
to develop against the Interface")

#-----------------------------

# INSTALLATION TYPES

#-----------------------------

SET(CPACK_ALL_INSTALL_TYPES Full Runtime Developer)

SET(CPACK_COMPONENT_LIBRARIES_INSTALL_TYPES Full Developer Runtime)

SET(CPACK_COMPONENT_DEVEL_INSTALL_TYPES Full Developer)

SET(CPACK_COMPONENT_DOCS_INSTALL_TYPES Full Developer)

IF (WIN32)

SET(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\InstallIcon.bmp")

SET(CPACK_NSIS_MODIFY_PATH ON)

SET(CPACK_GENERATOR "NSIS")

ELSE (UNIX)

SET(CPACK_GENERATOR "STGZ;TGZ;RPM")

ENDIF(WIN32)

# Always include this last.

INCLUDE(CPack)

----------------------------------------------------------------------------------------------------------------------------------------
                                                 Documentation CMakeLists.txt
----------------------------------------------------------------------------------------------------------------------------------------
# prepare doxygen configuration file

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in 
${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)

# add doxygen as target

add_custom_target(doxygen ${DOXYGEN_EXECUTABLE} 
${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)

# cleanup $build/api-doc on "make clean"

set_property(DIRECTORY APPEND PROPERTY

ADDITIONAL_MAKE_CLEAN_FILES api-doc)

# add doxygen as dependency to doc-target

get_target_property(DOC_TARGET doc TYPE)

if(NOT DOC_TARGET)

add_custom_target(doc)

endif()

add_dependencies(doc doxygen)

# install HTML API documentation and manual pages

set(DOC_PATH "share/doc/${CPACK_PACKAGE_NAME}-${VERSION}")

install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/api-doc/html

DESTINATION ${DOC_PATH}

COMPONENT docs )

IF(UNIX)

# install man pages into packages, scope is now project root..

install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/api-doc/man/man3

DESTINATION share/man/man3/

)

ENDIF(UNIX

 
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to