From 90a32b9d4145ac6ce0581b678274ca8c1d3b4da8 Mon Sep 17 00:00:00 2001
From: Markus Blatt <mblatt@dune-project.org>
Date: Thu, 16 Aug 2012 19:38:50 +0000
Subject: [PATCH] Multiple inclusion detection for package configuration.

[[Imported from SVN: r6908]]
---
 bin/duneproject                       | 6 +++++-
 cmake/pkg/dune-common-config.cmake.in | 4 +++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/bin/duneproject b/bin/duneproject
index b298f5493..cd88748e2 100755
--- a/bin/duneproject
+++ b/bin/duneproject
@@ -465,7 +465,7 @@ M_DELIM
 ################## CMakeLists.txt ##################
 echo " - $PROJECT/CMakeLists.txt"
 cat> "$PROJECT/CMakeLists.txt" << M_DELIM
-cmake_minimum_required(VERSION 2.8)
+cmake_minimum_required(VERSION 2.8.8)
 project($PROJECT CXX)
 
 # for this to work you will have to modify the CMAKE_MODULE_PATH
@@ -841,6 +841,7 @@ EOF
 
 echo "- $PROJECT/$PROJECT""-config.cmake.in"
 cat> "$PROJECT/$PROJECT""-config.cmake.in" <<EOF
+if(NOT @DUNE_MOD_NAME@_FOUND)
 #import the target
 #include("@CMAKE_BINARY_DIR@/@DUNE_MOD_NAME@-targets.cmake")
 
@@ -853,6 +854,7 @@ set(@DUNE_MOD_NAME@_CXX_FLAGS_MINSIZEREL "@CMAKE_CXX_FLAGS_MINSIZEREL@")
 set(@DUNE_MOD_NAME@_CXX_FLAGS_RELEASE "@CMAKE_CXX_FLAGS_RELEASE@")
 set(@DUNE_MOD_NAME@_CXX_FLAGS_RELWITHDEBINFO "@CMAKE_CXX_FLAGS_RELWITHDEBINFO@")
 set(@DUNE_MOD_NAME@_LIBRARIES "")
+endif(NOT @DUNE_MOD_NAME@_FOUND)
 EOF
 
 mkdir "$PROJECT/cmake"
@@ -861,6 +863,7 @@ mkdir "$PROJECT/cmake/pkg"
 
 echo "- $PROJECT/cmake/pkg/$PROJECT""-config.cmake.in"
 cat> "$PROJECT/cmake/pkg/$PROJECT""-config.cmake.in" <<EOF
+if(NOT @DUNE_MOD_NAME@_FOUND)
 #compute installation prefix relative to this file
 get_filename_component(_dir "\${CMAKE_CURRENT_LIST_FILE}" PATH)
 get_filename_component(_prefix "\${_dir}/../../.." ABSOLUTE)
@@ -875,6 +878,7 @@ set(@DUNE_MOD_NAME@_CXX_FLAGS_DEBUG "@CMAKE_CXX_FLAGS_DEBUG@")
 set(@DUNE_MOD_NAME@_CXX_FLAGS_MINSIZEREL "@CMAKE_CXX_FLAGS_MINSIZEREL@")
 set(@DUNE_MOD_NAME@_CXX_FLAGS_RELEASE "@CMAKE_CXX_FLAGS_RELEASE@")
 set(@DUNE_MOD_NAME@_CXX_FLAGS_RELWITHDEBINFO "@CMAKE_CXX_FLAGS_RELWITHDEBINFO@")
+endif(NOT @DUNE_MOD_NAME@_FOUND)
 EOF
 
 echo "- $PROJECT/$PROJECT""-version.cmake.in"
diff --git a/cmake/pkg/dune-common-config.cmake.in b/cmake/pkg/dune-common-config.cmake.in
index 877edf4f0..4d3c83a2e 100644
--- a/cmake/pkg/dune-common-config.cmake.in
+++ b/cmake/pkg/dune-common-config.cmake.in
@@ -1,3 +1,4 @@
+if(NOT @DUNE_MOD_NAME@_FOUND)
 #compute installation prefix relative to this file
 get_filename_component(_dir "${CMAKE_CURRENT_LIST_FILE}" PATH)
 get_filename_component(_prefix "${_dir}/../../.." ABSOLUTE)
@@ -16,4 +17,5 @@ set(@DUNE_MOD_NAME@_CXX_FLAGS_RELWITHDEBINFO "@CMAKE_CXX_FLAGS_RELWITHDEBINFO@")
 set(@DUNE_MOD_NAME@_LIBRARIES "dunecommon")
 set(@DUNE_MOD_NAME@_SCRIPT_DIR "${_prefix}/share/cmake/scripts")
 set(@DUNE_MOD_NAME@_SCRIPT_SOURCE_DIR "${_prefix}/share/cmake/scripts")
-set(DOXYSTYLE_FILE "${_prefix}/share/dune-common/doc/doxygen/Doxystyle")
\ No newline at end of file
+set(DOXYSTYLE_FILE "${_prefix}/share/dune-common/doc/doxygen/Doxystyle")
+endif(NOT @DUNE_MOD_NAME@_FOUND)
\ No newline at end of file
-- 
GitLab