diff --git a/apps/gpu/LidDrivenCavity/CMakeLists.txt b/apps/gpu/LidDrivenCavity/CMakeLists.txt index 6029aca23555b10b9707ea6978ec7a833cd54b41..c404f6a6d2ccc156d7fba562ceefde35873e08d0 100644 --- a/apps/gpu/LidDrivenCavity/CMakeLists.txt +++ b/apps/gpu/LidDrivenCavity/CMakeLists.txt @@ -12,7 +12,7 @@ set(includeDirectories "${CMAKE_SOURCE_DIR}/src/gpu" PROJECT(LidDrivenCavity) -vf_add_library(BUILDTYPE binary DEPENDS VirtualFluids_GPU basics GridGenerator GksMeshAdapter GksGpu FILES LidDrivenCavity.cpp) +vf_add_library(BUILDTYPE binary DEPENDS basics GridGenerator VirtualFluids_GPU GksMeshAdapter GksGpu FILES LidDrivenCavity.cpp) vf_get_library_name(library_name) target_include_directories(${library_name} PRIVATE ${includeDirectories} ) \ No newline at end of file diff --git a/gpu.cmake b/gpu.cmake index 44dbfb50d2e72856b67028433488f8219e103b7b..7eba1c758400a9afede3a2a03c09847a14faaccd 100644 --- a/gpu.cmake +++ b/gpu.cmake @@ -82,11 +82,7 @@ enable_language(CUDA) include(${CMAKE_PATH}/CMakeMacros_old/general/FindCompiler.cmake) configure_file(src/gpu/VirtualFluidsDefinitions.in.h VirtualFluidsDefinitions.h) -IF(MSVC) - SET( CMAKE_CXX_FLAGS "/FI${CMAKE_BINARY_DIR}/VirtualFluidsDefinitions.h ${CMAKE_CXX_FLAGS}" ) -ELSE(MSVC) - SET( CMAKE_CXX_FLAGS "-include ${CMAKE_BINARY_DIR}/VirtualFluidsDefinitions.h ${CMAKE_CXX_FLAGS}" ) -ENDIF(MSVC) + # only use this with device of CC larger than 6.0 IF(VF_DOUBLE_ACCURACY) diff --git a/src/basics/CMakeLists.txt b/src/basics/CMakeLists.txt index ef983646465e9b81a82fd345aae2a7375a42e751..476cbdc75b100d91a8659f2292bcd457d7d0b8c9 100644 --- a/src/basics/CMakeLists.txt +++ b/src/basics/CMakeLists.txt @@ -19,9 +19,7 @@ include(Core/buildInfo.cmake) INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/VirtualFluidsCore) INCLUDE_DIRECTORIES(${MPI_INCLUDE_PATH}) -IF(MSVC) - add_compile_definitions(NOMINMAX) # Disable Min/Max-Macros -ENDIF(MSVC) + vf_add_library(BUILDTYPE static FOLDER @@ -52,6 +50,10 @@ vf_get_library_name (library_name) target_include_directories(${library_name} PRIVATE ${CMAKE_CURRENT_LIST_DIR}/Core) target_include_directories(${library_name} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) +IF(MSVC) + target_compile_definitions(${library_name} PUBLIC NOMINMAX) # Disable Min/Max-Macros +ENDIF(MSVC) + include (${CMAKE_PATH}/3rd/mpi.cmake) vf_add_tests() \ No newline at end of file diff --git a/src/basics/Core/DataTypes.h b/src/basics/Core/DataTypes.h index 37c09d1fe73972720fc0073ed64416c70cdbeba8..b65f3344c2788ee3e2af04bf3b2813f5a055c52d 100644 --- a/src/basics/Core/DataTypes.h +++ b/src/basics/Core/DataTypes.h @@ -3,7 +3,7 @@ #include <string> -//#include "VirtualFluidsDefinitions.h" +#include "VirtualFluidsDefinitions.h" #ifdef VF_DOUBLE_ACCURACY typedef double real; diff --git a/src/basics/Core/RealConstants.h b/src/basics/Core/RealConstants.h index 46c418d574bf9914fc1325bd17b97237dc6ed541..a555d7ee27ba5427ac673473def7ed9b57f0d817 100644 --- a/src/basics/Core/RealConstants.h +++ b/src/basics/Core/RealConstants.h @@ -1,7 +1,7 @@ #ifndef REAL_CONSTANT_H #define REAL_CONSTANT_H -//#include "VirtualFluidsDefinitions.h" +#include "VirtualFluidsDefinitions.h" #ifdef VF_DOUBLE_ACCURACY #define c1o2 0.5 diff --git a/src/gpu/GridGenerator/utilities/math/Math.cu b/src/gpu/GridGenerator/utilities/math/Math.cu index 3b35b410cab92d98fa1dd4f5014c44cdb6fa5942..b6aa0499994240fc4221c3734e91c0bb3e94c7a9 100644 --- a/src/gpu/GridGenerator/utilities/math/Math.cu +++ b/src/gpu/GridGenerator/utilities/math/Math.cu @@ -34,6 +34,8 @@ #include <cmath> +#include "VirtualFluidsDefinitions.h" + bool vf::Math::equal(const real& val1, const real& val2, real maxRelDiff) { const real diff = std::fabs(val1 - val2); diff --git a/src/gpu/VirtualFluidsDefinitions.in.h b/src/gpu/VirtualFluidsDefinitions.in.h index 2d5822c1b1988fbfbb205d85a1e976161f791874..587a0a215d3d7e8886e1809f05568671f18f29d6 100644 --- a/src/gpu/VirtualFluidsDefinitions.in.h +++ b/src/gpu/VirtualFluidsDefinitions.in.h @@ -23,44 +23,4 @@ #cmakedefine VF_CXX_COMPILER_IS_MSVC #cmakedefine VF_CXX_COMPILER_IS_CLANG - -// Generic helper definitions for shared library support -#if defined _WIN32 || defined __CYGWIN__ - #define VF_SHARED_LIB_IMPORT __declspec(dllimport) - #define VF_SHARED_LIB_EXPORT __declspec(dllexport) - #define VF_SHARED_LIB_LOCAL -#else - #if __GNUC__ >= 4 - #define VF_SHARED_LIB_IMPORT __attribute__ ((visibility ("default"))) - #define VF_SHARED_LIB_EXPORT __attribute__ ((visibility ("default"))) - #define VF_SHARED_LIB_LOCAL __attribute__ ((visibility ("hidden"))) - #else - #define VF_SHARED_LIB_IMPORT - #define VF_SHARED_LIB_EXPORT - #define VF_SHARED_LIB_LOCAL - #endif -#endif - -// Now we use the generic helper definitions above to define VIRTUALFLUIDS_GPU_EXPORT, VF_PROTECTED -// and VF_PRIVATE. VIRTUALFLUIDS_GPU_EXPORT is for symbols part of the public application programming -// interface (API), VF_PROTECTED is for symbols used e.g. by public templated or -// inlined code. These symbols must also be publicly available when compiling the -// application. VF_PRIVATE are symbols for internal use inside the library only. - -#ifdef BUILD_SHARED_LIBS - // defined if VF is compiled as a shared library - #ifdef VF_SHARED_LIB_SELECT_IMPORTS - // defined if we are building the VF SHARED_LIB (instead of using it) - #define VIRTUALFLUIDS_GPU_EXPORT VF_SHARED_LIB_IMPORT - #else - #define VIRTUALFLUIDS_GPU_EXPORT VF_SHARED_LIB_EXPORT - #endif - #define VF_PRIVATE VF_SHARED_LIB_LOCAL -#else - // VF_SHARED_LIB is not defined: this means VF is a static library - #define VIRTUALFLUIDS_GPU_EXPORT - #define VF_PRIVATE -#endif -#define VF_PROTECTED VIRTUALFLUIDS_GPU_EXPORT - #endif diff --git a/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridProvider.h b/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridProvider.h index b4d5a04da149d5f88a63ebb473dfd40910ea52da..eb16652deb94f7f84a68742cd0b8a80cddc8f6ab 100644 --- a/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridProvider.h +++ b/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridProvider.h @@ -37,6 +37,7 @@ #include <VirtualFluidsDefinitions.h> #include "Core/PointerDefinitions.h" +#include "VirtualFluids_GPU_export.h" //! \brief Class forwarding for CudaMemoryManager, GridBuilder and Parameter class Parameter; diff --git a/src/gpu/VirtualFluids_GPU/GPU/CudaMemoryManager.h b/src/gpu/VirtualFluids_GPU/GPU/CudaMemoryManager.h index e8f1ab3adb2e57fa58fba1bdde18c096d9dc1191..322c5592f2c4b1162f5033f6d68d356cf11d5950 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/CudaMemoryManager.h +++ b/src/gpu/VirtualFluids_GPU/GPU/CudaMemoryManager.h @@ -35,6 +35,7 @@ #include <memory> #include "Core/PointerDefinitions.h" +#include "VirtualFluids_GPU_export.h" //! \brief Class forwarding for Parameter class Parameter; diff --git a/src/gpu/VirtualFluids_GPU/LBM/Simulation.h b/src/gpu/VirtualFluids_GPU/LBM/Simulation.h index 4b076cc58ca2a51d661a728a04b17b55def7554f..bd1760ce39ab7a2f3103411bfdc5350850c79a3a 100644 --- a/src/gpu/VirtualFluids_GPU/LBM/Simulation.h +++ b/src/gpu/VirtualFluids_GPU/LBM/Simulation.h @@ -36,6 +36,7 @@ #include <Core/PointerDefinitions.h> #include <VirtualFluidsDefinitions.h> #include "Output/LogWriter.hpp" +#include "VirtualFluids_GPU_export.h" //! \brief Class forwarding for CudaMemoryManager, Parameter, GridProvider and DataWriter class CudaMemoryManager; diff --git a/src/gpu/VirtualFluids_GPU/Output/DataWriter.h b/src/gpu/VirtualFluids_GPU/Output/DataWriter.h index c783771e905c4876758eb621f8da938f9a9e8bea..6406cad772056bf243f609174f4b10d9e145d45a 100644 --- a/src/gpu/VirtualFluids_GPU/Output/DataWriter.h +++ b/src/gpu/VirtualFluids_GPU/Output/DataWriter.h @@ -35,6 +35,7 @@ #include "Core/PointerDefinitions.h" #include "Core/DataTypes.h" +#include "VirtualFluids_GPU_export.h" //! \brief Class forwarding for CudaMemoryManager and Parameter class Parameter; diff --git a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h index 91208a16c9ee664d7a3ecb06bf117a665c20e18f..6826684103e99315620fc979c875544315841366 100644 --- a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h +++ b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h @@ -36,6 +36,7 @@ #include "LBM/LB.h" #include "Core/PointerDefinitions.h" #include "VirtualFluidsDefinitions.h" +#include "VirtualFluids_GPU_export.h" //! \struct ParameterStruct //! \brief struct holds and manages the LB-parameter of the simulation