From 981e6693a8689bc7402c334a114378372f13ddc7 Mon Sep 17 00:00:00 2001
From: Wenqing Wang <wenqing.wang@ufz.de>
Date: Mon, 25 Nov 2013 13:10:08 +0100
Subject: [PATCH] Update cmake configuration files for PETSc according to the
 code review

---
 CMakeLists.txt                                | 24 +----------------
 MathLib/CMakeLists.txt                        |  2 +-
 Tests/CMakeLists.txt                          |  0
 scripts/cmake/ExternalProjectBoost.cmake      |  4 +--
 scripts/cmake/Find.cmake                      | 20 ++++++++++++--
 scripts/cmake/SubmoduleCheck.sh               |  0
 scripts/cmake/findPETSC/FindPETSc.cmake       |  0
 .../FindPackageHandleStandardArgs.cmake       |  0
 .../findPETSC/FindPackageMultipass.cmake      |  0
 scripts/cmake/findPETSC/LICENSE               | 26 +++++++++++++++++++
 scripts/cmake/findPETSC/README.txt            |  0
 .../findPETSC/ResolveCompilerPaths.cmake      |  0
 scripts/init.sh                               |  0
 scripts/setup/setup.sh                        |  0
 scripts/setup/setup_libraries.sh              |  0
 scripts/setup/setup_prerequisites.sh          |  0
 scripts/test/gcovr                            |  0
 17 files changed, 48 insertions(+), 28 deletions(-)
 mode change 100755 => 100644 CMakeLists.txt
 mode change 100755 => 100644 MathLib/CMakeLists.txt
 mode change 100755 => 100644 Tests/CMakeLists.txt
 mode change 100755 => 100644 scripts/cmake/ExternalProjectBoost.cmake
 mode change 100755 => 100644 scripts/cmake/Find.cmake
 mode change 100755 => 100644 scripts/cmake/SubmoduleCheck.sh
 mode change 100755 => 100644 scripts/cmake/findPETSC/FindPETSc.cmake
 mode change 100755 => 100644 scripts/cmake/findPETSC/FindPackageHandleStandardArgs.cmake
 mode change 100755 => 100644 scripts/cmake/findPETSC/FindPackageMultipass.cmake
 create mode 100644 scripts/cmake/findPETSC/LICENSE
 mode change 100755 => 100644 scripts/cmake/findPETSC/README.txt
 mode change 100755 => 100644 scripts/cmake/findPETSC/ResolveCompilerPaths.cmake
 mode change 100755 => 100644 scripts/init.sh
 mode change 100755 => 100644 scripts/setup/setup.sh
 mode change 100755 => 100644 scripts/setup/setup_libraries.sh
 mode change 100755 => 100644 scripts/setup/setup_prerequisites.sh
 mode change 100755 => 100644 scripts/test/gcovr

diff --git a/CMakeLists.txt b/CMakeLists.txt
old mode 100755
new mode 100644
index 69124cff7e8..a4d5afb5000
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -23,8 +23,7 @@ SET (OGS_DATE "2012-08-20")
 ###########################
 ### Preliminary Options ###
 ###########################
-OPTION(EXTERNAL_BOOST_DOWNLOAD "Should download boost?" OFF)
-
+OPTION(OGS_NO_BOOST_DOWNLOAD "Always use the system installed Boost?" OFF)
 
 ### CMake includes ###
 INCLUDE(scripts/cmake/CheckTypeSizes.cmake)
@@ -120,27 +119,6 @@ IF(OGS_USE_LIS)
     ADD_DEFINITIONS(-DUSE_LIS)
 ENDIF()
 
-IF(OGS_USE_PETSC)
-    MESSAGE (STATUS  "Configuring for PETSc" )
-      
-    SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/scripts/cmake/findPETSC)
-    FIND_PACKAGE(PETSc REQUIRED)
- 
-    include_directories(
-              ${PETSC_INCLUDES} 
-     )
-
-    FIND_PACKAGE(MPI)
-    IF(MPI_FOUND)		
-       SET(CMAKE_C_COMPILER ${MPI_COMPILER})
-       SET(CMAKE_CXX_COMPILER ${MPI_COMPILER})
-    ELSE(MPI_FOUND)
-       MESSAGE (FATAL_ERROR "Aborting: MPI implementation is not found!")
-    ENDIF(MPI_FOUND)			
-
-    ADD_DEFINITIONS(-DUSE_PETSC)
-ENDIF()
-
 
 
 IF(OGS_USE_EIGEN)
diff --git a/MathLib/CMakeLists.txt b/MathLib/CMakeLists.txt
old mode 100755
new mode 100644
index bc6255a62f2..4e01547a2ef
--- a/MathLib/CMakeLists.txt
+++ b/MathLib/CMakeLists.txt
@@ -55,7 +55,7 @@ IF (LIS_FOUND)
 ENDIF()
 
 IF (OGS_USE_PETSC)
-	INCLUDE_DIRECTORIES ( LinAlg/PETS )   
+    INCLUDE_DIRECTORIES ( LinAlg/PETSc )   
 
     GET_SOURCE_FILES(SOURCES_LINALG_PETSC LinAlg/PETSc)
     SET ( SOURCES ${SOURCES} ${SOURCES_LINALG_PETSC})
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
old mode 100755
new mode 100644
diff --git a/scripts/cmake/ExternalProjectBoost.cmake b/scripts/cmake/ExternalProjectBoost.cmake
old mode 100755
new mode 100644
index aa105882310..f560dab99eb
--- a/scripts/cmake/ExternalProjectBoost.cmake
+++ b/scripts/cmake/ExternalProjectBoost.cmake
@@ -101,7 +101,7 @@ IF(WIN32)
 	ENDIF()
 ENDIF()
 
-if(EXTERNAL_BOOST_DOWNLOAD)
+if(NOT OGS_NO_BOOST_DOWNLOAD)
 # Set archive sources
 SET(BOOST_ARCHIVE_EXT "tar.bz2")
 SET(BOOST_ARCHIVE_MD5 3a855e0f919107e0ca4de4d84ad3f750)
@@ -132,4 +132,4 @@ IF(NOT Boost_INCLUDE_DIRS)
 ENDIF()
 
 LINK_DIRECTORIES( ${source_dir}/stage/lib/ )
-endif(EXTERNAL_BOOST_DOWNLOAD)
+endif(NOT OGS_NO_BOOST_DOWNLOAD)
diff --git a/scripts/cmake/Find.cmake b/scripts/cmake/Find.cmake
old mode 100755
new mode 100644
index 0cfd843cfdd..aabb132522d
--- a/scripts/cmake/Find.cmake
+++ b/scripts/cmake/Find.cmake
@@ -32,9 +32,9 @@ FIND_PACKAGE(GitHub)
 FIND_PROGRAM(GIT_TOOL_PATH git HINTS ${GITHUB_BIN_DIR} DOC "The git command line interface")
 IF(NOT GIT_TOOL_PATH)
 	IF(WIN32)
-		MESSAGE(STATUS "Git not found! Please install GitHub for Windows or Git!")
+		MESSAGE(FATAL_ERROR "Git not found! Please install GitHub for Windows or Git!")
 	ELSE()
-		MESSAGE(STATUS "Git not found but is required!")
+		MESSAGE(FATAL_ERROR "Git not found but is required!")
 	ENDIF()
 ENDIF()
 
@@ -165,3 +165,19 @@ ENDIF() # Shapelib_FOUND
 IF(OGS_USE_LIS)
 	FIND_PACKAGE( LIS REQUIRED )
 ENDIF()
+
+
+IF(OGS_USE_PETSC)
+    MESSAGE (STATUS  "Configuring for PETSc" )
+      
+    SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/scripts/cmake/findPETSC)
+    FIND_PACKAGE(PETSc REQUIRED)
+ 
+    include_directories(
+              ${PETSC_INCLUDES} 
+     )
+
+    FIND_PACKAGE(MPI REQUIRED)
+
+    ADD_DEFINITIONS(-DOGS_USE_PETSC)
+ENDIF()
diff --git a/scripts/cmake/SubmoduleCheck.sh b/scripts/cmake/SubmoduleCheck.sh
old mode 100755
new mode 100644
diff --git a/scripts/cmake/findPETSC/FindPETSc.cmake b/scripts/cmake/findPETSC/FindPETSc.cmake
old mode 100755
new mode 100644
diff --git a/scripts/cmake/findPETSC/FindPackageHandleStandardArgs.cmake b/scripts/cmake/findPETSC/FindPackageHandleStandardArgs.cmake
old mode 100755
new mode 100644
diff --git a/scripts/cmake/findPETSC/FindPackageMultipass.cmake b/scripts/cmake/findPETSC/FindPackageMultipass.cmake
old mode 100755
new mode 100644
diff --git a/scripts/cmake/findPETSC/LICENSE b/scripts/cmake/findPETSC/LICENSE
new file mode 100644
index 00000000000..ecc4fdc1803
--- /dev/null
+++ b/scripts/cmake/findPETSC/LICENSE
@@ -0,0 +1,26 @@
+Copyright 
+ Jed Brown, Argonne National Laboratory
+
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice, this
+  list of conditions and the following disclaimer in the documentation and/or
+  other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/scripts/cmake/findPETSC/README.txt b/scripts/cmake/findPETSC/README.txt
old mode 100755
new mode 100644
diff --git a/scripts/cmake/findPETSC/ResolveCompilerPaths.cmake b/scripts/cmake/findPETSC/ResolveCompilerPaths.cmake
old mode 100755
new mode 100644
diff --git a/scripts/init.sh b/scripts/init.sh
old mode 100755
new mode 100644
diff --git a/scripts/setup/setup.sh b/scripts/setup/setup.sh
old mode 100755
new mode 100644
diff --git a/scripts/setup/setup_libraries.sh b/scripts/setup/setup_libraries.sh
old mode 100755
new mode 100644
diff --git a/scripts/setup/setup_prerequisites.sh b/scripts/setup/setup_prerequisites.sh
old mode 100755
new mode 100644
diff --git a/scripts/test/gcovr b/scripts/test/gcovr
old mode 100755
new mode 100644
-- 
GitLab