https://github.com/feelpp/feelpp
Tip revision: e7271334772345af6e9b7a027f72330ab485bb16 authored by Christophe Prud'homme on 16 May 2015, 21:30:01 UTC
Conflicts:
Conflicts:
Tip revision: e727133
CMakeLists.txt
### TEMPLATE.txt.tpl; coding: utf-8 ---
# Author(s): Christophe Prud'homme <christophe.prudhomme@feelpp.org>
# Date: 2013-02-18
#
# Copyright (C) 2013-2015 Feel++ Consortium
#
# Distributed under the GPL(GNU Public License):
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
#
# Set to "ON" if you want the LaTeX documentation to be built.
set(DOXYFILE_LATEX 1)
if( FEELPP_ENABLE_DOXYGEN )
find_program(DOXYGEN doxygen)
if( DOXYGEN )
## We extract the cmake option for the documentation
execute_process(
COMMAND
/bin/bash ${CMAKE_CURRENT_SOURCE_DIR}/extract_command.sh ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE FEELPP_ENABLE_LISTE
)
# doxygen is optional
include(UseDoxygen OPTIONAL)
# make sure that doxygen is not run byt default
set_target_properties(doxygen PROPERTIES EXCLUDE_FROM_ALL TRUE)
# add subpages to projects/modules
#configure_file(
# ${CMAKE_CURRENT_SOURCE_DIR}/pages.doc.in
# ${CMAKE_CURRENT_SOURCE_DIR}/pages.doc
#)
set(FEELPP_PROJECTS_DIR,"")
set(FEELPP_DOXYGEN_PROJECT "OFF")
# if projects have been detected
foreach(project ${projects})
#get shortname
GET_FILENAME_COMPONENT(dirname ${project} NAME)
#define option to control doc generation
string(TOUPPER ${dirname} PROJECT)
if (FEELPP_ENABLE_${PROJECT}_DOCUMENTATION )
set(FEELPP_DOXYGEN_PROJECT "ON")
endif()
endforeach()
if(${FEELPP_DOXYGEN_PROJECT})
FILE(APPEND ${CMAKE_CURRENT_SOURCE_DIR}/pages.md "\\page Project Project\n")
endif()
foreach(project ${projects})
#get shortname
GET_FILENAME_COMPONENT(dirname ${project} NAME)
#define option to control doc generation
string(TOUPPER ${dirname} PROJECT)
if (FEELPP_ENABLE_${PROJECT}_DOCUMENTATION )
set(FEELPP_PROJECTS_DIR ${FEELPP_PROJECTS_DIR} "\"${CMAKE_SOURCE_DIR}/research/${project}/\" \\ \n")
FILE(APPEND ${CMAKE_CURRENT_SOURCE_DIR}/pages.md " - \\subpage ${dirname}\n")
MESSAGE(STATUS "Doxygen Documention for ${project} will be generated")
endif()
endforeach()
FILE(APPEND ${CMAKE_CURRENT_SOURCE_DIR}/pages.md "\n")
#set(FEELPP_PROJECTS_DIR ${FEELPP_PROJECTS_DIR} "\"\" \n") #force empty directory
STRING(REPLACE ";" " " _TMP_STR "${FEELPP_PROJECTS_DIR}")
SET(FEELPP_PROJECTS_DIR "${_TMP_STR}")
FILE(APPEND ${CMAKE_CURRENT_SOURCE_DIR}/pages.md "\n\n")
#
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in
${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
)
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/latexheader.tex.in
${CMAKE_CURRENT_BINARY_DIR}/latexheader.tex
)
file(GLOB LOGOS "${CMAKE_CURRENT_SOURCE_DIR}/pngs/logos/*")
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html)
foreach(logo ${LOGOS})
GET_FILENAME_COMPONENT(logoname ${logo} NAME)
configure_file( ${logo} "${CMAKE_CURRENT_BINARY_DIR}/html/${logoname}" COPYONLY)
endforeach()
else()
message(FATAL_ERROR "The Doxygen documentation is enabled, but the doxygen executable was not found. Make sure it is installed and accessible using find_program(...).")
endif()
endif()