Skip to content
This repository was archived by the owner on Sep 28, 2021. It is now read-only.

Commit 5c87f73

Browse files
committed
doc: reporg sphinx generation
1 parent 033298f commit 5c87f73

1 file changed

Lines changed: 55 additions & 50 deletions

File tree

share/doc/CMakeLists.txt

Lines changed: 55 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,59 @@
1-
if(NOT VOTCA_SPHINX_DIR)
2-
set(VOTCA_SPHINX_DIR "${CMAKE_CURRENT_BINARY_DIR}")
3-
endif()
4-
5-
set(NOTEBOOKS "GROMACS/Methane/QMMM_GROMACS.ipynb")
6-
list(APPEND NOTEBOOKS "LAMMPS/Thiophene/QMMM_LAMMPS.ipynb")
7-
list(APPEND NOTEBOOKS "tools/dftgwbse_CH4/DFTGWBSE_ENERGY.ipynb")
8-
list(APPEND NOTEBOOKS "tools/dftgwbse_CO_geoopt/DFTGWBSE_OPTIMIZATION.ipynb")
9-
# list(APPEND NOTEBOOKS "GROMACS/KMC_Methane/GROMACS_KMC.ipynb")
10-
list(APPEND NOTEBOOKS "LAMMPS/KMC_Thiophene/LAMMPS_KMC.ipynb")
11-
12-
find_package(JUPYTER_NBCONVERT 5.4.1)
13-
find_package(SPHINX 2.1)
14-
set(NEW_NOTEBOOKS)
15-
16-
if(JUPYTER_NBCONVERT_FOUND AND SPHINX_FOUND)
17-
enable_language(CXX) # to detect xtp
18-
find_package(VOTCA_XTP REQUIRED NO_MODULE)
19-
set_package_properties(VOTCA_XTP PROPERTIES TYPE REQUIRED PURPOSE "Votca xtp library")
20-
if(DEFINED VOTCA_XTP_VERSION AND NOT VOTCA_XTP_VERSION STREQUAL PROJECT_VERSION)
21-
message(FATAL_ERROR "Incompatible VOTCA XTP version found (needed ${PROJECT_VERSION}, found ${VOTCA_XTP_VERSION})")
22-
endif()
23-
message(STATUS "Found VOTCA_XTP: ${VOTCA_XTP_DIR}")
24-
25-
get_target_property(XTP_PATH VOTCA::votca_xtp XTP_PATH)
26-
get_target_property(VOTCASHARE VOTCA::votca_xtp VOTCA_SHARE)
27-
foreach(_notebook ${NOTEBOOKS})
28-
get_filename_component(_FILE "${_notebook}" NAME_WE)
29-
get_filename_component(_DIR "${_notebook}" DIRECTORY)
30-
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_DIR})
31-
file(MAKE_DIRECTORY ${VOTCA_SPHINX_DIR}/xtp-tutorials)
32-
file(GLOB FILES ${PROJECT_SOURCE_DIR}/${_DIR}/*)
33-
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_notebook}
34-
COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/${_DIR} ${CMAKE_CURRENT_BINARY_DIR}/${_DIR}
35-
DEPENDS ${FILES})
1+
if(VOTCA_SPHINX_DIR)
2+
file(GLOB RSTS ${CMAKE_CURRENT_SOURCE_DIR}/*.rst)
3+
set(MANUAL_RST_FILES)
4+
foreach(_RST ${RSTS})
5+
get_filename_component(_FILE "${_RST}" NAME)
366
add_custom_command(OUTPUT ${VOTCA_SPHINX_DIR}/xtp-tutorials/${_FILE}
37-
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_DIR}
38-
COMMAND ${CMAKE_COMMAND} -E env PATH=${XTP_PATH}:$ENV{PATH} VOTCASHARE=${VOTCASHARE} ${JUPYTER_EXECUTABLE} nbconvert --to notebook --ExecutePreprocessor.timeout=5000 --execute ${_FILE} --output ${VOTCA_SPHINX_DIR}/xtp-tutorials/${_FILE}
39-
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_notebook}
40-
)
41-
list(APPEND NEW_NOTEBOOKS ${VOTCA_SPHINX_DIR}/xtp-tutorials/${_FILE})
7+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${_RST} ${VOTCA_SPHINX_DIR}/xtp-tutorials/${_FILE}
8+
DEPENDS ${_RST})
9+
list(APPEND MANUAL_RST_FILES ${VOTCA_SPHINX_DIR}/xtp-tutorials/${_FILE})
4210
endforeach()
43-
else()
44-
foreach(_DEP ${NOTEBOOKS})
45-
get_filename_component(_FILE "${_DEP}" NAME)
46-
add_custom_command(OUTPUT ${VOTCA_SPHINX_DIR}/xtp-tutorials/${_FILE}
47-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PROJECT_SOURCE_DIR}/${_DEP} ${VOTCA_SPHINX_DIR}/xtp-tutorials/${_FILE} DEPENDS ${PROJECT_SOURCE_DIR}/${_DEP}
48-
)
49-
list(APPEND NEW_NOTEBOOKS ${VOTCA_SPHINX_DIR}/xtp-tutorials/${_FILE})
11+
12+
set(NOTEBOOKS "GROMACS/Methane/QMMM_GROMACS.ipynb")
13+
list(APPEND NOTEBOOKS "LAMMPS/Thiophene/QMMM_LAMMPS.ipynb")
14+
list(APPEND NOTEBOOKS "tools/dftgwbse_CH4/DFTGWBSE_ENERGY.ipynb")
15+
list(APPEND NOTEBOOKS "tools/dftgwbse_CO_geoopt/DFTGWBSE_OPTIMIZATION.ipynb")
16+
# list(APPEND NOTEBOOKS "GROMACS/KMC_Methane/GROMACS_KMC.ipynb")
17+
list(APPEND NOTEBOOKS "LAMMPS/KMC_Thiophene/LAMMPS_KMC.ipynb")
18+
19+
find_package(JUPYTER_NBCONVERT 5.4.1)
20+
find_package(SPHINX 2.1)
21+
set(NEW_NOTEBOOKS)
22+
23+
if(JUPYTER_NBCONVERT_FOUND AND SPHINX_FOUND)
24+
enable_language(CXX) # to detect xtp
25+
find_package(VOTCA_XTP REQUIRED NO_MODULE)
26+
set_package_properties(VOTCA_XTP PROPERTIES TYPE REQUIRED PURPOSE "Votca xtp library")
27+
if(DEFINED VOTCA_XTP_VERSION AND NOT VOTCA_XTP_VERSION STREQUAL PROJECT_VERSION)
28+
message(FATAL_ERROR "Incompatible VOTCA XTP version found (needed ${PROJECT_VERSION}, found ${VOTCA_XTP_VERSION})")
29+
endif()
30+
message(STATUS "Found VOTCA_XTP: ${VOTCA_XTP_DIR}")
31+
32+
get_target_property(XTP_PATH VOTCA::votca_xtp XTP_PATH)
33+
get_target_property(VOTCASHARE VOTCA::votca_xtp VOTCA_SHARE)
34+
foreach(_notebook ${NOTEBOOKS})
35+
get_filename_component(_FILE "${_notebook}" NAME)
36+
get_filename_component(_DIR "${_notebook}" DIRECTORY)
37+
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_DIR})
38+
file(MAKE_DIRECTORY ${VOTCA_SPHINX_DIR}/xtp-tutorials)
39+
file(GLOB FILES ${PROJECT_SOURCE_DIR}/${_DIR}/*)
40+
add_custom_command(OUTPUT ${VOTCA_SPHINX_DIR}/xtp-tutorials/${_FILE}
41+
COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/${_DIR} ${CMAKE_CURRENT_BINARY_DIR}/${_DIR}
42+
COMMAND ${CMAKE_COMMAND} -E env PATH=${XTP_PATH}:$ENV{PATH} VOTCASHARE=${VOTCASHARE} ${JUPYTER_EXECUTABLE} nbconvert --to notebook --ExecutePreprocessor.timeout=5000 --execute ${_FILE} --output ${VOTCA_SPHINX_DIR}/xtp-tutorials/${_FILE}
43+
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_DIR}
44+
DEPENDS ${FILES}
45+
)
46+
list(APPEND NEW_NOTEBOOKS ${VOTCA_SPHINX_DIR}/xtp-tutorials/${_FILE})
5047
endforeach()
48+
else()
49+
foreach(_DEP ${NOTEBOOKS})
50+
get_filename_component(_FILE "${_DEP}" NAME)
51+
add_custom_command(OUTPUT ${VOTCA_SPHINX_DIR}/xtp-tutorials/${_FILE}
52+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PROJECT_SOURCE_DIR}/${_DEP} ${VOTCA_SPHINX_DIR}/xtp-tutorials/${_FILE} DEPENDS ${PROJECT_SOURCE_DIR}/${_DEP}
53+
)
54+
list(APPEND NEW_NOTEBOOKS ${VOTCA_SPHINX_DIR}/xtp-tutorials/${_FILE})
55+
endforeach()
56+
endif()
57+
58+
add_custom_target(doc-xtp-tutorials DEPENDS ${NEW_NOTEBOOKS} ${MANUAL_RST_FILES})
5159
endif()
52-
53-
add_custom_target(doc-xtp-tutorials DEPENDS ${NEW_NOTEBOOKS})
54-

0 commit comments

Comments
 (0)