From fb6fcb0110d5a344cf6690399a268a3cbe61188f Mon Sep 17 00:00:00 2001 From: shawnz Date: Fri, 14 Feb 2025 22:37:51 +0800 Subject: [PATCH] Enhancement for finding GLFW on WIN and copy .dll files to executable dir for some samples --- .../simpleTexture3D/CMakeLists.txt | 10 +++++-- .../FunctionPointers/CMakeLists.txt | 10 +++++-- .../boxFilter/CMakeLists.txt | 8 +++-- .../imageDenoising/CMakeLists.txt | 10 +++++-- .../particles/CMakeLists.txt | 8 +++-- .../bindlessTexture/CMakeLists.txt | 8 +++-- .../FilterBorderControlNPP/CMakeLists.txt | 8 +++++ .../boxFilterNPP/CMakeLists.txt | 10 ++++++- .../cannyEdgeDetectorNPP/CMakeLists.txt | 10 ++++++- .../freeImageInteropNPP/CMakeLists.txt | 8 +++++ .../histEqualizationNPP/CMakeLists.txt | 9 +++++- .../4_CUDA_Libraries/oceanFFT/CMakeLists.txt | 10 +++++-- .../4_CUDA_Libraries/randomFog/CMakeLists.txt | 10 +++++-- .../Mandelbrot/CMakeLists.txt | 10 +++++-- .../SobelFilter/CMakeLists.txt | 8 +++-- .../bicubicTexture/CMakeLists.txt | 10 +++++-- .../bilateralFilter/CMakeLists.txt | 10 +++++-- .../5_Domain_Specific/fluidsGL/CMakeLists.txt | 10 +++++-- .../marchingCubes/CMakeLists.txt | 10 +++++-- .../5_Domain_Specific/nbody/CMakeLists.txt | 8 +++-- .../postProcessGL/CMakeLists.txt | 8 +++-- .../recursiveGaussian/CMakeLists.txt | 8 +++-- .../5_Domain_Specific/simpleGL/CMakeLists.txt | 8 +++-- .../simpleVulkan/CMakeLists.txt | 28 ++++++++++++++---- .../simpleVulkanMMAP/CMakeLists.txt | 29 +++++++++++++++---- .../smokeParticles/CMakeLists.txt | 8 +++-- .../volumeFiltering/CMakeLists.txt | 8 +++-- .../volumeRender/CMakeLists.txt | 8 +++-- .../vulkanImageCUDA/CMakeLists.txt | 26 +++++++++++++---- 29 files changed, 244 insertions(+), 72 deletions(-) diff --git a/Samples/0_Introduction/simpleTexture3D/CMakeLists.txt b/Samples/0_Introduction/simpleTexture3D/CMakeLists.txt index 8d40d106..56d0fdb1 100644 --- a/Samples/0_Introduction/simpleTexture3D/CMakeLists.txt +++ b/Samples/0_Introduction/simpleTexture3D/CMakeLists.txt @@ -48,7 +48,7 @@ if(${OpenGL_FOUND}) ${GLUT_LIBRARIES} ) - # Copy clock_kernel.cu to the output directory + # Copy data files to output directory add_custom_command(TARGET simpleTexture3D POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/data @@ -63,12 +63,16 @@ if(${OpenGL_FOUND}) add_custom_command(TARGET simpleTexture3D POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) add_custom_command(TARGET simpleTexture3D POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) endif() diff --git a/Samples/2_Concepts_and_Techniques/FunctionPointers/CMakeLists.txt b/Samples/2_Concepts_and_Techniques/FunctionPointers/CMakeLists.txt index 399de4c8..f14246d3 100644 --- a/Samples/2_Concepts_and_Techniques/FunctionPointers/CMakeLists.txt +++ b/Samples/2_Concepts_and_Techniques/FunctionPointers/CMakeLists.txt @@ -48,7 +48,7 @@ if(${OpenGL_FOUND}) ${GLUT_LIBRARIES} ) - # Copy clock_kernel.cu to the output directory + # Copy data files to output directory add_custom_command(TARGET FunctionPointers POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/data @@ -63,12 +63,16 @@ if(${OpenGL_FOUND}) add_custom_command(TARGET FunctionPointers POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) add_custom_command(TARGET FunctionPointers POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) endif() diff --git a/Samples/2_Concepts_and_Techniques/boxFilter/CMakeLists.txt b/Samples/2_Concepts_and_Techniques/boxFilter/CMakeLists.txt index b9f38f63..13c34989 100644 --- a/Samples/2_Concepts_and_Techniques/boxFilter/CMakeLists.txt +++ b/Samples/2_Concepts_and_Techniques/boxFilter/CMakeLists.txt @@ -77,12 +77,16 @@ if(${OpenGL_FOUND}) add_custom_command(TARGET boxFilter POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) add_custom_command(TARGET boxFilter POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) endif() diff --git a/Samples/2_Concepts_and_Techniques/imageDenoising/CMakeLists.txt b/Samples/2_Concepts_and_Techniques/imageDenoising/CMakeLists.txt index 111ea5b3..8239281c 100644 --- a/Samples/2_Concepts_and_Techniques/imageDenoising/CMakeLists.txt +++ b/Samples/2_Concepts_and_Techniques/imageDenoising/CMakeLists.txt @@ -49,7 +49,7 @@ if(${OpenGL_FOUND}) ${GLUT_LIBRARIES} ) - # Copy clock_kernel.cu to the output directory + # Copy data files to the output directory add_custom_command(TARGET imageDenoising POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/data @@ -64,12 +64,16 @@ if(${OpenGL_FOUND}) add_custom_command(TARGET imageDenoising POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) add_custom_command(TARGET imageDenoising POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) endif() diff --git a/Samples/2_Concepts_and_Techniques/particles/CMakeLists.txt b/Samples/2_Concepts_and_Techniques/particles/CMakeLists.txt index 460bbdb9..12ee370b 100644 --- a/Samples/2_Concepts_and_Techniques/particles/CMakeLists.txt +++ b/Samples/2_Concepts_and_Techniques/particles/CMakeLists.txt @@ -63,12 +63,16 @@ target_compile_features(particles PRIVATE cxx_std_17 cuda_std_17) add_custom_command(TARGET particles POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) add_custom_command(TARGET particles POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) endif() diff --git a/Samples/3_CUDA_Features/bindlessTexture/CMakeLists.txt b/Samples/3_CUDA_Features/bindlessTexture/CMakeLists.txt index 1544a5c7..93ada969 100644 --- a/Samples/3_CUDA_Features/bindlessTexture/CMakeLists.txt +++ b/Samples/3_CUDA_Features/bindlessTexture/CMakeLists.txt @@ -63,12 +63,16 @@ target_compile_features(bindlessTexture PRIVATE cxx_std_17 cuda_std_17) add_custom_command(TARGET bindlessTexture POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) add_custom_command(TARGET bindlessTexture POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) endif() diff --git a/Samples/4_CUDA_Libraries/FilterBorderControlNPP/CMakeLists.txt b/Samples/4_CUDA_Libraries/FilterBorderControlNPP/CMakeLists.txt index 5d1a21bf..6641de51 100644 --- a/Samples/4_CUDA_Libraries/FilterBorderControlNPP/CMakeLists.txt +++ b/Samples/4_CUDA_Libraries/FilterBorderControlNPP/CMakeLists.txt @@ -55,6 +55,14 @@ target_compile_features(FilterBorderControlNPP PRIVATE cxx_std_17 cuda_std_17) ${CMAKE_CURRENT_SOURCE_DIR}/data ${CMAKE_CURRENT_BINARY_DIR}/data ) + if(WIN32) + add_custom_command(TARGET FilterBorderControlNPP + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy + ${FreeImage_LIBRARY}/../FreeImage.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ + ) + endif() else() message(STATUS "FreeImage not found - will not build sample 'FilterBorderControlNPP'") endif() diff --git a/Samples/4_CUDA_Libraries/boxFilterNPP/CMakeLists.txt b/Samples/4_CUDA_Libraries/boxFilterNPP/CMakeLists.txt index 3c5609d1..0c5f15e0 100644 --- a/Samples/4_CUDA_Libraries/boxFilterNPP/CMakeLists.txt +++ b/Samples/4_CUDA_Libraries/boxFilterNPP/CMakeLists.txt @@ -49,9 +49,17 @@ target_compile_features(boxFilterNPP PRIVATE cxx_std_17 cuda_std_17) # Copy data files to output directory add_custom_command(TARGET boxFilterNPP POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${CMAKE_CURRENT_SOURCE_DIR}/*.pgm + ${CMAKE_CURRENT_SOURCE_DIR}/teapot512.pgm ${CMAKE_CURRENT_BINARY_DIR} ) + if(WIN32) + add_custom_command(TARGET boxFilterNPP + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy + ${FreeImage_LIBRARY}/../FreeImage.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ + ) + endif() else() message(STATUS "FreeImage not found - will not build sample 'boxFilterNPP'") endif() diff --git a/Samples/4_CUDA_Libraries/cannyEdgeDetectorNPP/CMakeLists.txt b/Samples/4_CUDA_Libraries/cannyEdgeDetectorNPP/CMakeLists.txt index f9faa254..7e22bac9 100644 --- a/Samples/4_CUDA_Libraries/cannyEdgeDetectorNPP/CMakeLists.txt +++ b/Samples/4_CUDA_Libraries/cannyEdgeDetectorNPP/CMakeLists.txt @@ -49,9 +49,17 @@ target_compile_features(cannyEdgeDetectorNPP PRIVATE cxx_std_17 cuda_std_17) # Copy data files to output directory add_custom_command(TARGET cannyEdgeDetectorNPP POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${CMAKE_CURRENT_SOURCE_DIR}/*.pgm + ${CMAKE_CURRENT_SOURCE_DIR}/teapot512.pgm ${CMAKE_CURRENT_BINARY_DIR} ) + if(WIN32) + add_custom_command(TARGET cannyEdgeDetectorNPP + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy + ${FreeImage_LIBRARY}/../FreeImage.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ + ) + endif() else() message(STATUS "FreeImage not found - will not build sample 'cannyEdgeDetectorNPP'") endif() diff --git a/Samples/4_CUDA_Libraries/freeImageInteropNPP/CMakeLists.txt b/Samples/4_CUDA_Libraries/freeImageInteropNPP/CMakeLists.txt index 12929899..c3834cdb 100644 --- a/Samples/4_CUDA_Libraries/freeImageInteropNPP/CMakeLists.txt +++ b/Samples/4_CUDA_Libraries/freeImageInteropNPP/CMakeLists.txt @@ -52,6 +52,14 @@ if(${FreeImage_FOUND}) ${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/data/teapot512.pgm ${CMAKE_CURRENT_BINARY_DIR}/ ) + if(WIN32) + add_custom_command(TARGET freeImageInteropNPP + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy + ${FreeImage_LIBRARY}/../FreeImage.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ + ) + endif() else() message(STATUS "FreeImage not found - will not build sample 'freeImageInteropNPP'") endif() diff --git a/Samples/4_CUDA_Libraries/histEqualizationNPP/CMakeLists.txt b/Samples/4_CUDA_Libraries/histEqualizationNPP/CMakeLists.txt index 4a2ab381..98a4b993 100644 --- a/Samples/4_CUDA_Libraries/histEqualizationNPP/CMakeLists.txt +++ b/Samples/4_CUDA_Libraries/histEqualizationNPP/CMakeLists.txt @@ -53,7 +53,14 @@ if(${FreeImage_FOUND}) ${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/data/teapot512.pgm ${CMAKE_CURRENT_BINARY_DIR}/ ) - + if(WIN32) + add_custom_command(TARGET histEqualizationNPP + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy + ${FreeImage_LIBRARY}/../FreeImage.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ + ) + endif() else() message(STATUS "FreeImage not found - will not build sample 'histEqualizationNPP'") endif() diff --git a/Samples/4_CUDA_Libraries/oceanFFT/CMakeLists.txt b/Samples/4_CUDA_Libraries/oceanFFT/CMakeLists.txt index 8922eef6..36314d6d 100644 --- a/Samples/4_CUDA_Libraries/oceanFFT/CMakeLists.txt +++ b/Samples/4_CUDA_Libraries/oceanFFT/CMakeLists.txt @@ -50,7 +50,7 @@ target_compile_features(oceanFFT PRIVATE cxx_std_17 cuda_std_17) CUDA::cufft ) - # Copy clock_kernel.cu to the output directory + # Copy data files to the output directory add_custom_command(TARGET oceanFFT POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/data @@ -65,12 +65,16 @@ target_compile_features(oceanFFT PRIVATE cxx_std_17 cuda_std_17) add_custom_command(TARGET oceanFFT POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) add_custom_command(TARGET oceanFFT POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) endif() diff --git a/Samples/4_CUDA_Libraries/randomFog/CMakeLists.txt b/Samples/4_CUDA_Libraries/randomFog/CMakeLists.txt index 924310b7..f2f7164c 100644 --- a/Samples/4_CUDA_Libraries/randomFog/CMakeLists.txt +++ b/Samples/4_CUDA_Libraries/randomFog/CMakeLists.txt @@ -50,7 +50,7 @@ if(${OpenGL_FOUND}) CUDA::cudart ) - # Copy clock_kernel.cu to the output directory + # Copy data files to the output directory add_custom_command(TARGET randomFog POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/data @@ -65,12 +65,16 @@ if(${OpenGL_FOUND}) add_custom_command(TARGET randomFog POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) add_custom_command(TARGET randomFog POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) endif() diff --git a/Samples/5_Domain_Specific/Mandelbrot/CMakeLists.txt b/Samples/5_Domain_Specific/Mandelbrot/CMakeLists.txt index ac76aa74..5d55a936 100644 --- a/Samples/5_Domain_Specific/Mandelbrot/CMakeLists.txt +++ b/Samples/5_Domain_Specific/Mandelbrot/CMakeLists.txt @@ -48,7 +48,7 @@ target_compile_features(Mandelbrot PRIVATE cxx_std_17 cuda_std_17) ${GLUT_LIBRARIES} ) - # Copy clock_kernel.cu to the output directory + # Copy data files to the output directory add_custom_command(TARGET Mandelbrot POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/data @@ -63,12 +63,16 @@ target_compile_features(Mandelbrot PRIVATE cxx_std_17 cuda_std_17) add_custom_command(TARGET Mandelbrot POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll + ${CMAKE_CURRENT_BINARY_DIR} ) add_custom_command(TARGET Mandelbrot POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll + ${CMAKE_CURRENT_BINARY_DIR} ) endif() diff --git a/Samples/5_Domain_Specific/SobelFilter/CMakeLists.txt b/Samples/5_Domain_Specific/SobelFilter/CMakeLists.txt index c8bd8f21..a84e878e 100644 --- a/Samples/5_Domain_Specific/SobelFilter/CMakeLists.txt +++ b/Samples/5_Domain_Specific/SobelFilter/CMakeLists.txt @@ -62,12 +62,16 @@ if(${OpenGL_FOUND}) add_custom_command(TARGET SobelFilter POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) add_custom_command(TARGET SobelFilter POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) endif() diff --git a/Samples/5_Domain_Specific/bicubicTexture/CMakeLists.txt b/Samples/5_Domain_Specific/bicubicTexture/CMakeLists.txt index 02303643..168f3844 100644 --- a/Samples/5_Domain_Specific/bicubicTexture/CMakeLists.txt +++ b/Samples/5_Domain_Specific/bicubicTexture/CMakeLists.txt @@ -48,7 +48,7 @@ if(${OpenGL_FOUND}) ${GLUT_LIBRARIES} ) - # Copy clock_kernel.cu to the output directory + # Copy data files to the output directory add_custom_command(TARGET bicubicTexture POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/data @@ -63,12 +63,16 @@ if(${OpenGL_FOUND}) add_custom_command(TARGET bicubicTexture POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) add_custom_command(TARGET bicubicTexture POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) endif() diff --git a/Samples/5_Domain_Specific/bilateralFilter/CMakeLists.txt b/Samples/5_Domain_Specific/bilateralFilter/CMakeLists.txt index a276023f..1c903010 100644 --- a/Samples/5_Domain_Specific/bilateralFilter/CMakeLists.txt +++ b/Samples/5_Domain_Specific/bilateralFilter/CMakeLists.txt @@ -48,7 +48,7 @@ target_compile_features(bilateralFilter PRIVATE cxx_std_17 cuda_std_17) ${GLUT_LIBRARIES} ) - # Copy clock_kernel.cu to the output directory + # Copy data files to the output directory add_custom_command(TARGET bilateralFilter POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/data @@ -63,12 +63,16 @@ target_compile_features(bilateralFilter PRIVATE cxx_std_17 cuda_std_17) add_custom_command(TARGET bilateralFilter POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) add_custom_command(TARGET bilateralFilter POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) endif() diff --git a/Samples/5_Domain_Specific/fluidsGL/CMakeLists.txt b/Samples/5_Domain_Specific/fluidsGL/CMakeLists.txt index 2d49e536..1443ce3c 100644 --- a/Samples/5_Domain_Specific/fluidsGL/CMakeLists.txt +++ b/Samples/5_Domain_Specific/fluidsGL/CMakeLists.txt @@ -49,7 +49,7 @@ target_compile_features(fluidsGL PRIVATE cxx_std_17 cuda_std_17) CUDA::cufft ) - # Copy clock_kernel.cu to the output directory + # Copy data files to the output directory add_custom_command(TARGET fluidsGL POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/data @@ -64,12 +64,16 @@ target_compile_features(fluidsGL PRIVATE cxx_std_17 cuda_std_17) add_custom_command(TARGET fluidsGL POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) add_custom_command(TARGET fluidsGL POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) endif() diff --git a/Samples/5_Domain_Specific/marchingCubes/CMakeLists.txt b/Samples/5_Domain_Specific/marchingCubes/CMakeLists.txt index 5d36189a..adeedd7d 100644 --- a/Samples/5_Domain_Specific/marchingCubes/CMakeLists.txt +++ b/Samples/5_Domain_Specific/marchingCubes/CMakeLists.txt @@ -48,7 +48,7 @@ target_compile_features(marchingCubes PRIVATE cxx_std_17 cuda_std_17) ${GLUT_LIBRARIES} ) - # Copy clock_kernel.cu to the output directory + # Copy data files to the output directory add_custom_command(TARGET marchingCubes POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/data @@ -63,12 +63,16 @@ target_compile_features(marchingCubes PRIVATE cxx_std_17 cuda_std_17) add_custom_command(TARGET marchingCubes POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) add_custom_command(TARGET marchingCubes POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) endif() diff --git a/Samples/5_Domain_Specific/nbody/CMakeLists.txt b/Samples/5_Domain_Specific/nbody/CMakeLists.txt index a8b3e3ac..e4860df1 100644 --- a/Samples/5_Domain_Specific/nbody/CMakeLists.txt +++ b/Samples/5_Domain_Specific/nbody/CMakeLists.txt @@ -56,12 +56,16 @@ if(${OpenGL_FOUND}) add_custom_command(TARGET nbody POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) add_custom_command(TARGET nbody POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) endif() diff --git a/Samples/5_Domain_Specific/postProcessGL/CMakeLists.txt b/Samples/5_Domain_Specific/postProcessGL/CMakeLists.txt index de3581fd..f96ae7c1 100644 --- a/Samples/5_Domain_Specific/postProcessGL/CMakeLists.txt +++ b/Samples/5_Domain_Specific/postProcessGL/CMakeLists.txt @@ -62,12 +62,16 @@ if(${OpenGL_FOUND}) add_custom_command(TARGET postProcessGL POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) add_custom_command(TARGET postProcessGL POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) endif() diff --git a/Samples/5_Domain_Specific/recursiveGaussian/CMakeLists.txt b/Samples/5_Domain_Specific/recursiveGaussian/CMakeLists.txt index 9551be9c..b596cca6 100644 --- a/Samples/5_Domain_Specific/recursiveGaussian/CMakeLists.txt +++ b/Samples/5_Domain_Specific/recursiveGaussian/CMakeLists.txt @@ -62,12 +62,16 @@ if(${OpenGL_FOUND}) add_custom_command(TARGET recursiveGaussian POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) add_custom_command(TARGET recursiveGaussian POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) endif() diff --git a/Samples/5_Domain_Specific/simpleGL/CMakeLists.txt b/Samples/5_Domain_Specific/simpleGL/CMakeLists.txt index 5a6e617f..0b032145 100644 --- a/Samples/5_Domain_Specific/simpleGL/CMakeLists.txt +++ b/Samples/5_Domain_Specific/simpleGL/CMakeLists.txt @@ -56,12 +56,16 @@ if(${OpenGL_FOUND}) add_custom_command(TARGET simpleGL POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) add_custom_command(TARGET simpleGL POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E + copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) endif() diff --git a/Samples/5_Domain_Specific/simpleVulkan/CMakeLists.txt b/Samples/5_Domain_Specific/simpleVulkan/CMakeLists.txt index e9dc3f37..7e10f27a 100644 --- a/Samples/5_Domain_Specific/simpleVulkan/CMakeLists.txt +++ b/Samples/5_Domain_Specific/simpleVulkan/CMakeLists.txt @@ -26,6 +26,14 @@ include(CheckIncludeFile) # Check for the GLFW/glfw3.h header check_include_file("GLFW/glfw3.h" HAVE_GLFW3_H) +# Find GLFW/glfw3.h header for Windows +if(WIN32) + find_file(GLFW3_H "glfw3.h" PATH "$ENV{GLFW_INCLUDES_DIR}/GLFW") + if(GLFW3_H) + set(HAVE_GLFW3_H 1) + endif() +endif() + # Source file if(${Vulkan_FOUND}) if(${OPENGL_FOUND}) @@ -44,11 +52,19 @@ if(${Vulkan_FOUND}) ${CUDAToolkit_INCLUDE_DIRS} ) - target_link_libraries(simpleVulkan - ${Vulkan_LIBRARIES} - OpenGL::GL - glfw - ) + if(WIN32) + target_link_libraries(simpleVulkan + ${Vulkan_LIBRARIES} + OpenGL::GL + glfw3.dll + ) + else() + target_link_libraries(simpleVulkan + ${Vulkan_LIBRARIES} + OpenGL::GL + glfw + ) + endif() add_custom_command(TARGET simpleVulkan POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different @@ -62,7 +78,7 @@ if(${Vulkan_FOUND}) message(STATUS "glfw3 not found - will not build sample 'simpleVulkan'") endif() else() - message(STATUS "GLFW not found - will not build sample 'simpleVulkan'") + message(STATUS "OpenGL not found - will not build sample 'simpleVulkan'") endif() else() message(STATUS "Vulkan not found - will not build sample 'simpleVulkan'") diff --git a/Samples/5_Domain_Specific/simpleVulkanMMAP/CMakeLists.txt b/Samples/5_Domain_Specific/simpleVulkanMMAP/CMakeLists.txt index 211fc1ec..9e37812c 100644 --- a/Samples/5_Domain_Specific/simpleVulkanMMAP/CMakeLists.txt +++ b/Samples/5_Domain_Specific/simpleVulkanMMAP/CMakeLists.txt @@ -26,6 +26,14 @@ include(CheckIncludeFile) # Check for the GLFW/glfw3.h header check_include_file("GLFW/glfw3.h" HAVE_GLFW3_H) +# Find GLFW/glfw3.h header for Windows +if(WIN32) + find_file(GLFW3_H "glfw3.h" PATH "$ENV{GLFW_INCLUDES_DIR}/GLFW") + if(GLFW3_H) + set(HAVE_GLFW3_H 1) + endif() +endif() + # Source file if(${Vulkan_FOUND}) if(${OPENGL_FOUND}) @@ -44,12 +52,21 @@ if(${Vulkan_FOUND}) ${CUDAToolkit_INCLUDE_DIRS} ) - target_link_libraries(simpleVulkanMMAP - ${Vulkan_LIBRARIES} - OpenGL::GL - CUDA::cuda_driver - glfw - ) + if(WIN32) + target_link_libraries(simpleVulkanMMAP + ${Vulkan_LIBRARIES} + OpenGL::GL + CUDA::cuda_driver + glfw3.dll + ) + else() + target_link_libraries(simpleVulkanMMAP + ${Vulkan_LIBRARIES} + OpenGL::GL + CUDA::cuda_driver + glfw + ) + endif() add_custom_command(TARGET simpleVulkanMMAP POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different diff --git a/Samples/5_Domain_Specific/smokeParticles/CMakeLists.txt b/Samples/5_Domain_Specific/smokeParticles/CMakeLists.txt index bf649e58..dc90c5a4 100644 --- a/Samples/5_Domain_Specific/smokeParticles/CMakeLists.txt +++ b/Samples/5_Domain_Specific/smokeParticles/CMakeLists.txt @@ -62,12 +62,16 @@ if(${OpenGL_FOUND}) add_custom_command(TARGET smokeParticles POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) add_custom_command(TARGET smokeParticles POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll + ${CMAKE_CURRENT_BINARY_DIR} ) endif() diff --git a/Samples/5_Domain_Specific/volumeFiltering/CMakeLists.txt b/Samples/5_Domain_Specific/volumeFiltering/CMakeLists.txt index 7f58800d..eacc5c8e 100644 --- a/Samples/5_Domain_Specific/volumeFiltering/CMakeLists.txt +++ b/Samples/5_Domain_Specific/volumeFiltering/CMakeLists.txt @@ -62,12 +62,16 @@ if(${OpenGL_FOUND}) add_custom_command(TARGET volumeFiltering POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) add_custom_command(TARGET volumeFiltering POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) endif() diff --git a/Samples/5_Domain_Specific/volumeRender/CMakeLists.txt b/Samples/5_Domain_Specific/volumeRender/CMakeLists.txt index f3f36cea..d8a05ca8 100644 --- a/Samples/5_Domain_Specific/volumeRender/CMakeLists.txt +++ b/Samples/5_Domain_Specific/volumeRender/CMakeLists.txt @@ -62,12 +62,16 @@ if(${OpenGL_FOUND}) add_custom_command(TARGET volumeRender POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) add_custom_command(TARGET volumeRender POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll + ${CMAKE_CURRENT_BINARY_DIR}/$ ) endif() diff --git a/Samples/5_Domain_Specific/vulkanImageCUDA/CMakeLists.txt b/Samples/5_Domain_Specific/vulkanImageCUDA/CMakeLists.txt index 751a96df..7e5bfc59 100644 --- a/Samples/5_Domain_Specific/vulkanImageCUDA/CMakeLists.txt +++ b/Samples/5_Domain_Specific/vulkanImageCUDA/CMakeLists.txt @@ -26,6 +26,14 @@ include(CheckIncludeFile) # Check for the GLFW/glfw3.h header check_include_file("GLFW/glfw3.h" HAVE_GLFW3_H) +# Find GLFW/glfw3.h header for Windows +if(WIN32) + find_file(GLFW3_H "glfw3.h" PATH "$ENV{GLFW_INCLUDES_DIR}/GLFW") + if(GLFW3_H) + set(HAVE_GLFW3_H 1) + endif() +endif() + # Source file if(${Vulkan_FOUND}) if(${OPENGL_FOUND}) @@ -44,11 +52,19 @@ if(${Vulkan_FOUND}) ${CUDAToolkit_INCLUDE_DIRS} ) - target_link_libraries(vulkanImageCUDA - ${Vulkan_LIBRARIES} - OpenGL::GL - glfw - ) + if(WIN32) + target_link_libraries(vulkanImageCUDA + ${Vulkan_LIBRARIES} + OpenGL::GL + glfw3.dll + ) + else() + target_link_libraries(vulkanImageCUDA + ${Vulkan_LIBRARIES} + OpenGL::GL + glfw + ) + endif() add_custom_command(TARGET vulkanImageCUDA POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different