From 39132a7e2347ba55d45d5f5db0f9d35bf535071e Mon Sep 17 00:00:00 2001 From: "M. Eric Irrgang" Date: Mon, 17 Aug 2020 17:24:25 +0300 Subject: [PATCH] Allow more granularity for public interfaces in build tree. Move the gmxapi installed headers from api/include/gmxapi to api/gmxapi/include/gmxapi, making room for api/nblib/include installed headers or others. This allows CMake targets in the build tree to restrict access to public headers as well as private headers such that the `gmxapi` target allows `#include "gmxapi/someheader.h"` but does not inadvertently allow `#include "nblib/anotherheader.h"` without an explicit `target_link_libraries`. Fix some disordered header inclusions. Refs #3288 --- api/CMakeLists.txt | 2 +- api/{gmxapi.cmake => gmxapi/CMakeLists.txt} | 2 +- api/{cpp/gmxapi => gmxapi/cpp}/CMakeLists.txt | 0 api/{cpp/gmxapi => gmxapi/cpp}/cmake/gmxapi-config.cmake.in | 0 api/{cpp/gmxapi => gmxapi/cpp}/context.cpp | 0 api/{cpp/gmxapi => gmxapi/cpp}/context_impl.h | 0 api/{cpp/gmxapi => gmxapi/cpp}/createsession.h | 0 api/{cpp/gmxapi => gmxapi/cpp}/exceptions.cpp | 0 api/{cpp/gmxapi => gmxapi/cpp}/gmxapi.cpp | 0 api/{cpp/gmxapi => gmxapi/cpp}/md.cpp | 0 api/{cpp/gmxapi => gmxapi/cpp}/md_impl.h | 0 api/{cpp/gmxapi => gmxapi/cpp}/mdmodule.cpp | 0 api/{cpp/gmxapi => gmxapi/cpp}/mdsignals.cpp | 3 +-- api/{cpp/gmxapi => gmxapi/cpp}/mdsignals.h | 0 api/{cpp/gmxapi => gmxapi/cpp}/session.cpp | 5 +---- api/{cpp/gmxapi => gmxapi/cpp}/session_impl.h | 0 api/{cpp/gmxapi => gmxapi/cpp}/sessionresources.h | 0 api/{cpp/gmxapi => gmxapi/cpp}/status.cpp | 0 api/{cpp/gmxapi => gmxapi/cpp}/system.cpp | 2 +- api/{cpp/gmxapi => gmxapi/cpp}/system_impl.h | 0 api/{cpp/gmxapi => gmxapi/cpp}/tpr.cpp | 0 api/{cpp/gmxapi => gmxapi/cpp}/version.cpp | 0 api/{cpp/gmxapi => gmxapi/cpp}/workflow.cpp | 0 api/{cpp/gmxapi => gmxapi/cpp}/workflow.h | 0 api/{cpp/gmxapi => gmxapi/cpp}/workflow_impl.h | 0 api/{ => gmxapi}/include/gmxapi/compat/mdparams.h | 0 api/{ => gmxapi}/include/gmxapi/compat/tpr.h | 0 api/{ => gmxapi}/include/gmxapi/context.h | 0 api/{ => gmxapi}/include/gmxapi/exceptions.h | 0 api/{ => gmxapi}/include/gmxapi/gmxapi.h | 0 api/{ => gmxapi}/include/gmxapi/gmxapicompat.h | 0 api/{ => gmxapi}/include/gmxapi/gromacsfwd.h | 0 api/{ => gmxapi}/include/gmxapi/md.h | 0 api/{ => gmxapi}/include/gmxapi/md/mdmodule.h | 0 api/{ => gmxapi}/include/gmxapi/md/mdsignals.h | 0 api/{ => gmxapi}/include/gmxapi/session.h | 0 api/{ => gmxapi}/include/gmxapi/session/resources.h | 0 api/{ => gmxapi}/include/gmxapi/status.h | 0 api/{ => gmxapi}/include/gmxapi/system.h | 0 api/{ => gmxapi}/include/gmxapiversion.h.in | 0 40 files changed, 5 insertions(+), 9 deletions(-) rename api/{gmxapi.cmake => gmxapi/CMakeLists.txt} (99%) rename api/{cpp/gmxapi => gmxapi/cpp}/CMakeLists.txt (100%) rename api/{cpp/gmxapi => gmxapi/cpp}/cmake/gmxapi-config.cmake.in (100%) rename api/{cpp/gmxapi => gmxapi/cpp}/context.cpp (100%) rename api/{cpp/gmxapi => gmxapi/cpp}/context_impl.h (100%) rename api/{cpp/gmxapi => gmxapi/cpp}/createsession.h (100%) rename api/{cpp/gmxapi => gmxapi/cpp}/exceptions.cpp (100%) rename api/{cpp/gmxapi => gmxapi/cpp}/gmxapi.cpp (100%) rename api/{cpp/gmxapi => gmxapi/cpp}/md.cpp (100%) rename api/{cpp/gmxapi => gmxapi/cpp}/md_impl.h (100%) rename api/{cpp/gmxapi => gmxapi/cpp}/mdmodule.cpp (100%) rename api/{cpp/gmxapi => gmxapi/cpp}/mdsignals.cpp (99%) rename api/{cpp/gmxapi => gmxapi/cpp}/mdsignals.h (100%) rename api/{cpp/gmxapi => gmxapi/cpp}/session.cpp (99%) rename api/{cpp/gmxapi => gmxapi/cpp}/session_impl.h (100%) rename api/{cpp/gmxapi => gmxapi/cpp}/sessionresources.h (100%) rename api/{cpp/gmxapi => gmxapi/cpp}/status.cpp (100%) rename api/{cpp/gmxapi => gmxapi/cpp}/system.cpp (100%) rename api/{cpp/gmxapi => gmxapi/cpp}/system_impl.h (100%) rename api/{cpp/gmxapi => gmxapi/cpp}/tpr.cpp (100%) rename api/{cpp/gmxapi => gmxapi/cpp}/version.cpp (100%) rename api/{cpp/gmxapi => gmxapi/cpp}/workflow.cpp (100%) rename api/{cpp/gmxapi => gmxapi/cpp}/workflow.h (100%) rename api/{cpp/gmxapi => gmxapi/cpp}/workflow_impl.h (100%) rename api/{ => gmxapi}/include/gmxapi/compat/mdparams.h (100%) rename api/{ => gmxapi}/include/gmxapi/compat/tpr.h (100%) rename api/{ => gmxapi}/include/gmxapi/context.h (100%) rename api/{ => gmxapi}/include/gmxapi/exceptions.h (100%) rename api/{ => gmxapi}/include/gmxapi/gmxapi.h (100%) rename api/{ => gmxapi}/include/gmxapi/gmxapicompat.h (100%) rename api/{ => gmxapi}/include/gmxapi/gromacsfwd.h (100%) rename api/{ => gmxapi}/include/gmxapi/md.h (100%) rename api/{ => gmxapi}/include/gmxapi/md/mdmodule.h (100%) rename api/{ => gmxapi}/include/gmxapi/md/mdsignals.h (100%) rename api/{ => gmxapi}/include/gmxapi/session.h (100%) rename api/{ => gmxapi}/include/gmxapi/session/resources.h (100%) rename api/{ => gmxapi}/include/gmxapi/status.h (100%) rename api/{ => gmxapi}/include/gmxapi/system.h (100%) rename api/{ => gmxapi}/include/gmxapiversion.h.in (100%) diff --git a/api/CMakeLists.txt b/api/CMakeLists.txt index bdbd3ead6c..b9e91082db 100644 --- a/api/CMakeLists.txt +++ b/api/CMakeLists.txt @@ -44,5 +44,5 @@ else() endif() option(GMXAPI "Install GROMACS API." ${_GMXAPI_DEFAULT}) if (GMXAPI) - include(gmxapi.cmake) + add_subdirectory(gmxapi) endif() diff --git a/api/gmxapi.cmake b/api/gmxapi/CMakeLists.txt similarity index 99% rename from api/gmxapi.cmake rename to api/gmxapi/CMakeLists.txt index fde3464741..4c73464704 100644 --- a/api/gmxapi.cmake +++ b/api/gmxapi/CMakeLists.txt @@ -73,7 +73,7 @@ target_include_directories(gmxapi PUBLIC $ ) -add_subdirectory(cpp/gmxapi) +add_subdirectory(cpp) ############################### # Install the public interface. diff --git a/api/cpp/gmxapi/CMakeLists.txt b/api/gmxapi/cpp/CMakeLists.txt similarity index 100% rename from api/cpp/gmxapi/CMakeLists.txt rename to api/gmxapi/cpp/CMakeLists.txt diff --git a/api/cpp/gmxapi/cmake/gmxapi-config.cmake.in b/api/gmxapi/cpp/cmake/gmxapi-config.cmake.in similarity index 100% rename from api/cpp/gmxapi/cmake/gmxapi-config.cmake.in rename to api/gmxapi/cpp/cmake/gmxapi-config.cmake.in diff --git a/api/cpp/gmxapi/context.cpp b/api/gmxapi/cpp/context.cpp similarity index 100% rename from api/cpp/gmxapi/context.cpp rename to api/gmxapi/cpp/context.cpp diff --git a/api/cpp/gmxapi/context_impl.h b/api/gmxapi/cpp/context_impl.h similarity index 100% rename from api/cpp/gmxapi/context_impl.h rename to api/gmxapi/cpp/context_impl.h diff --git a/api/cpp/gmxapi/createsession.h b/api/gmxapi/cpp/createsession.h similarity index 100% rename from api/cpp/gmxapi/createsession.h rename to api/gmxapi/cpp/createsession.h diff --git a/api/cpp/gmxapi/exceptions.cpp b/api/gmxapi/cpp/exceptions.cpp similarity index 100% rename from api/cpp/gmxapi/exceptions.cpp rename to api/gmxapi/cpp/exceptions.cpp diff --git a/api/cpp/gmxapi/gmxapi.cpp b/api/gmxapi/cpp/gmxapi.cpp similarity index 100% rename from api/cpp/gmxapi/gmxapi.cpp rename to api/gmxapi/cpp/gmxapi.cpp diff --git a/api/cpp/gmxapi/md.cpp b/api/gmxapi/cpp/md.cpp similarity index 100% rename from api/cpp/gmxapi/md.cpp rename to api/gmxapi/cpp/md.cpp diff --git a/api/cpp/gmxapi/md_impl.h b/api/gmxapi/cpp/md_impl.h similarity index 100% rename from api/cpp/gmxapi/md_impl.h rename to api/gmxapi/cpp/md_impl.h diff --git a/api/cpp/gmxapi/mdmodule.cpp b/api/gmxapi/cpp/mdmodule.cpp similarity index 100% rename from api/cpp/gmxapi/mdmodule.cpp rename to api/gmxapi/cpp/mdmodule.cpp diff --git a/api/cpp/gmxapi/mdsignals.cpp b/api/gmxapi/cpp/mdsignals.cpp similarity index 99% rename from api/cpp/gmxapi/mdsignals.cpp rename to api/gmxapi/cpp/mdsignals.cpp index f402bc30b7..6cf8f6158a 100644 --- a/api/cpp/gmxapi/mdsignals.cpp +++ b/api/gmxapi/cpp/mdsignals.cpp @@ -40,10 +40,9 @@ */ #include - #include - #include + #include "gromacs/mdlib/simulationsignal.h" #include "gromacs/mdrun/runner.h" #include "gromacs/utility/gmxassert.h" diff --git a/api/cpp/gmxapi/mdsignals.h b/api/gmxapi/cpp/mdsignals.h similarity index 100% rename from api/cpp/gmxapi/mdsignals.h rename to api/gmxapi/cpp/mdsignals.h diff --git a/api/cpp/gmxapi/session.cpp b/api/gmxapi/cpp/session.cpp similarity index 99% rename from api/cpp/gmxapi/session.cpp rename to api/gmxapi/cpp/session.cpp index a504d18635..5a9d0f274a 100644 --- a/api/cpp/gmxapi/session.cpp +++ b/api/gmxapi/cpp/session.cpp @@ -33,13 +33,10 @@ * the research papers on the package. Check out http://www.gromacs.org. */ -#include "gmxpre.h" - -#include "config.h" - #include "gmxapi/session.h" #include + #include "gromacs/mdlib/sighandler.h" #include "gromacs/mdrunutility/logging.h" #include "gromacs/restraint/restraintpotential.h" diff --git a/api/cpp/gmxapi/session_impl.h b/api/gmxapi/cpp/session_impl.h similarity index 100% rename from api/cpp/gmxapi/session_impl.h rename to api/gmxapi/cpp/session_impl.h diff --git a/api/cpp/gmxapi/sessionresources.h b/api/gmxapi/cpp/sessionresources.h similarity index 100% rename from api/cpp/gmxapi/sessionresources.h rename to api/gmxapi/cpp/sessionresources.h diff --git a/api/cpp/gmxapi/status.cpp b/api/gmxapi/cpp/status.cpp similarity index 100% rename from api/cpp/gmxapi/status.cpp rename to api/gmxapi/cpp/status.cpp diff --git a/api/cpp/gmxapi/system.cpp b/api/gmxapi/cpp/system.cpp similarity index 100% rename from api/cpp/gmxapi/system.cpp rename to api/gmxapi/cpp/system.cpp index 7d9a27a75b..2a25b84290 100644 --- a/api/cpp/gmxapi/system.cpp +++ b/api/gmxapi/cpp/system.cpp @@ -36,9 +36,9 @@ #include "gmxapi/system.h" #include +#include #include "gromacs/utility.h" -#include #include "gromacs/mdrun/runner.h" #include "gmxapi/context.h" diff --git a/api/cpp/gmxapi/system_impl.h b/api/gmxapi/cpp/system_impl.h similarity index 100% rename from api/cpp/gmxapi/system_impl.h rename to api/gmxapi/cpp/system_impl.h diff --git a/api/cpp/gmxapi/tpr.cpp b/api/gmxapi/cpp/tpr.cpp similarity index 100% rename from api/cpp/gmxapi/tpr.cpp rename to api/gmxapi/cpp/tpr.cpp diff --git a/api/cpp/gmxapi/version.cpp b/api/gmxapi/cpp/version.cpp similarity index 100% rename from api/cpp/gmxapi/version.cpp rename to api/gmxapi/cpp/version.cpp diff --git a/api/cpp/gmxapi/workflow.cpp b/api/gmxapi/cpp/workflow.cpp similarity index 100% rename from api/cpp/gmxapi/workflow.cpp rename to api/gmxapi/cpp/workflow.cpp diff --git a/api/cpp/gmxapi/workflow.h b/api/gmxapi/cpp/workflow.h similarity index 100% rename from api/cpp/gmxapi/workflow.h rename to api/gmxapi/cpp/workflow.h diff --git a/api/cpp/gmxapi/workflow_impl.h b/api/gmxapi/cpp/workflow_impl.h similarity index 100% rename from api/cpp/gmxapi/workflow_impl.h rename to api/gmxapi/cpp/workflow_impl.h diff --git a/api/include/gmxapi/compat/mdparams.h b/api/gmxapi/include/gmxapi/compat/mdparams.h similarity index 100% rename from api/include/gmxapi/compat/mdparams.h rename to api/gmxapi/include/gmxapi/compat/mdparams.h diff --git a/api/include/gmxapi/compat/tpr.h b/api/gmxapi/include/gmxapi/compat/tpr.h similarity index 100% rename from api/include/gmxapi/compat/tpr.h rename to api/gmxapi/include/gmxapi/compat/tpr.h diff --git a/api/include/gmxapi/context.h b/api/gmxapi/include/gmxapi/context.h similarity index 100% rename from api/include/gmxapi/context.h rename to api/gmxapi/include/gmxapi/context.h diff --git a/api/include/gmxapi/exceptions.h b/api/gmxapi/include/gmxapi/exceptions.h similarity index 100% rename from api/include/gmxapi/exceptions.h rename to api/gmxapi/include/gmxapi/exceptions.h diff --git a/api/include/gmxapi/gmxapi.h b/api/gmxapi/include/gmxapi/gmxapi.h similarity index 100% rename from api/include/gmxapi/gmxapi.h rename to api/gmxapi/include/gmxapi/gmxapi.h diff --git a/api/include/gmxapi/gmxapicompat.h b/api/gmxapi/include/gmxapi/gmxapicompat.h similarity index 100% rename from api/include/gmxapi/gmxapicompat.h rename to api/gmxapi/include/gmxapi/gmxapicompat.h diff --git a/api/include/gmxapi/gromacsfwd.h b/api/gmxapi/include/gmxapi/gromacsfwd.h similarity index 100% rename from api/include/gmxapi/gromacsfwd.h rename to api/gmxapi/include/gmxapi/gromacsfwd.h diff --git a/api/include/gmxapi/md.h b/api/gmxapi/include/gmxapi/md.h similarity index 100% rename from api/include/gmxapi/md.h rename to api/gmxapi/include/gmxapi/md.h diff --git a/api/include/gmxapi/md/mdmodule.h b/api/gmxapi/include/gmxapi/md/mdmodule.h similarity index 100% rename from api/include/gmxapi/md/mdmodule.h rename to api/gmxapi/include/gmxapi/md/mdmodule.h diff --git a/api/include/gmxapi/md/mdsignals.h b/api/gmxapi/include/gmxapi/md/mdsignals.h similarity index 100% rename from api/include/gmxapi/md/mdsignals.h rename to api/gmxapi/include/gmxapi/md/mdsignals.h diff --git a/api/include/gmxapi/session.h b/api/gmxapi/include/gmxapi/session.h similarity index 100% rename from api/include/gmxapi/session.h rename to api/gmxapi/include/gmxapi/session.h diff --git a/api/include/gmxapi/session/resources.h b/api/gmxapi/include/gmxapi/session/resources.h similarity index 100% rename from api/include/gmxapi/session/resources.h rename to api/gmxapi/include/gmxapi/session/resources.h diff --git a/api/include/gmxapi/status.h b/api/gmxapi/include/gmxapi/status.h similarity index 100% rename from api/include/gmxapi/status.h rename to api/gmxapi/include/gmxapi/status.h diff --git a/api/include/gmxapi/system.h b/api/gmxapi/include/gmxapi/system.h similarity index 100% rename from api/include/gmxapi/system.h rename to api/gmxapi/include/gmxapi/system.h diff --git a/api/include/gmxapiversion.h.in b/api/gmxapi/include/gmxapiversion.h.in similarity index 100% rename from api/include/gmxapiversion.h.in rename to api/gmxapi/include/gmxapiversion.h.in -- 2.11.4.GIT