From 73a301df34c343052f2409b940a13174398cd47b Mon Sep 17 00:00:00 2001
From: ralfulrich <ralf.ulrich@kit.edu>
Date: Thu, 26 Nov 2020 09:24:55 +0100
Subject: [PATCH] basic doc setup

---
 CMakeLists.txt               |  1 +
 documentation/CMakeLists.txt | 33 +++++++++++++++++++++++++++++++++
 documentation/Doxyfile.in    |  8 ++++----
 modules/conex                |  2 +-
 4 files changed, 39 insertions(+), 5 deletions(-)
 create mode 100644 documentation/CMakeLists.txt

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6fbdbd68a..411e5faa3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -221,6 +221,7 @@ target_link_libraries (
   )
 # those are needed, since some headers (namely GeneratedParticleProperties.inc) are produced by python script from ParticleData.xml
 add_subdirectory (src)
+add_subdirectory (documentation)
 #
 #
 #+++++++++++++++++++++++++++++
diff --git a/documentation/CMakeLists.txt b/documentation/CMakeLists.txt
new file mode 100644
index 000000000..b3511f84d
--- /dev/null
+++ b/documentation/CMakeLists.txt
@@ -0,0 +1,33 @@
+find_package (Doxygen OPTIONAL_COMPONENTS dot mscgen dia)
+
+if (DOXYGEN_FOUND)
+  if (NOT DOXYGEN_DOT_EXECUTABLE)
+    message (FATAL_ERROR "Found doxygen but not 'dot' command, please install graphviz or set DOXYGEN_DOT_EXECUTABLE")
+  endif()
+
+  set (DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in)
+  set (DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
+  set (DOXYGEN_GENERATE_HTML YES)
+  set (DOXYGEN_GENERATE_MAN YES)
+  configure_file (${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY)
+  message ("Start doxygen with \"make doxygen\"")
+  
+  # note the option ALL which allows to build the docs together with the application
+  add_custom_target (doxygen # ALL
+    COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
+    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+    COMMENT "Generating API documentation with Doxygen"
+    VERBATIM)
+
+  add_custom_command(TARGET doxygen POST_BUILD
+    COMMAND cd ${CMAKE_CURRENT_BINARY_DIR}/latex; pdflatex refman.tex
+    )
+  
+  install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION share/doc OPTIONAL)
+  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.pdf DESTINATION share/doc OPTIONAL)
+         
+else (DOXYGEN_FOUND)
+  
+  message ("Doxygen need to be installed to generate the doxygen documentation")
+  
+endif (DOXYGEN_FOUND)
diff --git a/documentation/Doxyfile.in b/documentation/Doxyfile.in
index 355d1903b..0c7e5ca2f 100644
--- a/documentation/Doxyfile.in
+++ b/documentation/Doxyfile.in
@@ -1,4 +1,4 @@
-ePROJECT_NAME           = CORSIKA 8
+PROJECT_NAME           = CORSIKA 8
 PROJECT_NUMBER         = 0.0.0
 
 GENERATE_HTML          = YES
@@ -6,12 +6,12 @@ GENERATE_LATEX         = YES
 GENERATE_XML           = YES
 
 OUTPUT_DIRECTORY       = @CMAKE_CURRENT_BINARY_DIR@/
-INPUT                  = @PROJECT_SOURCE_DIR@ @PROJECT_BINARY_DIR@/Framework
-EXCLUDE_PATTERNS       = */ThirdParty/*/* */build*/corsika/*
+INPUT                  = @PROJECT_SOURCE_DIR@/corsika @PROJECT_SOURCE_DIR@/src
+EXCLUDE_PATTERNS       = *.inl
 FULL_PATH_NAMES        = YES
 STRIP_FROM_PATH        = @PROJECT_SOURCE_DIR@
 
-FILE_PATTERNS          = *.cc *.cpp *.cxx *.h *.hpp *.dox *.inc *.md
+FILE_PATTERNS          = *.cpp *.hpp *.dox *.md
 EXTENSION_MAPPING      = inc=C++
 RECURSIVE              = YES
 
diff --git a/modules/conex b/modules/conex
index c228d89b4..c17fc68bd 160000
--- a/modules/conex
+++ b/modules/conex
@@ -1 +1 @@
-Subproject commit c228d89b485ed0fa0822c64d5f12e53e32d2915d
+Subproject commit c17fc68bd35612e1b610ce2b43e84e91577b8a86
-- 
GitLab