This repository was archived by the owner on Jun 17, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 26
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
50 lines (43 loc) · 2.18 KB
/
CMakeLists.txt
File metadata and controls
50 lines (43 loc) · 2.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# This script will build the doxygen based documentation for the omsi runtime
#
# The following variables are used to modify the configuration file of doxygen.
#
# TEMPLATE_ROOT_DIR the root folder for all html and css files that define the layout and style
# IMAGE_ROOT_DIR path to the root folder containing the images
# SOURCE_ROOT_DIR path to the folder of the simulation runtime code
# ADDITIONAL_DOC_ROOT_DIR path to the folder containing additional doxygen files
#
# The behaviour can be influenced by passing arguments to CMAKE
# if write output should be handled in parallel -DSOURCE_ROOT=PATH
# if ScoreP should be used for performance analysis -DTARGET_PATH=PATH
#
CMAKE_MINIMUM_REQUIRED (VERSION 2.8.6)
PROJECT(CppSolverInterface)
set(CMAKE_VERBOSE_MAKEFILE ON)
LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/CMake")
MESSAGE(STATUS "CMake version ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}")
FIND_PACKAGE(Doxygen)
IF(NOT(SOURCE_ROOT))
MESSAGE(FATAL_ERROR "Please specify the root directory of the c++ sources.")
ENDIF(NOT(SOURCE_ROOT))
SET(SOURCE_ROOT_DIR ${SOURCE_ROOT})
IF(NOT(TARGET_PATH))
MESSAGE(STATUS "Target path was not set, so the current binary dir is used.")
SET(TARGET_PATH ${CMAKE_CURRENT_BINARY_DIR})
ENDIF(NOT(TARGET_PATH))
SET(TEMPLATE_ROOT_DIR "../../doxygen")
SET(IMAGE_ROOT_DIR "./Images")
SET(ADDITIONAL_DOC_ROOT_DIR "./")
if (NOT DOXYGEN_FOUND)
message(FATAL_ERROR "Doxygen is needed to build the documentation. Please install it correctly")
endif()
MESSAGE(STATUS "Build the documentation with Doxygen")
#-- Configure the Template Doxyfile for our specific project
configure_file(OmsiRuntimeDoc.config.in
${PROJECT_BINARY_DIR}/OmsiRuntimeDoc.config @ONLY IMMEDIATE)
#-- Add a custom target to run Doxygen when ever the project is built
add_custom_target (Docs ALL
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/OmsiRuntimeDoc.config
WORKING_DIRECTORY ${TARGET_PATH}
COMMENT "Generating API documentation with Doxygen" VERBATIM
)