From 0a9233b65e12b6fbdff46277bc12b9e01cda1d51 Mon Sep 17 00:00:00 2001
From: Soeren Peters <peters@irmb.tu-bs.de>
Date: Thu, 24 Sep 2020 11:18:00 +0200
Subject: [PATCH] Adjust paths. Remove GTestColor definition from ColorOutput,
 as gmock was updated.

---
 3rdParty/fftw/fftw-3.3.7/CMakeLists.txt       | 61 ++++++++++---------
 .../CMakeLists.txt                            | 16 ++---
 apps/gpu/tests/NumericalTests/CMakeLists.txt  | 22 ++++---
 .../ColorConsoleOutputImp.h                   | 12 ----
 .../AnalyticalResults2DToVTKWriterImp.cpp     |  2 +-
 gpu.cmake                                     |  4 +-
 6 files changed, 50 insertions(+), 67 deletions(-)

diff --git a/3rdParty/fftw/fftw-3.3.7/CMakeLists.txt b/3rdParty/fftw/fftw-3.3.7/CMakeLists.txt
index e2155c440..7e0b4f626 100644
--- a/3rdParty/fftw/fftw-3.3.7/CMakeLists.txt
+++ b/3rdParty/fftw/fftw-3.3.7/CMakeLists.txt
@@ -10,8 +10,8 @@ if (POLICY CMP0042)
   cmake_policy (SET CMP0042 NEW)
 endif ()
 
-option (BUILD_SHARED_LIBS "Build shared libraries" ON)
-option (BUILD_TESTS "Build tests" OFF)
+#option (BUILD_SHARED_LIBS "Build shared libraries" ON)
+#option (BUILD_TESTS "Build tests" OFF)
 
 option (ENABLE_OPENMP "Use OpenMP for multithreading" OFF)
 option (ENABLE_THREADS "Use pthread for multithreading" OFF)
@@ -335,7 +335,8 @@ if (OPENMP_FOUND)
   target_compile_options (${fftw3_lib}_omp PRIVATE ${OpenMP_C_FLAGS})
 endif ()
 
-groupTarget(${fftw3_lib} ${thirdPartyFolder})
+groupTarget(${fftw3_lib} ${thirdFolder})
+target_include_directories(${fftw3_lib} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/api)
 
 foreach(subtarget ${subtargets})
   set_target_properties (${subtarget} PROPERTIES SOVERSION 3.5.7 VERSION 3)
@@ -380,30 +381,30 @@ if (BUILD_TESTS)
   endif ()
 endif ()
 
-# pkgconfig file
-set (prefix ${CMAKE_INSTALL_PREFIX})
-set (exec_prefix ${CMAKE_INSTALL_PREFIX})
-set (libdir ${CMAKE_INSTALL_FULL_LIBDIR})
-set (includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR})
-set (VERSION ${FFTW_VERSION})
-configure_file (fftw.pc.in fftw${PREC_SUFFIX}.pc @ONLY)
-install (FILES
-          ${CMAKE_CURRENT_BINARY_DIR}/fftw${PREC_SUFFIX}.pc
-         DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
-         COMPONENT Development)
-
-# cmake file
-set (FFTW3_LIBRARIES "FFTW3::${fftw3_lib}")
-configure_file (FFTW3Config.cmake.in FFTW3${PREC_SUFFIX}Config.cmake @ONLY)
-configure_file (FFTW3ConfigVersion.cmake.in FFTW3${PREC_SUFFIX}ConfigVersion.cmake @ONLY)
-install (FILES
-          ${CMAKE_CURRENT_BINARY_DIR}/FFTW3${PREC_SUFFIX}Config.cmake
-          ${CMAKE_CURRENT_BINARY_DIR}/FFTW3${PREC_SUFFIX}ConfigVersion.cmake
-	  DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/fftw3${PREC_SUFFIX}
-         COMPONENT Development)
-
-export (TARGETS ${fftw3_lib} NAMESPACE FFTW3:: FILE ${PROJECT_BINARY_DIR}/FFTW3LibraryDepends.cmake)
-install(EXPORT FFTW3LibraryDepends
-        NAMESPACE FFTW3::
-        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/fftw3${PREC_SUFFIX}
-        COMPONENT Development)
+## pkgconfig file
+#set (prefix ${CMAKE_INSTALL_PREFIX})
+#set (exec_prefix ${CMAKE_INSTALL_PREFIX})
+#set (libdir ${CMAKE_INSTALL_FULL_LIBDIR})
+#set (includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR})
+#set (VERSION ${FFTW_VERSION})
+#configure_file (fftw.pc.in fftw${PREC_SUFFIX}.pc @ONLY)
+#install (FILES
+#          ${CMAKE_CURRENT_BINARY_DIR}/fftw${PREC_SUFFIX}.pc
+#         DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
+#         COMPONENT Development)
+#
+## cmake file
+#set (FFTW3_LIBRARIES "FFTW3::${fftw3_lib}")
+#configure_file (FFTW3Config.cmake.in FFTW3${PREC_SUFFIX}Config.cmake @ONLY)
+#configure_file (FFTW3ConfigVersion.cmake.in FFTW3${PREC_SUFFIX}ConfigVersion.cmake @ONLY)
+#install (FILES
+#          ${CMAKE_CURRENT_BINARY_DIR}/FFTW3${PREC_SUFFIX}Config.cmake
+#          ${CMAKE_CURRENT_BINARY_DIR}/FFTW3${PREC_SUFFIX}ConfigVersion.cmake
+#	  DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/fftw3${PREC_SUFFIX}
+#         COMPONENT Development)
+#
+#export (TARGETS ${fftw3_lib} NAMESPACE FFTW3:: FILE ${PROJECT_BINARY_DIR}/FFTW3LibraryDepends.cmake)
+#install(EXPORT FFTW3LibraryDepends
+#        NAMESPACE FFTW3::
+#        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/fftw3${PREC_SUFFIX}
+#        COMPONENT Development)
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/CMakeLists.txt b/apps/gpu/tests/NumericalTestPostProcessing/CMakeLists.txt
index 1ff89574c..137e2aa04 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/CMakeLists.txt
+++ b/apps/gpu/tests/NumericalTestPostProcessing/CMakeLists.txt
@@ -1,14 +1,6 @@
-setTargetNameToFolderName(${CMAKE_CURRENT_LIST_DIR})
+project(NumericalTestPostProcessing)
 
-set(linkDirectories "")
-set(libsToLink VirtualFluids_GPU cudart_static VirtualFluidsBasics)
-set(includeDirectories ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/VirtualFluids_GPU ${CMAKE_SOURCE_DIR}/src/VirtualFluidsBasics)
+vf_add_library(BUILDTYPE binary DEPENDS VirtualFluids_GPU basics cudart_static)
 
-#glob files and save in MY_SRCS
-include(CMakePackage.cmake)
-
-buildExe(${targetName} "${MY_SRCS}" "${linkDirectories}" "${libsToLink}" "${includeDirectories}")
-groupTarget(${targetName} ${testFolder})
-
-#Specify the linking to 3rdParty libs
-include(3rdPartyLinking.cmake)
\ No newline at end of file
+vf_get_library_name(library_name)
+groupTarget(${library_name} ${testFolder})
diff --git a/apps/gpu/tests/NumericalTests/CMakeLists.txt b/apps/gpu/tests/NumericalTests/CMakeLists.txt
index 1ff89574c..e6f426361 100644
--- a/apps/gpu/tests/NumericalTests/CMakeLists.txt
+++ b/apps/gpu/tests/NumericalTests/CMakeLists.txt
@@ -1,14 +1,16 @@
-setTargetNameToFolderName(${CMAKE_CURRENT_LIST_DIR})
+project(NumericalTestsGPU)
 
-set(linkDirectories "")
-set(libsToLink VirtualFluids_GPU cudart_static VirtualFluidsBasics)
-set(includeDirectories ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/VirtualFluids_GPU ${CMAKE_SOURCE_DIR}/src/VirtualFluidsBasics)
+vf_add_library(BUILDTYPE binary DEPENDS VirtualFluids_GPU GridGenerator basics cudart_static fftw3 gtest gmock gmock_main)
 
-#glob files and save in MY_SRCS
-include(CMakePackage.cmake)
+vf_get_library_name(library_name)
+groupTarget(${library_name} ${testFolder})
 
-buildExe(${targetName} "${MY_SRCS}" "${linkDirectories}" "${libsToLink}" "${includeDirectories}")
-groupTarget(${targetName} ${testFolder})
+if(BUILD_SHARED_LIBS)
+    # add compile option according to
+    # https://github.com/google/googletest/blob/master/googletest/README.md#as-a-shared-library-dll
+    set_target_properties(${library_name}
+            PROPERTIES
+            COMPILE_DEFINITIONS "GTEST_LINKED_AS_SHARED_LIBRARY=1")
+endif()
 
-#Specify the linking to 3rdParty libs
-include(3rdPartyLinking.cmake)
\ No newline at end of file
+linkCUDA()
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/ColorConsoleOutput/ColorConsoleOutputImp.h b/apps/gpu/tests/NumericalTests/Utilities/ColorConsoleOutput/ColorConsoleOutputImp.h
index 418ef085a..2a00f4286 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/ColorConsoleOutput/ColorConsoleOutputImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/ColorConsoleOutput/ColorConsoleOutputImp.h
@@ -12,18 +12,6 @@ namespace testing
 {
 	namespace internal
 	{
-		enum GTestColor {
-			COLOR_DEFAULT,
-			COLOR_RED,
-			COLOR_GREEN,
-			COLOR_YELLOW
-		};
-
-		// in case of unresoved external while using shared libraries
-		// add in gtest.h line 167 and 168:
-		// enum GTestColor;
-		//       void GTEST_API_ ColoredPrintf(GTestColor color, const char* fmt, ...);
-		// see commit: 4c0ed885ceab18b9df7a2495c77a51e236aee6f1
 		extern void ColoredPrintf(GTestColor color, const char* fmt, ...);
 	}
 }
diff --git a/apps/gpu/tests/NumericalTests/Utilities/DataWriter/AnalyticalResults2DToVTKWriter/AnalyticalResults2DToVTKWriterImp.cpp b/apps/gpu/tests/NumericalTests/Utilities/DataWriter/AnalyticalResults2DToVTKWriter/AnalyticalResults2DToVTKWriterImp.cpp
index 9225174bc..bfcb8aca2 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/DataWriter/AnalyticalResults2DToVTKWriter/AnalyticalResults2DToVTKWriterImp.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/DataWriter/AnalyticalResults2DToVTKWriter/AnalyticalResults2DToVTKWriterImp.cpp
@@ -12,7 +12,7 @@
 #include "LBM/LB.h"
 #include "LBM/D3Q27.h"
 
-#include <VirtualFluidsBasics/basics/writer/WbWriterVtkXmlBinary.h>
+#include <basics/writer/WbWriterVtkXmlBinary.h>
 
 #include "Utilities/Results/AnalyticalResults/AnalyticalResult.h"
 #include <mpi.h>
diff --git a/gpu.cmake b/gpu.cmake
index b1c5bf6df..be8b91477 100644
--- a/gpu.cmake
+++ b/gpu.cmake
@@ -149,8 +149,8 @@ ENDIF()
 if(VF.BUILD_NUMERIC_TESTS)
     add_subdirectory(3rdParty/fftw/fftw-3.3.7)
     add_subdirectory(3rdParty/googletest)
-    add_subdirectory(targets/tests/NumericalTests)
-    add_subdirectory(targets/tests/NumericalTestPostProcessing)
+    add_subdirectory(apps/gpu/tests/NumericalTests)
+    add_subdirectory(apps/gpu/tests/NumericalTestPostProcessing)
 endif()
 
 #############################################################
-- 
GitLab