From 4bdc2adc8d93e3ed8266ba8dc632c58397752a14 Mon Sep 17 00:00:00 2001
From: chrisrogers1234 <chrisrogers1234@yahoo.co.uk>
Date: Wed, 6 May 2015 15:42:55 +0100
Subject: [PATCH] Clean up on gitignore, add FindGTest.cmake

---
 .gitignore                                    | 16 ++++---
 CMakeLists.txt                                | 14 ++----
 CMakeModules/FindGTest.cmake                  | 48 +++++++++++++++++++
 tests/CMakeLists.txt                          |  4 +-
 .../AbsBeamline/VariableRFCavityTest.cpp      |  2 -
 5 files changed, 64 insertions(+), 20 deletions(-)
 create mode 100644 CMakeModules/FindGTest.cmake

diff --git a/.gitignore b/.gitignore
index 0ce9d1bd5..49629ae96 100644
--- a/.gitignore
+++ b/.gitignore
@@ -130,15 +130,17 @@ src/ValueDefinitions/cmake_install.cmake
 src/cmake_install.cmake
 src/config.h
 src/opal
+src/libOPAL.a
+ippl/src/libippl.a
+ippl/IPPLConfig_install.cmake
 *~
 /Debug/
 src/opal_unit_tests
-src/unit_tests/CMakeFiles/
-src/unit_tests/Makefile
-src/unit_tests/classic_src/Fields/Interpolation/PolynomialVectorTest.cpp_
-src/unit_tests/cmake_install.cmake
-src/unit_tests/gtest/include/
-src/unit_tests/gtest/lib/
-src/unit_tests/gtest/src/
+*CMakeFiles/
+*Makefile
+*cmake_install.cmake
+tests/tools/gtest
+tests/opal_unit_tests
+
 
 
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b15db11f2..6cb41e6b0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -35,10 +35,9 @@ elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
 
 elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
     if (${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS "4.7.3")
-	message (FATAL_ERROR "To build OPAL you need GCC version 4.7.3 or greater")
-
+        message (FATAL_ERROR "To build OPAL you need GCC version 4.7.3 or greater")
     elseif (${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER "4.7.2")
-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -Wno-reorder -Wno-unused-local-typedefs -Werror=unused-variable -std=c++11")
+       set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -Wno-reorder -Wno-unused-local-typedefs -Werror=unused-variable -std=c++11")
     endif ()
 else ()
     message (STATUS "Unknown C++ compiler. Please use the GNU or Intel compiler, IF you are having problems.")
@@ -203,11 +202,6 @@ ADD_SUBDIRECTORY (classic/5.0/src)
 ADD_SUBDIRECTORY (src)
 
 IF (BUILD_OPAL_UNIT_TESTS)
-    FIND_PACKAGE (GTest REQUIRED)
-
-    # touch CMakeLists to force cmake to redo the glob for new test source files
-    # otherwise cmake does not detect new source files
-    EXECUTE_PROCESS(COMMAND touch ${CMAKE_CURRENT_SOURCE_DIR}/tests/CMakeLists.txt)
-    ADD_SUBDIRECTORY(tests)
+     ADD_SUBDIRECTORY(tests)
+ENDIF (BUILD_OPAL_UNIT_TESTS)
 
-ENDIF (BUILD_OPAL_UNIT_TESTS)
\ No newline at end of file
diff --git a/CMakeModules/FindGTest.cmake b/CMakeModules/FindGTest.cmake
new file mode 100644
index 000000000..b2ad8de51
--- /dev/null
+++ b/CMakeModules/FindGTest.cmake
@@ -0,0 +1,48 @@
+#
+# Find gtest Google Test includes and library
+#
+# gtest
+# It can be found at:
+#     http://amas.web.psi.ch/tools/GSL/index.html
+#
+# GTEST_INCLUDE_DIR - where to find gtest/gtest.h
+# GTEST_LIBRARY     - libgtest.a path
+# GTEST_MAIN_LIBRARY     - libgtest_main.a path
+# GTEST_FOUND       - do not attempt to use if "no" or undefined.
+
+FIND_PATH(GTEST_INCLUDE_DIR gtest/gtest.h
+    HINTS $ENV{GTEST_INCLUDE_PATH} $ENV{GTEST_INCLUDE_DIR} $ENV{GTEST_PREFIX}/include $ENV{GTEST_DIR}/include tests/tools/gtest/include
+    PATHS ENV CPP_INCLUDE_PATH
+)
+
+FIND_LIBRARY(GTEST_LIBRARY gtest
+    HINTS $ENV{GTEST_LIBRARY_PATH} $ENV{GTEST_LIBRARY_DIR} $ENV{GTEST_PREFIX}/lib $ENV{GSL_DIR}/lib $ENV{GTEST}/lib tests/tools/gtest/lib
+    PATHS ENV LIBRARY_PATH
+)
+
+FIND_LIBRARY(GTEST_LIBRARY_MAIN gtest_main
+    HINTS $ENV{GTEST_LIBRARY_PATH} $ENV{GTEST_LIBRARY_DIR} $ENV{GTEST_PREFIX}/lib $ENV{GSL_DIR}/lib $ENV{GTEST}/lib tests/tools/gtest/lib
+    PATHS ENV LIBRARY_PATH
+)
+
+set( GTEST_BOTH_LIBRARIES
+    ${GTEST_LIBRARY}
+    ${GTEST_LIBRARY_MAIN}
+)
+
+IF(GTEST_INCLUDE_DIR AND GTEST_LIBRARY)
+    SET( GTEST_FOUND "YES" )
+ENDIF(GTEST_INCLUDE_DIR AND GTEST_LIBRARY)
+
+IF (GTEST_FOUND)
+   IF (NOT GTEST_FIND_QUIETLY)
+      MESSAGE(STATUS "Found gtest libraries: ${GTEST_BOTH_LIBRARIES}")
+      MESSAGE(STATUS "Found gtest include dir: ${GTEST_INCLUDE_DIR}")
+   ENDIF (NOT GTEST_FIND_QUIETLY)
+ELSE (GTEST_FOUND)
+   IF (GTest_FIND_REQUIRED)
+      MESSAGE(FATAL_ERROR "Could not find GTEST!")
+   ENDIF (GTest_FIND_REQUIRED)
+ENDIF (GTEST_FOUND)
+
+
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 41c109fd8..5a128c16d 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,4 +1,5 @@
 cmake_minimum_required(VERSION 2.6)
+FIND_PACKAGE (GTest REQUIRED)
 
 set (TEST_EXE opal_unit_tests)
 set (SRC_DIRS classic_src opal_src)
@@ -51,6 +52,7 @@ INCLUDE_DIRECTORIES(${GTEST_INCLUDE_DIR}
     ${Trilinos_TPL_INCLUDE_DIRS}
     ${IPPL_SOURCE_DIRS}
     ${CCSE_INCLUDE_DIRS}
+    ${GTest_INCLUDE_DIRS}
 )
 
 # Check to see if cmake finds the test files
@@ -59,4 +61,4 @@ INCLUDE_DIRECTORIES(${GTEST_INCLUDE_DIR}
 # Build the test exe. We don't do an install on the unit test exe as it is
 # assumed that this is internal to opal
 ADD_EXECUTABLE(${TEST_EXE} ${TEST_SRCS}) # the opal and classic sources are not needed again if we link agains libOPAL and libCLASSIC!
-TARGET_LINK_LIBRARIES(${TEST_EXE} OPALib CLASSIC ${OPAL_LIBS} ${Trilinos_LIBRARIES} ${Trilinos_TPL_LIBRARIES} ${CCSE_LIBRARIES} -lgfortran ${OTHER_CMAKE_EXE_LINKER_FLAGS} ${GTEST_BOTH_LIBRARIES} -lpthread)
\ No newline at end of file
+TARGET_LINK_LIBRARIES(${TEST_EXE} OPALib CLASSIC ${OPAL_LIBS} ${Trilinos_LIBRARIES} ${Trilinos_TPL_LIBRARIES} ${CCSE_LIBRARIES} -lgfortran ${OTHER_CMAKE_EXE_LINKER_FLAGS} ${GTEST_BOTH_LIBRARIES} -lpthread)
diff --git a/tests/classic_src/AbsBeamline/VariableRFCavityTest.cpp b/tests/classic_src/AbsBeamline/VariableRFCavityTest.cpp
index 7d20dfbd4..39d78763a 100644
--- a/tests/classic_src/AbsBeamline/VariableRFCavityTest.cpp
+++ b/tests/classic_src/AbsBeamline/VariableRFCavityTest.cpp
@@ -216,5 +216,3 @@ TEST(VariableRFCavityTest, TestApplyBoundingBox) {
     EXPECT_FALSE(cav1.apply(R, centroid, t, E, B));
 }
 
-TEST(VariableRFCavityTest, DISABLED_TestAccept) {
-}
-- 
GitLab