Salome HOME
fix: remove ref to adm_local in CMakeLists.txt
[tools/medcoupling.git] / doc / developer / doxygen / CMakeLists.txt
index 163d6e491210e61e5a6469d8492ad065887f463d..47142f4ae8039727d69a6be101646b47db6c51f0 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2023  CEA, EDF
+# Copyright (C) 2012-2024  CEA, EDF
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -18,7 +18,7 @@
 #
 
 # Set MEDCOUPLING_SERVER_BASED_SEARCH=ON when building docs for putting on www.salome-platform.org
-# MEDCOUPLING_SERVER_BASED_SEARCH is used in Doxyfile_med_dev
+# MEDCOUPLING_SERVER_BASED_SEARCH is used in Doxyfile
 #
 IF(MEDCOUPLING_SERVER_BASED_SEARCH)
   SET(MEDCOUPLING_SERVER_BASED_SEARCH "YES")
@@ -26,20 +26,22 @@ ELSE()
   SET(MEDCOUPLING_SERVER_BASED_SEARCH "NO")
 ENDIF()
 
-SALOME_CONFIGURE_FILE(Doxyfile_med_dev.in Doxyfile_med_dev)
-SALOME_CONFIGURE_FILE(static/header.html.in static/header.html)
+configure_file(Doxyfile.in Doxyfile @ONLY)
+configure_file(static/header.html.in static/header.html @ONLY)
 
 
-IF(MEDCOUPLING_ENABLE_PYTHON)
+IF(NOT MEDCOUPLING_ENABLE_PYTHON)
+  ADD_CUSTOM_TARGET(doxygen_documentation
+    COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile
+    VERBATIM
+    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+  )
+ELSE()
   INCLUDE(doxy2swig/doxy2swig.cmake)
 
-  FILE(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}/tmp/medcouplingexamples.in" input)
-  FILE(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/BuildPyExamplesFromCPP.py" pythondocexamplesgenerator)
-  FILE(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}" output)
-
-  # :TRICKY: For ease of maintenance, documentation for code examples is
-  # splitted in several files. We here splice to a single file before running
-  # Doxygen.
+  # >>>>>>>>>>>>>>>>
+  # For ease of maintenance, documentation for code examples is splitted in
+  # several files. We here splice to a single file before running Doxygen.
 
   SET(EXAMPLE_FILES # files to concatenate: order is important!
     doxfiles/examples/medcouplingexamplesheader.doxy
@@ -56,6 +58,10 @@ IF(MEDCOUPLING_ENABLE_PYTHON)
     FILE(APPEND ${OUT_FILE} ${CONTENTS})
   ENDFUNCTION()
 
+  FILE(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}/tmp/medcouplingexamples.in" input)
+  FILE(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/BuildPyExamplesFromCPP.py" pythondocexamplesgenerator)
+  FILE(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}" output)
+
   # Prepare a temporary file to "concat" to:
   FILE(WRITE ${input} "")
   # Call the "concat" function for each example file
@@ -64,47 +70,38 @@ IF(MEDCOUPLING_ENABLE_PYTHON)
   ENDFOREACH()
   # Note: The reason for writing to a temporary is so the real target file only
   # gets updated if its content has changed.
+  # <<<<<<<<<<<<<<<<
 
-  # Here is the "standard" procedure, as if ${input} was hand-written.
-  ADD_CUSTOM_TARGET(dev_docs ALL
+  ADD_CUSTOM_TARGET(doxygen_documentation
     COMMAND ${PYTHON_EXECUTABLE} ${pythondocexamplesgenerator} ${input} ${output}
-    COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile_med_dev
+    COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile
     VERBATIM
     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
   )
 
   # Create dummy target gathering the generation of all .i files:
   ADD_CUSTOM_TARGET(swig_ready)
-  ADD_DEPENDENCIES(swig_ready dev_docs)
+  ADD_DEPENDENCIES(swig_ready doxygen_documentation)
 
-  MEDCOUPLING_SWIG_DOCSTRING_CONFIGURE(dev_docs swig_ready MEDCoupling)
-  MEDCOUPLING_SWIG_DOCSTRING_CONFIGURE(dev_docs swig_ready MEDLoader)
+  MEDCOUPLING_SWIG_DOCSTRING_CONFIGURE(doxygen_documentation swig_ready MEDCoupling)
+  MEDCOUPLING_SWIG_DOCSTRING_CONFIGURE(doxygen_documentation swig_ready MEDLoader)
 
-  SET(doxyfile_med_dev ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_med_dev)
-  FILE(STRINGS ${doxyfile_med_dev} enabled_sections REGEX "ENABLED_SECTIONS")
+  SET(doxyfile_path ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
+  FILE(STRINGS ${doxyfile_path} enabled_sections REGEX "ENABLED_SECTIONS")
   IF(enabled_sections)
-    FILE(READ ${doxyfile_med_dev} doxy_file)
-    STRING(REPLACE ${enabled_sections} "${enabled_sections} ENABLE_EXAMPLES" new_doxy_file ${doxy_file})
-    FILE(WRITE ${doxyfile_med_dev} ${new_doxy_file})
+    FILE(READ ${doxyfile_path} doxyfile_content)
+    STRING(REPLACE ${enabled_sections} "${enabled_sections} ENABLE_EXAMPLES" new_doxyfile ${doxyfile_content})
+    FILE(WRITE ${doxyfile_path} ${new_doxyfile})
   ELSE()
-    FILE(APPEND ${doxyfile_med_dev}
+    FILE(APPEND ${doxyfile_path}
       "#Temporary variable to enable python documentation sections\nENABLED_SECTIONS = ENABLE_EXAMPLES")
   ENDIF()
 
   # Swig generation to have docstrings correctly populated:
   INCLUDE(doxy2swig/doxy2swig.cmake)
-
-ELSE()
-  ADD_CUSTOM_TARGET(dev_docs ALL
-    COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile_med_dev
-    VERBATIM
-    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-  )
 ENDIF()
 
-#INSTALL(CODE "EXECUTE_PROCESS(COMMAND \"${CMAKE_COMMAND}\" --build ${PROJECT_BINARY_DIR} --target dev_docs)")
 INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc_ref_dev/html/ DESTINATION ${MEDCOUPLING_INSTALL_DOC}/developer)
-#INSTALL(FILES images/head.png DESTINATION ${MEDCOUPLING_INSTALL_DOC}/developer)
 
 SET(MAKE_CLEAN_FILES doc_ref_dev tmp)
 SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${MAKE_CLEAN_FILES}")