Skip to content
Snippets Groups Projects
Commit 1403b602 authored by Soeren Peters's avatar Soeren Peters
Browse files

Add project() command to each target to enable cuda only for the targets which actually need cuda.

parent 2baf57ab
No related branches found
No related tags found
1 merge request!22Clean Up CMake Files.
include(${VF_CMAKE_DIR}/3rd/boost.cmake)
include(${VF_CMAKE_DIR}/3rd/cuda.cmake)
include(${VF_CMAKE_DIR}/3rd/gmock.cmake)
include(${VF_CMAKE_DIR}/3rd/mpi.cmake)
include(${VF_CMAKE_DIR}/3rd/OpenMP.cmake)
\ No newline at end of file
function(linkCUDA)
set(CUDA_CUT_INCLUDE_DIR "${VF_THIRD_DIR}/cuda_samples/")
vf_get_library_name(library_name)
target_include_directories(${library_name} PRIVATE ${CUDA_CUT_INCLUDE_DIR})
target_include_directories(${library_name} PRIVATE ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES})
# set the following properties only for specific targets
# set_property(TARGET ${targetName} PROPERTY CUDA_SEPARABLE_COMPILATION ON)
# set_property(TARGET ${targetName} PROPERTY CUDA_64_BIT_DEVICE_CODE ON)
endfunction()
......@@ -3,7 +3,7 @@ function (linkMPI)
find_package(MPI REQUIRED)
vf_get_library_name(library_name)
target_include_directories(${library_name} PUBLIC ${MPI_CXX_INCLUDE_PATH})
#target_include_directories(${library_name} PUBLIC ${MPI_CXX_INCLUDE_PATH})
target_link_libraries(${library_name} PRIVATE MPI::MPI_CXX)
endfunction()
\ No newline at end of file
......@@ -106,6 +106,10 @@ if(BUILD_VF_GPU)
message("CUDA Architecture: ${CMAKE_CUDA_ARCHITECTURES}")
set(CUDA_CUT_INCLUDE_DIR "${VF_THIRD_DIR}/cuda_samples/")
include_directories(${CUDA_CUT_INCLUDE_DIR})
include_directories(${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES})
include (gpu.cmake)
endif()
......
#############################################################
### 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")
#############################################################
if(BUILD_NUMERIC_TESTS)
set(CMAKE_CXX_STANDARD 17)
......@@ -24,9 +14,6 @@ ENDIF()
set(CMAKE_CUDA_FLAGS_DEBUG " -G" CACHE STRING "" FORCE)
#############################################################
enable_language(CUDA)
##########################################################################################################################
### Subdirectories ###
......
project(GksGpu LANGUAGES CUDA CXX)
vf_add_library(BUILDTYPE shared PRIVATE_LINK basics GksMeshAdapter)
linkCUDA()
linkMPI()
vf_get_library_name(library_name)
......
project(GridGenerator LANGUAGES CUDA CXX)
vf_add_library(PRIVATE_LINK basics)
vf_get_library_name(library_name)
linkCUDA()
linkOpenMP(${library_name})
......
project(Traffic LANGUAGES CUDA CXX)
vf_add_library(BUILDTYPE shared PRIVATE_LINK GridGenerator basics)
linkCUDA()
\ No newline at end of file
project(VirtualFluids_GPU LANGUAGES CUDA CXX)
IF(MSVC)
set(libsToLink ws2_32 GridGenerator basics Traffic) # ws_32 throws an error on Phoenix
......@@ -10,7 +11,6 @@ ENDIF(MSVC)
vf_add_library(PRIVATE_LINK ${libsToLink})
linkMPI()
linkCUDA()
linkBoost(COMPONENTS "serialization")
#SET(TPN_WIN32 "/EHsc")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment