1 function (generate_module_file_list SRCDIR OUTFILE)
3 foreach (MODULE analysisdata commandline linearalgebra onlinehelp
4 options selection trajectoryanalysis utility)
5 list(APPEND PATH_LIST "${SRCDIR}/src/gromacs/${MODULE}/*.cpp")
6 list(APPEND PATH_LIST "${SRCDIR}/src/gromacs/${MODULE}/*.h")
8 list(APPEND PATH_LIST "${SRCDIR}/src/testutils/*.cpp")
9 list(APPEND PATH_LIST "${SRCDIR}/src/testutils/*.h")
11 foreach (PATH_EXPR ${PATH_LIST})
12 file(GLOB_RECURSE FOUND_FILES ${PATH_EXPR})
13 list(APPEND FILE_LIST ${FOUND_FILES})
15 string(REPLACE ";" "\n" FILE_LIST "${FILE_LIST}")
16 file(WRITE ${OUTFILE} "${FILE_LIST}")
19 function (generate_installed_file_list SRCDIR BUILDDIR OUTFILE)
20 file(GLOB_RECURSE INSTALL_FILE_LIST "${BUILDDIR}/cmake_install.cmake")
21 set(MATCH_REGEX "${SRCDIR}/.*\\.h")
23 foreach (INSTALL_FILE ${INSTALL_FILE_LIST})
24 file(STRINGS ${INSTALL_FILE} HEADER_LINES REGEX "${MATCH_REGEX}")
25 foreach (HEADER_LINE ${HEADER_LINES})
26 string (REGEX MATCH "${MATCH_REGEX}" HEADER "${HEADER_LINE}")
27 list(APPEND HEADER_LIST "${HEADER}")
30 string(REPLACE ";" "\n" HEADER_LIST "${HEADER_LIST}")
31 file(WRITE ${OUTFILE} "${HEADER_LIST}")
34 if (NOT DEFINED SRCDIR OR NOT DEFINED BUILDDIR OR NOT DEFINED OUTDIR)
35 message(FATAL_ERROR "Required input variable (SRCDIR, BUILDDIR, OUTDIR) not set")
38 if (NOT DEFINED PYTHON_EXECUTABLE)
39 set(PYTHON_EXECUTABLE python)
42 if (NOT DEFINED MODE OR MODE STREQUAL "CHECK")
44 elseif (MODE STREQUAL "GRAPHS")
46 --module-graph module-deps.dot --module-file-graphs
49 message(FATAL_ERROR "Unknown mode ${MODE}")
52 file(MAKE_DIRECTORY ${OUTDIR})
53 generate_module_file_list(${SRCDIR} ${OUTDIR}/module-files.txt)
54 generate_installed_file_list(${SRCDIR} ${BUILDDIR} ${OUTDIR}/installed-headers.txt)
55 execute_process(COMMAND ${PYTHON_EXECUTABLE} ${SRCDIR}/admin/includedeps.py
56 -f ${OUTDIR}/module-files.txt
57 --installed ${OUTDIR}/installed-headers.txt
58 -R ${SRCDIR}/src -R ${BUILDDIR}/src
59 #-I ${SRCDIR}/src/gromacs/legacyheaders
60 -I ${BUILDDIR}/src/gromacs/utility
63 if (MODE STREQUAL "GRAPHS" AND DOT_EXECUTABLE)
64 file(GLOB DOT_INPUT_FILES ${OUTDIR}/*.dot)
65 execute_process(COMMAND ${DOT_EXECUTABLE} -Tpng -O ${DOT_INPUT_FILES})