From 7749069f175f0ae8059a4d7fa9a4d5f160316cbf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christoph=20Gr=C3=BCninger?= <gruenich@dune-project.org>
Date: Tue, 19 Nov 2019 22:28:16 +0100
Subject: [PATCH] Install headers in same folder structure, not ug/

Similar to other Dune modules
---
 CMakeLists.txt                                |  2 --
 dune/uggrid/CMakeLists.txt                    |  2 +-
 dune/uggrid/domain/CMakeLists.txt             |  2 +-
 dune/uggrid/gm/CMakeLists.txt                 | 17 ++++++++++++---
 dune/uggrid/low/CMakeLists.txt                | 21 +++++++++++++------
 dune/uggrid/numerics/CMakeLists.txt           |  2 +-
 dune/uggrid/parallel/ddd/CMakeLists.txt       |  4 +---
 dune/uggrid/parallel/ddd/basic/CMakeLists.txt |  2 +-
 dune/uggrid/parallel/ddd/ctrl/CMakeLists.txt  |  4 +++-
 dune/uggrid/parallel/ddd/if/CMakeLists.txt    |  4 +++-
 dune/uggrid/parallel/ddd/join/CMakeLists.txt  |  4 +++-
 dune/uggrid/parallel/ddd/xfer/CMakeLists.txt  |  5 ++++-
 dune/uggrid/parallel/dddif/CMakeLists.txt     |  2 +-
 dune/uggrid/parallel/ppif/CMakeLists.txt      |  3 +--
 14 files changed, 49 insertions(+), 25 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 68d8d62fb..d4667108d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -145,8 +145,6 @@ if(HAVE_TIME_H AND HAVE_SYS_TIME_H)
   set(TIME_WITH_SYS_TIME True)
 endif()
 
-set(CMAKE_INSTALL_PKGINCLUDEDIR "${CMAKE_INSTALL_INCLUDEDIR}/ug")
-
 add_subdirectory(dune)
 add_subdirectory(cmake/modules)
 # set variable names for config.h
diff --git a/dune/uggrid/CMakeLists.txt b/dune/uggrid/CMakeLists.txt
index 117283b0e..6f7faae7c 100644
--- a/dune/uggrid/CMakeLists.txt
+++ b/dune/uggrid/CMakeLists.txt
@@ -7,7 +7,7 @@ add_subdirectory(parallel)
 
 install(
   FILES ugdevices.h commands.h initug.h
-  DESTINATION ${CMAKE_INSTALL_PKGINCLUDEDIR})
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/uggrid)
 
 add_library(devices OBJECT ugdevices.cc)
 ug_add_dim_libs(ugui OBJECT ugdevices.cc commands.cc)
diff --git a/dune/uggrid/domain/CMakeLists.txt b/dune/uggrid/domain/CMakeLists.txt
index b2a2bb9a5..a8bcc7494 100644
--- a/dune/uggrid/domain/CMakeLists.txt
+++ b/dune/uggrid/domain/CMakeLists.txt
@@ -6,4 +6,4 @@ ug_add_dim_libs(domS OBJECT
 install(FILES
   domain.h
   std_domain.h
-  DESTINATION ${CMAKE_INSTALL_PKGINCLUDEDIR})
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/uggrid/domain)
diff --git a/dune/uggrid/gm/CMakeLists.txt b/dune/uggrid/gm/CMakeLists.txt
index 98fdd95f5..67f47a692 100644
--- a/dune/uggrid/gm/CMakeLists.txt
+++ b/dune/uggrid/gm/CMakeLists.txt
@@ -4,8 +4,6 @@ set(SOURCES  algebra.cc enrol.cc evm.cc mgio.cc
   dlmgr.cc gmcheck.cc er.cc mgheapmgr.cc rm-write2file.cc )
 # put this "template" into distribution-tarball as well
 set(EXTRA_DIST  dlmgr.t)
-set(gminclude_HEADERS  cw.h elements.h gm.h pargm.h evm.h
-  shapes.h ugm.h dlmgr.h algebra.h rm.h refine.h rm-write2file.h)
 
 ug_add_dim_libs(ug_gm OBJECT SOURCES ${SOURCES})# OBJECT_DIM_LIBS gg)
 
@@ -27,4 +25,17 @@ add_executable(rm3-writeRefRules2file rm-writeRefRules2file.cc rm-write2file.h r
 target_compile_definitions(rm3-writeRefRules2file PRIVATE -DUG_DIM_3)
 target_link_libraries(rm3-writeRefRules2file PRIVATE ugL ugS3 ${DUNE_LIBS})
 
-install(FILES ${gminclude_HEADERS} DESTINATION ${CMAKE_INSTALL_PKGINCLUDEDIR})
+install(FILES
+  algebra.h
+  cw.h
+  dlmgr.h
+  elements.h
+  evm.h
+  gm.h
+  pargm.h
+  refine.h
+  rm.h
+  rm-write2file.h
+  shapes.h
+  ugm.h
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/uggrid/gm)
diff --git a/dune/uggrid/low/CMakeLists.txt b/dune/uggrid/low/CMakeLists.txt
index 0ec512e7d..8a8d8b611 100644
--- a/dune/uggrid/low/CMakeLists.txt
+++ b/dune/uggrid/low/CMakeLists.txt
@@ -1,10 +1,5 @@
 add_subdirectory(test)
 
-# normal headers
-set(lowinclude_HEADERS  heaps.h ugenv.h ugstruct.h misc.h debug.h ugtypes.h
-  general.h dimension.h ugtimer.h scan.h
-  defaults.h fileopen.h namespace.h)
-
 # dimension-independent lib
 add_library(low OBJECT ugenv.cc heaps.cc fifo.cc misc.cc defaults.cc initlow.cc
   fileopen.cc ugstruct.cc debug.cc bio.cc scan.cc ugtimer.cc)
@@ -14,4 +9,18 @@ if(DUNE_BUILD_BOTH_LIBS)
   set_property(TARGET low PROPERTY POSITION_INDEPENDENT_CODE TRUE)
 endif()
 
-install(FILES ${lowinclude_HEADERS} DESTINATION  ${CMAKE_INSTALL_PKGINCLUDEDIR})
+install(FILES
+  debug.h
+  defaults.h
+  dimension.h
+  fileopen.h
+  general.h
+  heaps.h
+  misc.h
+  namespace.h
+  scan.h
+  ugenv.h
+  ugstruct.h
+  ugtimer.h
+  ugtypes.h
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/uggrid/low)
diff --git a/dune/uggrid/numerics/CMakeLists.txt b/dune/uggrid/numerics/CMakeLists.txt
index 5dec31675..cbcce48e6 100644
--- a/dune/uggrid/numerics/CMakeLists.txt
+++ b/dune/uggrid/numerics/CMakeLists.txt
@@ -6,4 +6,4 @@ install(FILES
   np.h
   sm.h
   udm.h
-  DESTINATION ${CMAKE_INSTALL_PKGINCLUDEDIR})
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/uggrid/numerics)
diff --git a/dune/uggrid/parallel/ddd/CMakeLists.txt b/dune/uggrid/parallel/ddd/CMakeLists.txt
index 334e191b1..ea5cc323a 100644
--- a/dune/uggrid/parallel/ddd/CMakeLists.txt
+++ b/dune/uggrid/parallel/ddd/CMakeLists.txt
@@ -3,6 +3,7 @@ install(FILES
   dddcontext.hh
   dddtypes.hh
   dddtypes_impl.hh
+  include/ddd.h
   DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/uggrid/parallel/ddd)
 
 if(UG_ENABLE_PARALLEL)
@@ -19,7 +20,4 @@ if(UG_ENABLE_PARALLEL)
   if(HAVE_MPI)
     ug_add_dim_libs(ddd OBJECT ddd.cc)
   endif()
-
-  # header files that are not explicitly used but need to be distributed
-  install(FILES include/ddd.h DESTINATION ${CMAKE_INSTALL_PKGINCLUDEDIR})
 endif()
diff --git a/dune/uggrid/parallel/ddd/basic/CMakeLists.txt b/dune/uggrid/parallel/ddd/basic/CMakeLists.txt
index 3073a40c5..bda6ee86c 100644
--- a/dune/uggrid/parallel/ddd/basic/CMakeLists.txt
+++ b/dune/uggrid/parallel/ddd/basic/CMakeLists.txt
@@ -6,4 +6,4 @@ if(MPI_C_FOUND)
 endif()
 
 install(FILES notify.h lowcomm.h oopp.h ooppcc.h
-  DESTINATION ${CMAKE_INSTALL_PKGINCLUDEDIR})
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/uggrid/parallel/ddd/basic)
diff --git a/dune/uggrid/parallel/ddd/ctrl/CMakeLists.txt b/dune/uggrid/parallel/ddd/ctrl/CMakeLists.txt
index f0b9977a7..ab5f4d3ae 100644
--- a/dune/uggrid/parallel/ddd/ctrl/CMakeLists.txt
+++ b/dune/uggrid/parallel/ddd/ctrl/CMakeLists.txt
@@ -2,4 +2,6 @@ if(MPI_C_FOUND)
   ug_add_dim_libs(ctrl OBJECT SOURCES cons.cc debug.cc stat.cc)
 endif()
 
-install(FILES stat.h DESTINATION ${CMAKE_INSTALL_PKGINCLUDEDIR})
+install(FILES
+  stat.h
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/uggrid/parallel/ddd/ctrl)
diff --git a/dune/uggrid/parallel/ddd/if/CMakeLists.txt b/dune/uggrid/parallel/ddd/if/CMakeLists.txt
index 58964eff2..e5a79d2e8 100644
--- a/dune/uggrid/parallel/ddd/if/CMakeLists.txt
+++ b/dune/uggrid/parallel/ddd/if/CMakeLists.txt
@@ -3,4 +3,6 @@ set(SOURCES  ifcreate.cc ifuse.cc ifcmds.cc ifcheck.cc ifobjsc.cc)
 if(MPI_C_FOUND)
   ug_add_dim_libs(if OBJECT SOURCES ${SOURCES})
 endif()
-install(FILES if.h DESTINATION ${CMAKE_INSTALL_PKGINCLUDEDIR})
+install(FILES
+  if.h
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/uggrid/parallel/ddd/if)
diff --git a/dune/uggrid/parallel/ddd/join/CMakeLists.txt b/dune/uggrid/parallel/ddd/join/CMakeLists.txt
index 058b07d43..a9d8b1da0 100644
--- a/dune/uggrid/parallel/ddd/join/CMakeLists.txt
+++ b/dune/uggrid/parallel/ddd/join/CMakeLists.txt
@@ -1,6 +1,8 @@
 set(SOURCES  jcmds.cc join.cc)
 
-install(FILES join.h DESTINATION ${CMAKE_INSTALL_PKGINCLUDEDIR})
+install(FILES
+  join.h
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/uggrid/parallel/ddd/join)
 
 if(MPI_C_FOUND)
   ug_add_dim_libs(join OBJECT SOURCES ${SOURCES})
diff --git a/dune/uggrid/parallel/ddd/xfer/CMakeLists.txt b/dune/uggrid/parallel/ddd/xfer/CMakeLists.txt
index ea3fd1a06..ad3286cf0 100644
--- a/dune/uggrid/parallel/ddd/xfer/CMakeLists.txt
+++ b/dune/uggrid/parallel/ddd/xfer/CMakeLists.txt
@@ -10,4 +10,7 @@ set(SOURCES  cmds.cc
 if(MPI_C_FOUND)
   ug_add_dim_libs(xfer OBJECT SOURCES ${SOURCES})
 endif()
-install(FILES sll.h xfer.h  DESTINATION ${CMAKE_INSTALL_PKGINCLUDEDIR})
+
+install(FILES
+  sll.h xfer.h
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/uggrid/parallel/ddd/xfer)
diff --git a/dune/uggrid/parallel/dddif/CMakeLists.txt b/dune/uggrid/parallel/dddif/CMakeLists.txt
index c78735c5a..609c8d929 100644
--- a/dune/uggrid/parallel/dddif/CMakeLists.txt
+++ b/dune/uggrid/parallel/dddif/CMakeLists.txt
@@ -1,4 +1,4 @@
-install(FILES parallel.h DESTINATION ${CMAKE_INSTALL_PKGINCLUDEDIR})
+install(FILES parallel.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/uggrid/parallel/dddif/)
 
 if(MPI_C_FOUND)
   include_directories(${PROJECT_SOURCE_DIR}/dune/uggrid/parallel/ddd/include)
diff --git a/dune/uggrid/parallel/ppif/CMakeLists.txt b/dune/uggrid/parallel/ppif/CMakeLists.txt
index fe0c64f50..25aaf9124 100644
--- a/dune/uggrid/parallel/ppif/CMakeLists.txt
+++ b/dune/uggrid/parallel/ppif/CMakeLists.txt
@@ -1,11 +1,10 @@
 install(FILES
+  ppif.h
   ppifcontext.hh
   ppiftypes.hh
   DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/uggrid/parallel/ppif)
 
 if(UG_ENABLE_PARALLEL)
-  install(FILES ppif.h DESTINATION ${CMAKE_INSTALL_PKGINCLUDEDIR})
-
   if(MPI_C_FOUND)
     add_library(ppifmpi OBJECT ppif.cc)
     add_dune_mpi_flags(ppifmpi OBJECT)
-- 
GitLab