the CMakeLists.txt for Tegra sample fluidsGLES

Able to build the sample as below:
$ make
Linking CUDA device code CMakeFiles/fluidsGLES.dir/cmake_device_link.o
Linking CXX executable fluidsGLES
Built target fluidsGLES
This commit is contained in:
XSShawnZeng 2025-01-06 17:52:53 +08:00 committed by GitHub
parent e228ad9389
commit bb121fe02b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -11,15 +11,20 @@ if(CMAKE_BUILD_TYPE STREQUAL "Debug")
# set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -G") # enable cuda-gdb (expensive) # set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -G") # enable cuda-gdb (expensive)
endif() endif()
# Include directories and libraries
include_directories(../../../../Common)
find_package(EGL)
find_package(X11)
find_package(OpenGL)
if(CMAKE_SYSTEM_NAME STREQUAL "Linux") if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
find_package (OpenGL COMPONENTS EGL GLES2)
if(${OpenGL_EGL_FOUND})
# Source file # Source file
if(${OpenGL_FOUND})
if(${EGL_FOUND})
if(${X11_FOUND})
# Add target for fluidsGLES # Add target for fluidsGLES
add_executable(fluidsGLES add_executable(fluidsGLES fluidsGLES.cpp fluidsGLES_kernels.cu)
fluidsGLES.cpp
fluidsGLES_kernels.cu
)
target_compile_options(fluidsGLES PRIVATE $<$<COMPILE_LANGUAGE:CUDA>:--extended-lambda>) target_compile_options(fluidsGLES PRIVATE $<$<COMPILE_LANGUAGE:CUDA>:--extended-lambda>)
@ -28,18 +33,27 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
set_target_properties(fluidsGLES PROPERTIES CUDA_SEPARABLE_COMPILATION ON) set_target_properties(fluidsGLES PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
target_include_directories(fluidsGLES PUBLIC target_include_directories(fluidsGLES PUBLIC
${OPENGL_INCLUDE_DIRS} ${EGL_INCLUDE_DIR}
${OPENGL_INCLUDE_DIR}
${CUDAToolkit_INCLUDE_DIRS} ${CUDAToolkit_INCLUDE_DIRS}
../../../Common
) )
target_link_libraries(fluidsGLES target_link_libraries(fluidsGLES
${OPENGL_LIBRARIES}
CUDA::cuda_driver CUDA::cuda_driver
CUDA::cufft
${EGL_LIBRARY}
${X11_LIBRARIES}
${OPENGL_LIBRARIES}
) )
else()
message(STATUS "X11 libraries not found - will not build sample 'fluidsGLES'")
endif()
else() else()
message(STATUS "EGL not found - will not build sample 'fluidsGLES'") message(STATUS "EGL not found - will not build sample 'fluidsGLES'")
endif() endif()
else()
message(STATUS "OpenGL not found - will not build sample 'fluidsGLES'")
endif()
else() else()
message(STATUS "Will not build sample fluidsGLES - requires Linux OS") message(STATUS "Will not build sample fluidsGLES - requires Linux OS")
endif() endif()