From 2cfb61fba877af4daaf1f894f5f4ca7aaf9b75d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20M=C3=B6ller?= Date: Sat, 9 Jun 2018 12:13:15 +0200 Subject: [PATCH 1/3] use cmake internal GTest finder module --- cmake/FindGoogleTest.cmake | 121 ----------------------------------- src/Unittests/CMakeLists.txt | 2 +- 2 files changed, 1 insertion(+), 122 deletions(-) delete mode 100644 cmake/FindGoogleTest.cmake diff --git a/cmake/FindGoogleTest.cmake b/cmake/FindGoogleTest.cmake deleted file mode 100644 index 15c22cd6..00000000 --- a/cmake/FindGoogleTest.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# Locate and configure the Google Test libraries. -# -# Defines the following variable: -# -# GTEST_FOUND - Found the Google Test libraries -# GTEST_INCLUDE_DIRS - The directories needed on the include paths -# GTEST_LIBRARIES - The libraries to link to test executables -# GTEST_MAIN_LIBRARIES - The libraries to link for automatic main() provision -# -# Copyright 2008 Chandler Carruth -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may not -# use this file except in compliance with the License. You may obtain a copy -# of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -if(GTEST_INCLUDE_DIRS AND GTEST_LIBRARIES AND GTEST_MAIN_LIBRARIES) - set(GTEST_FOUND true) -else(GTEST_INCLUDE_DIRS AND GTEST_LIBRARIES AND GTEST_MAIN_LIBRARIES) - set(GTEST_PREFIX "" CACHE PATH "Installation prefix for Google Test") - if(GTEST_PREFIX) - find_path(_GTEST_INCLUDE_DIR "gtest/gtest.h" - PATHS "${GTEST_PREFIX}/include" - NO_DEFAULT_PATH) - find_library(_GTEST_LIBRARY gtest - PATHS "${GTEST_PREFIX}/lib" - NO_DEFAULT_PATH) - find_library(_GTEST_MAIN_LIBRARY gtest_main - PATHS "${GTEST_PREFIX}/lib" - NO_DEFAULT_PATH) - - if ( _GTEST_LIBRARY ) - get_filename_component(_GTEST_LIBRARY_DIR ${_GTEST_LIBRARY} PATH CACHE ) - endif() - else(GTEST_PREFIX) - find_path(_GTEST_INCLUDE_DIR "gtest/gtest.h" - PATHS - ~/sw/gtest-1.8.0/include - ~/sw/gtest-1.7.0/include - ~/sw/gtest/include - /ACG/acgdev/gcc-x86_64/gtest/include - /opt/local/include - /usr/local/include - /usr/include - "C:/libs/win32/gtest/include" - NO_DEFAULT_PATH ) - find_library(_GTEST_LIBRARY gtest - PATHS - ~/sw/gtest-1.8.0/lib - ~/sw/gtest-1.7.0/lib - ~/sw/gtest/lib - /ACG/acgdev/gcc-x86_64/gtest/lib - /opt/local/lib - /usr/local/lib - /usr/include - "C:/libs/win32/gtest/lib" - NO_DEFAULT_PATH ) - find_library(_GTEST_MAIN_LIBRARY gtest_main - PATHS - ~/sw/gtest-1.8.0/lib - ~/sw/gtest-1.7.0/lib - ~/sw/gtest/lib - /ACG/acgdev/gcc-x86_64/gtest/lib - /opt/local/lib - /usr/local/lib - /usr/include - "C:/libs/win32/gtest/lib" - NO_DEFAULT_PATH ) - - if ( _GTEST_LIBRARY ) - get_filename_component(_GTEST_LIBRARY_DIR ${_GTEST_LIBRARY} PATH CACHE ) - endif() - - endif(GTEST_PREFIX) - if(_GTEST_INCLUDE_DIR AND _GTEST_LIBRARY AND _GTEST_MAIN_LIBRARY) - set(GTEST_FOUND true) - set(GTEST_INCLUDE_DIRS ${_GTEST_INCLUDE_DIR} CACHE PATH - "Include directories for Google Test framework") - - if ( NOT WIN32 ) - set(GTEST_LIBRARIES ${_GTEST_LIBRARY} CACHE FILEPATH - "Libraries to link for Google Test framework") - set(GTEST_MAIN_LIBRARIES ${_GTEST_MAIN_LIBRARY} CACHE FILEPATH - "Libraries to link for Google Test automatic main() definition") - set(GTEST_MAIN_LIBRARY ${_GTEST_MAIN_LIBRARY} CACHE FILEPATH - "Libraries to link for Google Test automatic main() definition") - else() - set(GTEST_LIBRARIES "optimized;gtest;debug;gtestd" CACHE FILEPATH - "Libraries to link for Google Test framework") - set(GTEST_MAIN_LIBRARIES "optimized;gtest_main;debug;gtest_maind" CACHE FILEPATH - "Libraries to link for Google Test automatic main() definition") - set(GTEST_MAIN_LIBRARY "optimized;gtest_main;debug;gtest_maind" CACHE FILEPATH - "Libraries to link for Google Test automatic main() definition") - endif() - - # Macro required to use google test with vs2012 - if ( CMAKE_GENERATOR MATCHES "^Visual Studio 11.*" ) - add_definitions(-D_VARIADIC_MAX=10) - endif() - - set(GTEST_LIBRARY ${_GTEST_LIBRARY} CACHE FILEPATH - "GTest Libraries") - set(GTEST_LIBRARY_DIR ${_GTEST_LIBRARY_DIR} CACHE FILEPATH - "Library dir containing Google Test libraries") - mark_as_advanced(GTEST_INCLUDE_DIRS GTEST_LIBRARIES GTEST_MAIN_LIBRARIES GTEST_LIBRARY_DIR ) - if(NOT GoogleTest_FIND_QUIETLY) - message(STATUS "Found Google Test: ${GTEST_LIBRARIES}") - endif(NOT GoogleTest_FIND_QUIETLY) - else(_GTEST_INCLUDE_DIR AND _GTEST_LIBRARY AND _GTEST_MAIN_LIBRARY) - if(GoogleTest_FIND_REQUIRED) - message(FATAL_ERROR "Could not find the Google Test framework") - endif(GoogleTest_FIND_REQUIRED) - endif(_GTEST_INCLUDE_DIR AND _GTEST_LIBRARY AND _GTEST_MAIN_LIBRARY) -endif(GTEST_INCLUDE_DIRS AND GTEST_LIBRARIES AND GTEST_MAIN_LIBRARIES) diff --git a/src/Unittests/CMakeLists.txt b/src/Unittests/CMakeLists.txt index ab128f5e..f73e4ddd 100644 --- a/src/Unittests/CMakeLists.txt +++ b/src/Unittests/CMakeLists.txt @@ -11,7 +11,7 @@ endif() if ( OPENMESH_BUILD_UNIT_TESTS ) # Search for gtest headers and libraries - find_package(GoogleTest) + find_package(GTest) if(GTEST_FOUND) From 0113d98892ff9a919c86728674806be7f76c2d4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20M=C3=B6ller?= Date: Sat, 9 Jun 2018 13:32:33 +0200 Subject: [PATCH 2/3] renamed/added GTEST path variable --- CI/Windows.bat | 6 +++--- CI/ci-linux.sh | 3 +++ CI/ci-mac.sh | 3 +++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CI/Windows.bat b/CI/Windows.bat index 4460e6fe..278ac033 100644 --- a/CI/Windows.bat +++ b/CI/Windows.bat @@ -113,7 +113,7 @@ ECHO "=============================================================" -"C:\Program Files\CMake\bin\cmake.exe" -DGTEST_PREFIX="%LIBPATH%\%ARCHITECTURE%\%GTESTVERSION%" -G "%GENERATOR%" -DCMAKE_BUILD_TYPE=Release -DBUILD_APPS=%APPS% -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DCMAKE_WINDOWS_LIBS_DIR="e:\libs" -DOPENMESH_BUILD_SHARED=%SHARED% %CMAKE_CONFIGURATION% .. +"C:\Program Files\CMake\bin\cmake.exe" -DGTEST_ROOT="%LIBPATH%\%ARCHITECTURE%\%GTESTVERSION%" -G "%GENERATOR%" -DCMAKE_BUILD_TYPE=Release -DBUILD_APPS=%APPS% -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DCMAKE_WINDOWS_LIBS_DIR="e:\libs" -DOPENMESH_BUILD_SHARED=%SHARED% %CMAKE_CONFIGURATION% .. %VS_PATH% /Build "Release" OpenMesh.sln /Project "ALL_BUILD" @@ -133,7 +133,7 @@ mkdir build-debug cd build-debug -"C:\Program Files\CMake\bin\cmake.exe" -DGTEST_PREFIX="%LIBPATH%\%ARCHITECTURE%\%GTESTVERSION%" -G "%GENERATOR%" -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DCMAKE_BUILD_TYPE=Debug -DOPENMESH_BUILD_SHARED=%SHARED% -DBUILD_APPS=%APPS% %CMAKE_CONFIGURATION% .. +"C:\Program Files\CMake\bin\cmake.exe" -DGTEST_ROOT="%LIBPATH%\%ARCHITECTURE%\%GTESTVERSION%" -G "%GENERATOR%" -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DCMAKE_BUILD_TYPE=Debug -DOPENMESH_BUILD_SHARED=%SHARED% -DBUILD_APPS=%APPS% %CMAKE_CONFIGURATION% .. %VS_PATH% /Build "Debug" OpenMesh.sln /Project "ALL_BUILD" @@ -163,7 +163,7 @@ cd build-release del *.exe -"C:\Program Files\CMake\bin\cmake.exe" -DGTEST_PREFIX="%LIBPATH%\%ARCHITECTURE%\%GTESTVERSION%" -G "%GENERATOR%" -DBUILD_APPS=%APPS% -DCMAKE_BUILD_TYPE=Release %CMAKE_CONFIGURATION% .. +"C:\Program Files\CMake\bin\cmake.exe" -DGTEST_ROOT="%LIBPATH%\%ARCHITECTURE%\%GTESTVERSION%" -G "%GENERATOR%" -DBUILD_APPS=%APPS% -DCMAKE_BUILD_TYPE=Release %CMAKE_CONFIGURATION% .. %VS_PATH% /Build "Release" OpenMesh.sln /Project "PACKAGE" diff --git a/CI/ci-linux.sh b/CI/ci-linux.sh index b3d28017..39fe47a6 100755 --- a/CI/ci-linux.sh +++ b/CI/ci-linux.sh @@ -10,6 +10,9 @@ OPTIONS="" MAKE_OPTIONS="" BUILDPATH="" +# set GTEST path +OPTIONS = "$OPTIONS -DGTEST_ROOT=~/sw/gtest-1.8.0/" + if [ "$COMPILER" == "gcc" ]; then echo "Building with GCC"; BUILDPATH="gcc" diff --git a/CI/ci-mac.sh b/CI/ci-mac.sh index 5b7ecd94..b9b999c6 100755 --- a/CI/ci-mac.sh +++ b/CI/ci-mac.sh @@ -11,6 +11,9 @@ export PATH OPTIONS="" +# set GTEST path +OPTIONS = "$OPTIONS -DGTEST_ROOT=~/sw/gtest-1.7.0/" + if [ "$LANGUAGE" == "C++98" ]; then echo "Building with C++98"; BUILDPATH="cpp98" From 5c31bdde8c2d4425ff042873591930e9a798f70d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20M=C3=B6ller?= Date: Sat, 9 Jun 2018 13:41:55 +0200 Subject: [PATCH 3/3] - add OPTIONS concat - remove whitespaces, hopefully fix CI --- CI/ci-linux.sh | 4 ++-- CI/ci-mac.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CI/ci-linux.sh b/CI/ci-linux.sh index 39fe47a6..fe75b847 100755 --- a/CI/ci-linux.sh +++ b/CI/ci-linux.sh @@ -11,14 +11,14 @@ MAKE_OPTIONS="" BUILDPATH="" # set GTEST path -OPTIONS = "$OPTIONS -DGTEST_ROOT=~/sw/gtest-1.8.0/" +OPTIONS="-DGTEST_ROOT=~/sw/gtest-1.8.0/" if [ "$COMPILER" == "gcc" ]; then echo "Building with GCC"; BUILDPATH="gcc" # without icecc: no options required - OPTIONS="-DCMAKE_CXX_COMPILER=/usr/lib/icecc/bin/g++ -DCMAKE_C_COMPILER=/usr/lib/icecc/bin/gcc" + OPTIONS="$OPTIONS -DCMAKE_CXX_COMPILER=/usr/lib/icecc/bin/g++ -DCMAKE_C_COMPILER=/usr/lib/icecc/bin/gcc" MAKE_OPTIONS="-j16" export ICECC_CXX=/usr/bin/g++ ; export ICECC_CC=/usr/bin/gcc diff --git a/CI/ci-mac.sh b/CI/ci-mac.sh index b9b999c6..c3d454cd 100755 --- a/CI/ci-mac.sh +++ b/CI/ci-mac.sh @@ -12,7 +12,7 @@ export PATH OPTIONS="" # set GTEST path -OPTIONS = "$OPTIONS -DGTEST_ROOT=~/sw/gtest-1.7.0/" +OPTIONS="$OPTIONS -DGTEST_ROOT=~/sw/gtest-1.7.0/" if [ "$LANGUAGE" == "C++98" ]; then echo "Building with C++98";