From: Teemu Murtola Date: Fri, 19 Sep 2014 19:45:34 +0000 (+0300) Subject: More robust handling for installed headers X-Git-Url: http://biod.pnpi.spb.ru/gitweb/?p=alexxy%2Fgromacs.git;a=commitdiff_plain;h=bc9ba47edc5b12b5d4324bcdbf8c5cd3cb048c3d More robust handling for installed headers - Remove unnecessary first parameter from gmx_install_headers(): it is possible to deduce the installation destination from the current CMake directory. This eliminates the possibility of typos in this parameter that would break the installed headers. - Make the gmx_install_headers() function also generate a global list of installed headers, which is then used to generate a file with this list, instead of globbing this information from the cmake_install.cmake files. This ensures that obsolete files in the build tree should not affect the outcome. Change-Id: I4d27accaebc14438acc5d290b25258b561ca04ea --- diff --git a/docs/doxygen/CMakeLists.txt b/docs/doxygen/CMakeLists.txt index 3dc0946222..812650593e 100644 --- a/docs/doxygen/CMakeLists.txt +++ b/docs/doxygen/CMakeLists.txt @@ -62,21 +62,10 @@ if (PYTHONINTERP_FOUND AND NOT PYTHON_VERSION_STRING VERSION_LESS "2.6") set(USE_PYTHON_SCRIPTS ON) endif() -# Create a stamp file whenever cmake is run, as the list of installed files may -# have changed. -gmx_get_stamp_filename(configure_stamp_file cmake-configure) -file(WRITE ${configure_stamp_file} "Timestamp for configuration") # Note that if you relocate this file, you also need to change gmxtree.py. -set(INSTALLED_HEADERS_FILE ${CMAKE_CURRENT_BINARY_DIR}/installed-headers.txt) -gmx_add_custom_output_target(find-installed-headers - OUTPUT ${INSTALLED_HEADERS_FILE} - COMMAND ${CMAKE_COMMAND} - -D SRCDIR=${CMAKE_SOURCE_DIR} - -D BUILDDIR=${CMAKE_BINARY_DIR} - -D OUTFILE=${INSTALLED_HEADERS_FILE} - -P ${CMAKE_CURRENT_SOURCE_DIR}/getInstalledHeaders.cmake - DEPENDS ${configure_stamp_file} - COMMENT "Generating installed headers list") +# TODO: Try to find a solution where this would be hard-coded here, completely +# separate from the logic that generates it. +set(INSTALLED_HEADERS_FILE ${PROJECT_BINARY_DIR}/src/gromacs/installed-headers.txt) ######################################################################## # Doxygen configuration @@ -178,13 +167,12 @@ if (DOXYGEN_FOUND) -S ${CMAKE_SOURCE_DIR} -B ${CMAKE_BINARY_DIR} --ignore-cycles ${CMAKE_CURRENT_SOURCE_DIR}/cycle-suppressions.txt -o ${DEPGRAPH_DIR} - DEPENDS doc-xml find-installed-headers + DEPENDS doc-xml ${INSTALLED_HEADER_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/doxygenxml.py ${CMAKE_CURRENT_SOURCE_DIR}/gmxtree.py ${CMAKE_CURRENT_SOURCE_DIR}/graphbuilder.py ${CMAKE_CURRENT_SOURCE_DIR}/cycle-suppressions.txt COMMENT "Generating include dependency graphs for dot") - add_dependencies(dep-graphs-dot-fast find-installed-headers) # Add separate targets for converting the .dot files to .png. # These are not needed by the Doxygen targets, but are useful for @@ -227,7 +215,6 @@ if (DOXYGEN_FOUND) COMMENT "Checking Doxygen documentation" VERBATIM) add_custom_target(doc-check-fast COMMAND ${doc_check_command} COMMENT "Checking Doxygen documentation" VERBATIM) - add_dependencies(doc-check doc-xml find-installed-headers) - add_dependencies(doc-check-fast find-installed-headers) + add_dependencies(doc-check doc-xml) endif() endif() diff --git a/docs/doxygen/gmxtree.py b/docs/doxygen/gmxtree.py index 6359b6391e..6f12d22e3e 100644 --- a/docs/doxygen/gmxtree.py +++ b/docs/doxygen/gmxtree.py @@ -627,7 +627,7 @@ class GromacsTree(object): .gitattributes for all the files. load_installed_file_list() can be called to load the list of installed - files from the build tree (generated by the find-installed-headers target). + files from the build tree (generated by CMake). scan_files() can be called to read all the files and initialize #include dependencies between the files based on the information. This is done like @@ -911,7 +911,7 @@ class GromacsTree(object): def load_installed_file_list(self): """Load list of installed files from the build tree.""" - listpath = os.path.join(self._build_root, 'docs', 'doxygen', 'installed-headers.txt') + listpath = os.path.join(self._build_root, 'src', 'gromacs', 'installed-headers.txt') with open(listpath, 'r') as installedfp: for line in installedfp: path = line.strip() diff --git a/src/gromacs/CMakeLists.txt b/src/gromacs/CMakeLists.txt index 56022c0987..deeca78c58 100644 --- a/src/gromacs/CMakeLists.txt +++ b/src/gromacs/CMakeLists.txt @@ -34,17 +34,32 @@ set(LIBGROMACS_SOURCES) -function (gmx_install_headers DESTINATION) +set_property(GLOBAL PROPERTY GMX_INSTALLED_HEADERS) + +function (gmx_install_headers) if (NOT GMX_BUILD_MDRUN_ONLY) - if (DESTINATION) - set(DESTINATION ${INCL_INSTALL_DIR}/gromacs/${DESTINATION}) + file(RELATIVE_PATH _dest ${PROJECT_SOURCE_DIR}/src ${CMAKE_CURRENT_LIST_DIR}) + install(FILES ${ARGN} + DESTINATION "${INCL_INSTALL_DIR}/${_dest}" + COMPONENT development) + endif() + foreach (_file ${ARGN}) + if (IS_ABSOLUTE "${_file}") + set_property(GLOBAL APPEND PROPERTY GMX_INSTALLED_HEADERS ${_file}) else() - set(DESTINATION ${INCL_INSTALL_DIR}/gromacs) + set_property(GLOBAL APPEND PROPERTY GMX_INSTALLED_HEADERS + ${CMAKE_CURRENT_LIST_DIR}/${_file}) endif() - install(FILES ${ARGN} DESTINATION ${DESTINATION} COMPONENT development) - endif() + endforeach() endfunction () +function (gmx_write_installed_header_list) + get_property(_list GLOBAL PROPERTY GMX_INSTALLED_HEADERS) + string(REPLACE ";" "\n" _list "${_list}") + # TODO: Make this only update the file timestamp if the contents actually change. + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/installed-headers.txt "${_list}") +endfunction() + if(GMX_USE_TNG) option(GMX_EXTERNAL_TNG "Use external TNG instead of compiling the version shipped with GROMACS." OFF) @@ -117,16 +132,16 @@ list(APPEND LIBGROMACS_SOURCES ${GMXLIB_SOURCES} ${MDLIB_SOURCES}) tmpi_get_source_list(THREAD_MPI_SOURCES ${CMAKE_SOURCE_DIR}/src/external/thread_mpi/src) list(APPEND LIBGROMACS_SOURCES ${THREAD_MPI_SOURCES}) -set(LIBGROMACS_HEADERS +configure_file(version.h.cmakein version.h) +gmx_install_headers( analysisdata.h commandline.h options.h selection.h trajectoryanalysis.h - utility.h) -configure_file(version.h.cmakein version.h) -gmx_install_headers("" ${LIBGROMACS_HEADERS}) -gmx_install_headers("" ${CMAKE_CURRENT_BINARY_DIR}/version.h) + utility.h + ${CMAKE_CURRENT_BINARY_DIR}/version.h + ) # This code is here instead of utility/CMakeLists.txt, because CMake # custom commands and source file properties can only be set in the directory @@ -191,6 +206,8 @@ set_target_properties(libgromacs PROPERTIES VERSION ${LIBRARY_VERSION} COMPILE_FLAGS "${OpenMP_C_FLAGS}") +gmx_write_installed_header_list() + # Only install the library in mdrun-only mode if it is actually necessary # for the binary if (NOT GMX_BUILD_MDRUN_ONLY OR BUILD_SHARED_LIBS) diff --git a/src/gromacs/analysisdata/CMakeLists.txt b/src/gromacs/analysisdata/CMakeLists.txt index dabcba9a84..d03af36baa 100644 --- a/src/gromacs/analysisdata/CMakeLists.txt +++ b/src/gromacs/analysisdata/CMakeLists.txt @@ -35,13 +35,13 @@ file(GLOB ANALYSISDATA_SOURCES *.cpp modules/*.cpp) set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${ANALYSISDATA_SOURCES} PARENT_SCOPE) -set(ANALYSISDATA_PUBLIC_HEADERS +gmx_install_headers( abstractdata.h analysisdata.h arraydata.h dataframe.h - datamodule.h) -gmx_install_headers(analysisdata ${ANALYSISDATA_PUBLIC_HEADERS}) + datamodule.h + ) add_subdirectory(modules) diff --git a/src/gromacs/analysisdata/modules/CMakeLists.txt b/src/gromacs/analysisdata/modules/CMakeLists.txt index e865340e5d..61d8bc59a7 100644 --- a/src/gromacs/analysisdata/modules/CMakeLists.txt +++ b/src/gromacs/analysisdata/modules/CMakeLists.txt @@ -1,7 +1,7 @@ # # This file is part of the GROMACS molecular simulation package. # -# Copyright (c) 2010,2013, by the GROMACS development team, led by +# Copyright (c) 2010,2013,2014, by the GROMACS development team, led by # Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, # and including many others, as listed in the AUTHORS file in the # top-level source directory and at http://www.gromacs.org. @@ -32,10 +32,10 @@ # To help us fund GROMACS development, we humbly ask that you cite # the research papers on the package. Check out http://www.gromacs.org. -set(ANALYSISDATA_MODULES_PUBLIC_HEADERS +gmx_install_headers( average.h displacement.h histogram.h lifetime.h - plot.h) -gmx_install_headers(analysisdata/modules ${ANALYSISDATA_MODULES_PUBLIC_HEADERS}) + plot.h + ) diff --git a/src/gromacs/commandline/CMakeLists.txt b/src/gromacs/commandline/CMakeLists.txt index 5efde47341..08eeb550c7 100644 --- a/src/gromacs/commandline/CMakeLists.txt +++ b/src/gromacs/commandline/CMakeLists.txt @@ -35,14 +35,14 @@ file(GLOB COMMANDLINE_SOURCES *.cpp) set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${COMMANDLINE_SOURCES} PARENT_SCOPE) -set(COMMANDLINE_PUBLIC_HEADERS +gmx_install_headers( cmdlinehelpwriter.h cmdlineinit.h cmdlinemodule.h cmdlineparser.h cmdlineprogramcontext.h - pargs.h) -gmx_install_headers(commandline ${COMMANDLINE_PUBLIC_HEADERS}) + pargs.h + ) if (BUILD_TESTING) add_subdirectory(tests) diff --git a/src/gromacs/fft/CMakeLists.txt b/src/gromacs/fft/CMakeLists.txt index 5de9782aa6..60d6402d86 100644 --- a/src/gromacs/fft/CMakeLists.txt +++ b/src/gromacs/fft/CMakeLists.txt @@ -51,9 +51,7 @@ endif() set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${FFT_SOURCES} ${FFT_SPECIFIC_SOURCES} PARENT_SCOPE) -set(FFT_PUBLIC_HEADERS - fft.h) -gmx_install_headers(fft ${FFT_PUBLIC_HEADERS}) +gmx_install_headers(fft.h) if (BUILD_TESTING) add_subdirectory(tests) diff --git a/src/gromacs/fileio/CMakeLists.txt b/src/gromacs/fileio/CMakeLists.txt index 99955060a2..0c638a78a8 100644 --- a/src/gromacs/fileio/CMakeLists.txt +++ b/src/gromacs/fileio/CMakeLists.txt @@ -42,7 +42,7 @@ endif() set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${FILEIO_SOURCES} PARENT_SCOPE) -set(FILEIO_PUBLIC_HEADERS +gmx_install_headers( confio.h enxio.h filenm.h @@ -60,7 +60,6 @@ set(FILEIO_PUBLIC_HEADERS xtcio.h xvgr.h ) -gmx_install_headers(fileio ${FILEIO_PUBLIC_HEADERS}) if (GMX_USE_TNG AND TNG_IO_DEFINITIONS) set_property(SOURCE tngio.cpp diff --git a/src/gromacs/gmxana/CMakeLists.txt b/src/gromacs/gmxana/CMakeLists.txt index 7c3b7da4a0..1977289754 100644 --- a/src/gromacs/gmxana/CMakeLists.txt +++ b/src/gromacs/gmxana/CMakeLists.txt @@ -34,10 +34,9 @@ file(GLOB GMXANA_SOURCES *.c *.cpp) -set(GMXANA_PUBLIC_HEADERS +gmx_install_headers( gstat.h ) -gmx_install_headers(gmxana ${GMXANA_PUBLIC_HEADERS}) set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${GMXANA_SOURCES} PARENT_SCOPE) diff --git a/src/gromacs/legacyheaders/CMakeLists.txt b/src/gromacs/legacyheaders/CMakeLists.txt index aea277ee6f..f5737e0f02 100644 --- a/src/gromacs/legacyheaders/CMakeLists.txt +++ b/src/gromacs/legacyheaders/CMakeLists.txt @@ -1,7 +1,7 @@ # # This file is part of the GROMACS molecular simulation package. # -# Copyright (c) 2009,2010,2012,2013,2014, by the GROMACS development team, led by +# Copyright (c) 2014, by the GROMACS development team, led by # Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, # and including many others, as listed in the AUTHORS file in the # top-level source directory and at http://www.gromacs.org. @@ -33,12 +33,8 @@ # the research papers on the package. Check out http://www.gromacs.org. # includes: Nothing to build, just installation -file(GLOB ROOT_LEGACY_HEADERS *.h) -file(GLOB ROOT_LEGACY_HEADERS_PRIVATE thread_mpi.h tmpi.h gmx_hash.h - gmx_ga2la.h gpu_utils.h pmalloc_cuda.h) -file(GLOB TYPES_LEGACY_HEADERS types/*.h) -file(GLOB TYPES_LEGACY_HEADERS_PRIVATE types/commrec.h) -list(REMOVE_ITEM ROOT_LEGACY_HEADERS ${ROOT_LEGACY_HEADERS_PRIVATE}) -list(REMOVE_ITEM TYPES_LEGACY_HEADERS ${TYPES_LEGACY_HEADERS_PRIVATE}) -gmx_install_headers(legacyheaders ${ROOT_LEGACY_HEADERS}) -gmx_install_headers(legacyheaders/types ${TYPES_LEGACY_HEADERS}) +file(GLOB HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h) +list(REMOVE_ITEM HEADERS gmx_hash.h gmx_ga2la.h gpu_utils.h pmalloc_cuda.h) +gmx_install_headers(${HEADERS}) + +add_subdirectory(types) diff --git a/docs/doxygen/getInstalledHeaders.cmake b/src/gromacs/legacyheaders/types/CMakeLists.txt similarity index 64% rename from docs/doxygen/getInstalledHeaders.cmake rename to src/gromacs/legacyheaders/types/CMakeLists.txt index 60fe805596..ee38c567f4 100644 --- a/docs/doxygen/getInstalledHeaders.cmake +++ b/src/gromacs/legacyheaders/types/CMakeLists.txt @@ -32,22 +32,7 @@ # To help us fund GROMACS development, we humbly ask that you cite # the research papers on the package. Check out http://www.gromacs.org. -function (generate_installed_file_list SRCDIR BUILDDIR OUTFILE) - file(GLOB_RECURSE INSTALL_FILE_LIST "${BUILDDIR}/cmake_install.cmake") - set(MATCH_REGEX "(${SRCDIR}|${BUILDDIR})/.*\\.h") - set(HEADER_LIST) - foreach (INSTALL_FILE ${INSTALL_FILE_LIST}) - file(STRINGS ${INSTALL_FILE} HEADER_LINES REGEX "${MATCH_REGEX}") - foreach (HEADER_LINE ${HEADER_LINES}) - string (REGEX MATCH "${MATCH_REGEX}" HEADER "${HEADER_LINE}") - list(APPEND HEADER_LIST "${HEADER}") - endforeach () - endforeach () - string(REPLACE ";" "\n" HEADER_LIST "${HEADER_LIST}") - file(WRITE ${OUTFILE} "${HEADER_LIST}") -endfunction () - -if (NOT DEFINED SRCDIR OR NOT DEFINED BUILDDIR OR NOT DEFINED OUTFILE) - message(FATAL_ERROR "Required input variable (SRCDIR, BUILDDIR, OUTFILE) not set") -endif () -generate_installed_file_list(${SRCDIR} ${BUILDDIR} ${OUTFILE}) +# includes: Nothing to build, just installation +file(GLOB HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h) +list(REMOVE_ITEM HEADERS commrec.h) +gmx_install_headers(${HEADERS}) diff --git a/src/gromacs/linearalgebra/CMakeLists.txt b/src/gromacs/linearalgebra/CMakeLists.txt index b6f14b265b..c0c1ed82f4 100644 --- a/src/gromacs/linearalgebra/CMakeLists.txt +++ b/src/gromacs/linearalgebra/CMakeLists.txt @@ -48,8 +48,8 @@ set(LINEARALGEBRA_SOURCES set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${LINEARALGEBRA_SOURCES} PARENT_SCOPE) -set(LINEARALGEBRA_PUBLIC_HEADERS +gmx_install_headers( eigensolver.h matrix.h - sparsematrix.h) -gmx_install_headers(linearalgebra ${LINEARALGEBRA_PUBLIC_HEADERS}) + sparsematrix.h + ) diff --git a/src/gromacs/listed-forces/CMakeLists.txt b/src/gromacs/listed-forces/CMakeLists.txt index 721f4fbde2..605799ebaf 100644 --- a/src/gromacs/listed-forces/CMakeLists.txt +++ b/src/gromacs/listed-forces/CMakeLists.txt @@ -35,10 +35,9 @@ file(GLOB LISTED_FORCES_SOURCES *.cpp) set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${LISTED_FORCES_SOURCES} PARENT_SCOPE) -set(LISTED_FORCES_PUBLIC_HEADERS - bonded.h) - -gmx_install_headers(listed-forces ${LISTED_FORCES_PUBLIC_HEADERS}) +gmx_install_headers( + bonded.h + ) if (BUILD_TESTING) # add_subdirectory(tests) diff --git a/src/gromacs/math/CMakeLists.txt b/src/gromacs/math/CMakeLists.txt index 5e94351eb2..6b3da2e9a6 100644 --- a/src/gromacs/math/CMakeLists.txt +++ b/src/gromacs/math/CMakeLists.txt @@ -35,7 +35,7 @@ file(GLOB MATH_SOURCES *.cpp *.c) set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${MATH_SOURCES} PARENT_SCOPE) -set(MATH_PUBLIC_HEADERS +gmx_install_headers( 3dtransforms.h gmxcomplex.h do_fit.h @@ -44,7 +44,6 @@ set(MATH_PUBLIC_HEADERS vec.h vectypes.h ) -gmx_install_headers(math ${MATH_PUBLIC_HEADERS}) if (BUILD_TESTING) # add_subdirectory(tests) diff --git a/src/gromacs/options/CMakeLists.txt b/src/gromacs/options/CMakeLists.txt index 446c55228a..a04d94e1a1 100644 --- a/src/gromacs/options/CMakeLists.txt +++ b/src/gromacs/options/CMakeLists.txt @@ -35,7 +35,7 @@ file(GLOB OPTIONS_SOURCES *.cpp) set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${OPTIONS_SOURCES} PARENT_SCOPE) -set(OPTIONS_PUBLIC_HEADERS +gmx_install_headers( abstractoption.h basicoptions.h filenameoption.h @@ -43,8 +43,8 @@ set(OPTIONS_PUBLIC_HEADERS optionfiletype.h optionflags.h options.h - timeunitmanager.h) -gmx_install_headers(options ${OPTIONS_PUBLIC_HEADERS}) + timeunitmanager.h + ) if (BUILD_TESTING) add_subdirectory(tests) diff --git a/src/gromacs/pbcutil/CMakeLists.txt b/src/gromacs/pbcutil/CMakeLists.txt index 0366753a1b..793ba19490 100644 --- a/src/gromacs/pbcutil/CMakeLists.txt +++ b/src/gromacs/pbcutil/CMakeLists.txt @@ -35,12 +35,11 @@ file(GLOB PBCUTIL_SOURCES *.cpp *.c) set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${PBCUTIL_SOURCES} PARENT_SCOPE) -set(PBCUTIL_PUBLIC_HEADERS +gmx_install_headers( ishift.h pbc.h - rmpbc.h) - -gmx_install_headers(pbcutil ${PBCUTIL_PUBLIC_HEADERS}) + rmpbc.h + ) if (BUILD_TESTING) # add_subdirectory(tests) diff --git a/src/gromacs/selection/CMakeLists.txt b/src/gromacs/selection/CMakeLists.txt index 4788a17578..02e565c82a 100644 --- a/src/gromacs/selection/CMakeLists.txt +++ b/src/gromacs/selection/CMakeLists.txt @@ -35,7 +35,7 @@ file(GLOB SELECTION_SOURCES *.cpp) set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${SELECTION_SOURCES} PARENT_SCOPE) -set(SELECTION_PUBLIC_HEADERS +gmx_install_headers( nbsearch.h indexutil.h position.h @@ -43,8 +43,8 @@ set(SELECTION_PUBLIC_HEADERS selectioncollection.h selectionenums.h selectionoption.h - selectionoptionmanager.h) -gmx_install_headers(selection ${SELECTION_PUBLIC_HEADERS}) + selectionoptionmanager.h + ) if (BUILD_TESTING) add_subdirectory(tests) diff --git a/src/gromacs/swap/CMakeLists.txt b/src/gromacs/swap/CMakeLists.txt index b0d4346a0a..909c5c3f72 100644 --- a/src/gromacs/swap/CMakeLists.txt +++ b/src/gromacs/swap/CMakeLists.txt @@ -35,4 +35,4 @@ file(GLOB SWAP_SOURCES *.cpp) set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${SWAP_SOURCES} PARENT_SCOPE) -gmx_install_headers(swap enums.h) +gmx_install_headers(enums.h) diff --git a/src/gromacs/timing/CMakeLists.txt b/src/gromacs/timing/CMakeLists.txt index 094cb6f298..f0a5af0a1b 100644 --- a/src/gromacs/timing/CMakeLists.txt +++ b/src/gromacs/timing/CMakeLists.txt @@ -35,11 +35,10 @@ file(GLOB TIMING_SOURCES *.cpp *.c) set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${TIMING_SOURCES} PARENT_SCOPE) -set(TIMING_PUBLIC_HEADERS +gmx_install_headers( wallcycle.h - walltime_accounting.h) - -gmx_install_headers(timing ${TIMING_PUBLIC_HEADERS}) + walltime_accounting.h + ) if (BUILD_TESTING) # add_subdirectory(tests) diff --git a/src/gromacs/tools/CMakeLists.txt b/src/gromacs/tools/CMakeLists.txt index ac60f30f0f..ceec518fe6 100644 --- a/src/gromacs/tools/CMakeLists.txt +++ b/src/gromacs/tools/CMakeLists.txt @@ -35,10 +35,6 @@ file(GLOB TOOLS_SOURCES *.cpp *.c) set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${TOOLS_SOURCES} PARENT_SCOPE) -set(TOOLS_PUBLIC_HEADERS - ) -gmx_install_headers(tools ${TOOLS_PUBLIC_HEADERS}) - if (BUILD_TESTING) # add_subdirectory(tests) endif() diff --git a/src/gromacs/topology/CMakeLists.txt b/src/gromacs/topology/CMakeLists.txt index ffc2379e83..fc8b5463b9 100644 --- a/src/gromacs/topology/CMakeLists.txt +++ b/src/gromacs/topology/CMakeLists.txt @@ -35,7 +35,7 @@ file(GLOB TOPOLOGY_SOURCES *.cpp *.c) set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${TOPOLOGY_SOURCES} PARENT_SCOPE) -set(TOPOLOGY_PUBLIC_HEADERS +gmx_install_headers( atomprop.h atoms.h block.h @@ -43,9 +43,8 @@ set(TOPOLOGY_PUBLIC_HEADERS index.h mtop_util.h symtab.h - topology.h) - -gmx_install_headers(topology ${TOPOLOGY_PUBLIC_HEADERS}) + topology.h + ) if (BUILD_TESTING) # add_subdirectory(tests) diff --git a/src/gromacs/trajectoryanalysis/CMakeLists.txt b/src/gromacs/trajectoryanalysis/CMakeLists.txt index a27ab151e1..a60b69a924 100644 --- a/src/gromacs/trajectoryanalysis/CMakeLists.txt +++ b/src/gromacs/trajectoryanalysis/CMakeLists.txt @@ -35,11 +35,11 @@ file(GLOB TRAJECTORYANALYSIS_SOURCES *.cpp modules/*.cpp modules/*.c) set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${TRAJECTORYANALYSIS_SOURCES} PARENT_SCOPE) -set(TRAJECTORYANALYSIS_PUBLIC_HEADERS +gmx_install_headers( analysismodule.h analysissettings.h - cmdlinerunner.h) -gmx_install_headers(trajectoryanalysis ${TRAJECTORYANALYSIS_PUBLIC_HEADERS}) + cmdlinerunner.h + ) if (BUILD_TESTING) add_subdirectory(tests) diff --git a/src/gromacs/utility/CMakeLists.txt b/src/gromacs/utility/CMakeLists.txt index b08dcfc5ab..a478811e40 100644 --- a/src/gromacs/utility/CMakeLists.txt +++ b/src/gromacs/utility/CMakeLists.txt @@ -35,7 +35,7 @@ file(GLOB UTILITY_SOURCES *.c *.cpp) set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${UTILITY_SOURCES} PARENT_SCOPE) -set(UTILITY_PUBLIC_HEADERS +gmx_install_headers( arrayref.h basedefinitions.h cstringutil.h @@ -54,7 +54,6 @@ set(UTILITY_PUBLIC_HEADERS smalloc.h stringutil.h ) -gmx_install_headers(utility ${UTILITY_PUBLIC_HEADERS}) if (BUILD_TESTING) add_subdirectory(tests)