Newer
Older
#############################################################
### CUDAPATH ###
#############################################################
# if CMake cannot find CUDA by itself, set the correct paths manually:
#SET(CUDA_CUT_INCLUDE_DIR "/cluster/cuda/9.0/include;/cluster/cuda/9.0/samples/common/inc" CACHE PATH "CUDA_CUT_INCLUDE_DIR")
#SET(CUDA_SAMPLE_INCLUDE_DIR "/cluster/cuda/9.0/samples/common/inc" CACHE PATH "CUDA_CUT_INCLUDE_DIR")
#############################################################
### OPTIONS ###
#############################################################
option(VF.BUILD_VF_GPU "Build VirtualFluids GPU" ON )
option(VF.BUILD_VF_GKS "Build VirtualFluids GKS" OFF )
option(VF.BUILD_VF_TRAFFIC "Build VirtualFluids Traffic" ON)
option(VF.BUILD_JSONCPP "Builds json cpp " OFF)
option(VF.BUILD_NUMERIC_TESTS "Build numeric tests" OFF)
option(VF.BUILD_DOUBLE_ACCURACY "Use double accuracy" OFF )
IF( VF.BUILD_DOUBLE_ACCURACY )
list(APPEND VF_COMPILER_DEFINITION VF_DOUBLE_ACCURACY)
#############################################################
if(VF.BUILD_NUMERIC_TESTS)
set(CMAKE_CXX_STANDARD 17)
endif()
#############################################################
IF( VF.BUILD_VF_GKS )
# only use this with device of CC larger than 6.0

Soeren Peters
committed
set(CMAKE_CUDA_FLAGS "-Xptxas=\"-v\"" CACHE STRING "" FORCE)
set(CMAKE_CUDA_ARCHITECTURES 60)
ENDIF()
set(CMAKE_CUDA_FLAGS_DEBUG " -G" CACHE STRING "" FORCE)
#############################################################
enable_language(CUDA)
##########################################################################################################################
### Subdirectories ###
##########################################################################################################################
#############################################################
### Core ###
#############################################################
#add_subdirectory(3rdParty/metis/metis-5.1.0)
#############################################################
### Virtual Fluids GPU ###
#############################################################
#add_subdirectory(targets/apps/LBM/lbmTest)
#add_subdirectory(targets/apps/LBM/metisTest)
#add_subdirectory(targets/apps/LBM/Basel)
#add_subdirectory(targets/apps/LBM/BaselNU)
#add_subdirectory(targets/apps/LBM/BaselMultiGPU)
add_subdirectory(apps/gpu/LBM/DrivenCavity)
add_subdirectory(apps/gpu/LBM/gridGeneratorTest)
add_subdirectory(apps/gpu/LBM/TGV_3D)
add_subdirectory(apps/gpu/LBM/TGV_3D_MultiGPU)
ELSE()
MESSAGE( STATUS "exclude Virtual Fluids GPU." )
#############################################################
### Virtual Fluids GKS ###
#############################################################

Soeren Peters
committed

Soeren Peters
committed
add_subdirectory(src/gpu/GksMeshAdapter)
add_subdirectory(src/gpu/GksVtkAdapter)

Soeren Peters
committed
add_subdirectory(src/gpu/GksGpu)
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#add_subdirectory(targets/apps/GKS/gksTest)
#add_subdirectory(targets/apps/GKS/ChannelFlow)
#add_subdirectory(targets/apps/GKS/ChannelFlowObstacle)
#add_subdirectory(targets/apps/GKS/ShearWave)
#add_subdirectory(targets/apps/GKS/LiFuXu)
#add_subdirectory(targets/apps/GKS/TaylorGreen3D)
#add_subdirectory(targets/apps/GKS/DrivenCavity3D)
#add_subdirectory(targets/apps/GKS/ThermalCavity)
#add_subdirectory(targets/apps/GKS/ThermalCavityMultiGPU)
#add_subdirectory(targets/apps/GKS/DrivenCavityMultiGPU)
#add_subdirectory(targets/apps/GKS/RayleighBenardMultiGPU)
#add_subdirectory(targets/apps/GKS/SalinasVazquez)
#add_subdirectory(targets/apps/GKS/BoundaryJet)
#add_subdirectory(targets/apps/GKS/PropaneFlame)
#add_subdirectory(targets/apps/GKS/ConfinedCombustion)
#add_subdirectory(targets/apps/GKS/MethaneFlame)
#add_subdirectory(targets/apps/GKS/Room)
#add_subdirectory(targets/apps/GKS/RoomMultiGPU)
#add_subdirectory(targets/apps/GKS/RoomFire)
#add_subdirectory(targets/apps/GKS/RoomFireExtended)
#add_subdirectory(targets/apps/GKS/ConcreteHeatFluxBCTest)
#add_subdirectory(targets/apps/GKS/PoolFire)

Soeren Peters
committed
add_subdirectory(apps/gpu/GKS/Flame7cm)
#add_subdirectory(targets/apps/GKS/SandiaFlame_1m)
#add_subdirectory(targets/apps/GKS/Candle)
#add_subdirectory(targets/apps/GKS/MultiGPU)

Soeren Peters
committed
#add_subdirectory(targets/apps/GKS/MultiGPU_nD)
#add_subdirectory(targets/apps/GKS/SingleGPU)
ELSE()
MESSAGE( STATUS "exclude Virtual Fluids GKS." )
#############################################################
### JSONCPP ###
#############################################################
IF (NOT VF.BUILD_JSONCPP)
MESSAGE( STATUS "Build Input Project without JsonCpp." )
ELSE()
add_subdirectory(3rdParty/jsoncpp)
add_definitions(-DBUILD_JSONCPP)
#############################################################
### Numeric Tests ###
#############################################################
if(VF.BUILD_NUMERIC_TESTS)
add_subdirectory(3rdParty/fftw/fftw-3.3.7)
add_subdirectory(3rdParty/googletest)

Soeren Peters
committed
add_subdirectory(apps/gpu/tests/NumericalTests)
add_subdirectory(apps/gpu/tests/NumericalTestPostProcessing)
endif()
#############################################################
### Annas Traffic Sim ###
#############################################################
if(VF.BUILD_VF_TRAFFIC)