From 7a9bd38eccb9ae35f672f83b2444ebd13ed4c277 Mon Sep 17 00:00:00 2001 From: Rob Armstrong Date: Mon, 10 Feb 2025 23:10:55 -0800 Subject: [PATCH] Update OpenGL sample build settings on Windows --- .../simpleCUDA2GL/CMakeLists.txt | 30 ++++++++++++++++--- .../simpleTexture3D/CMakeLists.txt | 26 ++++++++++++++-- .../FunctionPointers/CMakeLists.txt | 25 ++++++++++++++-- .../boxFilter/CMakeLists.txt | 22 ++++++++++++++ .../imageDenoising/CMakeLists.txt | 27 +++++++++++++++-- .../particles/CMakeLists.txt | 22 ++++++++++++++ .../bindlessTexture/CMakeLists.txt | 22 ++++++++++++++ .../4_CUDA_Libraries/oceanFFT/CMakeLists.txt | 24 +++++++++++++++ .../4_CUDA_Libraries/randomFog/CMakeLists.txt | 26 ++++++++++++++-- .../Mandelbrot/CMakeLists.txt | 22 ++++++++++++++ .../SobelFilter/CMakeLists.txt | 26 ++++++++++++++-- .../bicubicTexture/CMakeLists.txt | 26 ++++++++++++++-- .../bilateralFilter/CMakeLists.txt | 23 ++++++++++++++ .../5_Domain_Specific/fluidsGL/CMakeLists.txt | 22 ++++++++++++++ .../marchingCubes/CMakeLists.txt | 22 ++++++++++++++ .../5_Domain_Specific/nbody/CMakeLists.txt | 26 ++++++++++++++-- .../postProcessGL/CMakeLists.txt | 26 ++++++++++++++-- .../recursiveGaussian/CMakeLists.txt | 26 ++++++++++++++-- .../5_Domain_Specific/simpleGL/CMakeLists.txt | 26 ++++++++++++++-- .../smokeParticles/CMakeLists.txt | 26 ++++++++++++++-- .../volumeFiltering/CMakeLists.txt | 26 ++++++++++++++-- .../volumeRender/CMakeLists.txt | 26 ++++++++++++++-- 22 files changed, 517 insertions(+), 30 deletions(-) diff --git a/Samples/0_Introduction/simpleCUDA2GL/CMakeLists.txt b/Samples/0_Introduction/simpleCUDA2GL/CMakeLists.txt index d4545194..960b1b20 100644 --- a/Samples/0_Introduction/simpleCUDA2GL/CMakeLists.txt +++ b/Samples/0_Introduction/simpleCUDA2GL/CMakeLists.txt @@ -17,6 +17,12 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() + + find_package(OpenGL) find_package(GLUT) @@ -41,10 +47,26 @@ if(${OpenGL_FOUND}) ${GLUT_INCLUDE_DIRS} ) - target_link_libraries(simpleCUDA2GL - ${OPENGL_LIBRARIES} - ${GLUT_LIBRARIES} - ) + target_link_libraries(simpleCUDA2GL + ${OPENGL_LIBRARIES} + ${GLUT_LIBRARIES} + ) + if(WIN32) + target_link_libraries(simpleCUDA2GL + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET simpleCUDA2GL + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/freeglut.dll ${CMAKE_CURRENT_BINARY_DIR} + ) + + add_custom_command(TARGET simpleCUDA2GL + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/win64/$/glew64.dll ${CMAKE_CURRENT_BINARY_DIR} + ) + endif() endif() else() message(STATUS "GLUT not found - will not build sample 'simpleCUDA2GL'") diff --git a/Samples/0_Introduction/simpleTexture3D/CMakeLists.txt b/Samples/0_Introduction/simpleTexture3D/CMakeLists.txt index 0df672cb..8d40d106 100644 --- a/Samples/0_Introduction/simpleTexture3D/CMakeLists.txt +++ b/Samples/0_Introduction/simpleTexture3D/CMakeLists.txt @@ -17,6 +17,11 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() + find_package(OpenGL) find_package(GLUT) @@ -26,9 +31,9 @@ if(${OpenGL_FOUND}) # Add target for simpleTexture3D add_executable(simpleTexture3D simpleTexture3D_kernel.cu simpleTexture3D.cpp) -target_compile_options(simpleTexture3D PRIVATE $<$:--extended-lambda>) + target_compile_options(simpleTexture3D PRIVATE $<$:--extended-lambda>) -target_compile_features(simpleTexture3D PRIVATE cxx_std_17 cuda_std_17) + target_compile_features(simpleTexture3D PRIVATE cxx_std_17 cuda_std_17) set_target_properties(simpleTexture3D PROPERTIES CUDA_SEPARABLE_COMPILATION ON) @@ -50,6 +55,23 @@ target_compile_features(simpleTexture3D PRIVATE cxx_std_17 cuda_std_17) ${CMAKE_CURRENT_BINARY_DIR} ) + if(WIN32) + target_link_libraries(simpleTexture3D + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET simpleTexture3D + POST_BUILD + 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} + ) + endif() + else() message(STATUS "GLUT not found - will not build sample 'simpleTexture3D'") endif() diff --git a/Samples/2_Concepts_and_Techniques/FunctionPointers/CMakeLists.txt b/Samples/2_Concepts_and_Techniques/FunctionPointers/CMakeLists.txt index 6bd0247b..399de4c8 100644 --- a/Samples/2_Concepts_and_Techniques/FunctionPointers/CMakeLists.txt +++ b/Samples/2_Concepts_and_Techniques/FunctionPointers/CMakeLists.txt @@ -17,6 +17,10 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() find_package(OpenGL) find_package(GLUT) @@ -27,9 +31,9 @@ if(${OpenGL_FOUND}) # Add target for FunctionPointers add_executable(FunctionPointers FunctionPointers.cpp FunctionPointers_kernels.cu) -target_compile_options(FunctionPointers PRIVATE $<$:--extended-lambda>) + target_compile_options(FunctionPointers PRIVATE $<$:--extended-lambda>) -target_compile_features(FunctionPointers PRIVATE cxx_std_17 cuda_std_17) + target_compile_features(FunctionPointers PRIVATE cxx_std_17 cuda_std_17) set_target_properties(FunctionPointers PROPERTIES CUDA_SEPARABLE_COMPILATION ON) @@ -51,6 +55,23 @@ target_compile_features(FunctionPointers PRIVATE cxx_std_17 cuda_std_17) ${CMAKE_CURRENT_BINARY_DIR} ) + if(WIN32) + target_link_libraries(FunctionPointers + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET FunctionPointers + POST_BUILD + 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} + ) + endif() + else() message(STATUS "GLUT not found - will not build sample 'FunctionPointers'") endif() diff --git a/Samples/2_Concepts_and_Techniques/boxFilter/CMakeLists.txt b/Samples/2_Concepts_and_Techniques/boxFilter/CMakeLists.txt index 2ebf3aa2..b9f38f63 100644 --- a/Samples/2_Concepts_and_Techniques/boxFilter/CMakeLists.txt +++ b/Samples/2_Concepts_and_Techniques/boxFilter/CMakeLists.txt @@ -17,6 +17,11 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() + find_package(OpenGL) find_package(GLUT) @@ -64,6 +69,23 @@ if(${OpenGL_FOUND}) ${CMAKE_CURRENT_BINARY_DIR}/ ) + if(WIN32) + target_link_libraries(boxFilter + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET boxFilter + POST_BUILD + 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} + ) + endif() + else() message(STATUS "GLUT not found - will not build sample 'boxFilter'") endif() diff --git a/Samples/2_Concepts_and_Techniques/imageDenoising/CMakeLists.txt b/Samples/2_Concepts_and_Techniques/imageDenoising/CMakeLists.txt index 8d5a34d9..111ea5b3 100644 --- a/Samples/2_Concepts_and_Techniques/imageDenoising/CMakeLists.txt +++ b/Samples/2_Concepts_and_Techniques/imageDenoising/CMakeLists.txt @@ -17,6 +17,12 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() + + find_package(OpenGL) find_package(GLUT) @@ -26,9 +32,9 @@ if(${OpenGL_FOUND}) # Add target for imageDenoising add_executable(imageDenoising bmploader.cpp imageDenoising.cu imageDenoisingGL.cpp) -target_compile_options(imageDenoising PRIVATE $<$:--extended-lambda>) + target_compile_options(imageDenoising PRIVATE $<$:--extended-lambda>) -target_compile_features(imageDenoising PRIVATE cxx_std_17 cuda_std_17) + target_compile_features(imageDenoising PRIVATE cxx_std_17 cuda_std_17) set_target_properties(imageDenoising PROPERTIES CUDA_SEPARABLE_COMPILATION ON) @@ -50,6 +56,23 @@ target_compile_features(imageDenoising PRIVATE cxx_std_17 cuda_std_17) ${CMAKE_CURRENT_BINARY_DIR}/data ) + if(WIN32) + target_link_libraries(imageDenoising + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET imageDenoising + POST_BUILD + 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} + ) + endif() + else() message(STATUS "GLUT not found - will not build sample 'imageDenoising'") endif() diff --git a/Samples/2_Concepts_and_Techniques/particles/CMakeLists.txt b/Samples/2_Concepts_and_Techniques/particles/CMakeLists.txt index 5ffdeb0b..460bbdb9 100644 --- a/Samples/2_Concepts_and_Techniques/particles/CMakeLists.txt +++ b/Samples/2_Concepts_and_Techniques/particles/CMakeLists.txt @@ -17,6 +17,11 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() + find_package(OpenGL) find_package(GLUT) @@ -50,6 +55,23 @@ target_compile_features(particles PRIVATE cxx_std_17 cuda_std_17) ${CMAKE_CURRENT_BINARY_DIR}/data ) + if(WIN32) + target_link_libraries(particles + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET particles + POST_BUILD + 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} + ) + endif() + else() message(STATUS "GLUT not found - will not build sample 'particles'") endif() diff --git a/Samples/3_CUDA_Features/bindlessTexture/CMakeLists.txt b/Samples/3_CUDA_Features/bindlessTexture/CMakeLists.txt index 6faa0009..1544a5c7 100644 --- a/Samples/3_CUDA_Features/bindlessTexture/CMakeLists.txt +++ b/Samples/3_CUDA_Features/bindlessTexture/CMakeLists.txt @@ -17,6 +17,11 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() + find_package(OpenGL) find_package(GLUT) @@ -50,6 +55,23 @@ target_compile_features(bindlessTexture PRIVATE cxx_std_17 cuda_std_17) ${CMAKE_CURRENT_BINARY_DIR}/data ) + if(WIN32) + target_link_libraries(bindlessTexture + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET bindlessTexture + POST_BUILD + 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} + ) + endif() + else() message(STATUS "GLUT not found - will not build sample 'bindlessTexture'") endif() diff --git a/Samples/4_CUDA_Libraries/oceanFFT/CMakeLists.txt b/Samples/4_CUDA_Libraries/oceanFFT/CMakeLists.txt index 5dcebce8..8922eef6 100644 --- a/Samples/4_CUDA_Libraries/oceanFFT/CMakeLists.txt +++ b/Samples/4_CUDA_Libraries/oceanFFT/CMakeLists.txt @@ -17,6 +17,12 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() + + find_package(OpenGL) find_package(GLUT) @@ -51,6 +57,24 @@ target_compile_features(oceanFFT PRIVATE cxx_std_17 cuda_std_17) ${CMAKE_CURRENT_BINARY_DIR}/data ) + if(WIN32) + target_link_libraries(oceanFFT + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET oceanFFT + POST_BUILD + 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} + ) + endif() + + else() message(STATUS "GLUT not found - will not build sample 'oceanFFT'") endif() diff --git a/Samples/4_CUDA_Libraries/randomFog/CMakeLists.txt b/Samples/4_CUDA_Libraries/randomFog/CMakeLists.txt index 108a4ff8..924310b7 100644 --- a/Samples/4_CUDA_Libraries/randomFog/CMakeLists.txt +++ b/Samples/4_CUDA_Libraries/randomFog/CMakeLists.txt @@ -17,6 +17,11 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() + find_package(OpenGL) find_package(GLUT) @@ -26,9 +31,9 @@ if(${OpenGL_FOUND}) # Add target for randomFog add_executable(randomFog randomFog.cpp rng.cpp) -target_compile_options(randomFog PRIVATE $<$:--extended-lambda>) + target_compile_options(randomFog PRIVATE $<$:--extended-lambda>) -target_compile_features(randomFog PRIVATE cxx_std_17 cuda_std_17) + target_compile_features(randomFog PRIVATE cxx_std_17 cuda_std_17) set_target_properties(randomFog PROPERTIES CUDA_SEPARABLE_COMPILATION ON) @@ -52,6 +57,23 @@ target_compile_features(randomFog PRIVATE cxx_std_17 cuda_std_17) ${CMAKE_CURRENT_BINARY_DIR}/data ) + if(WIN32) + target_link_libraries(randomFog + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET randomFog + POST_BUILD + 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} + ) + endif() + else() message(STATUS "GLUT not found - will not build sample 'randomFog'") endif() diff --git a/Samples/5_Domain_Specific/Mandelbrot/CMakeLists.txt b/Samples/5_Domain_Specific/Mandelbrot/CMakeLists.txt index 877f34af..ac76aa74 100644 --- a/Samples/5_Domain_Specific/Mandelbrot/CMakeLists.txt +++ b/Samples/5_Domain_Specific/Mandelbrot/CMakeLists.txt @@ -17,6 +17,11 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() + find_package(OpenGL) find_package(GLUT) @@ -50,6 +55,23 @@ target_compile_features(Mandelbrot PRIVATE cxx_std_17 cuda_std_17) ${CMAKE_CURRENT_BINARY_DIR}/data ) + if(WIN32) + target_link_libraries(Mandelbrot + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET Mandelbrot + POST_BUILD + 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} + ) + endif() + else() message(STATUS "GLUT not found - will not build sample 'Mandelbrot'") endif() diff --git a/Samples/5_Domain_Specific/SobelFilter/CMakeLists.txt b/Samples/5_Domain_Specific/SobelFilter/CMakeLists.txt index e9ca2fa7..c8bd8f21 100644 --- a/Samples/5_Domain_Specific/SobelFilter/CMakeLists.txt +++ b/Samples/5_Domain_Specific/SobelFilter/CMakeLists.txt @@ -17,6 +17,11 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() + find_package(OpenGL) find_package(GLUT) @@ -26,9 +31,9 @@ if(${OpenGL_FOUND}) # Add target for SobelFilter add_executable(SobelFilter SobelFilter.cpp SobelFilter_kernels.cu) -target_compile_options(SobelFilter PRIVATE $<$:--extended-lambda>) + target_compile_options(SobelFilter PRIVATE $<$:--extended-lambda>) -target_compile_features(SobelFilter PRIVATE cxx_std_17 cuda_std_17) + target_compile_features(SobelFilter PRIVATE cxx_std_17 cuda_std_17) set_target_properties(SobelFilter PROPERTIES CUDA_SEPARABLE_COMPILATION ON) @@ -49,6 +54,23 @@ target_compile_features(SobelFilter PRIVATE cxx_std_17 cuda_std_17) ${CMAKE_CURRENT_BINARY_DIR}/data ) + if(WIN32) + target_link_libraries(SobelFilter + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET SobelFilter + POST_BUILD + 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} + ) + endif() + else() message(STATUS "GLUT not found - will not build sample 'SobelFilter'") endif() diff --git a/Samples/5_Domain_Specific/bicubicTexture/CMakeLists.txt b/Samples/5_Domain_Specific/bicubicTexture/CMakeLists.txt index cf35d83a..02303643 100644 --- a/Samples/5_Domain_Specific/bicubicTexture/CMakeLists.txt +++ b/Samples/5_Domain_Specific/bicubicTexture/CMakeLists.txt @@ -17,6 +17,11 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() + find_package(OpenGL) find_package(GLUT) @@ -26,9 +31,9 @@ if(${OpenGL_FOUND}) # Add target for bicubicTexture add_executable(bicubicTexture bicubicTexture.cpp bicubicTexture_cuda.cu) -target_compile_options(bicubicTexture PRIVATE $<$:--extended-lambda>) + target_compile_options(bicubicTexture PRIVATE $<$:--extended-lambda>) -target_compile_features(bicubicTexture PRIVATE cxx_std_17 cuda_std_17) + target_compile_features(bicubicTexture PRIVATE cxx_std_17 cuda_std_17) set_target_properties(bicubicTexture PROPERTIES CUDA_SEPARABLE_COMPILATION ON) @@ -50,6 +55,23 @@ target_compile_features(bicubicTexture PRIVATE cxx_std_17 cuda_std_17) ${CMAKE_CURRENT_BINARY_DIR}/data ) + if(WIN32) + target_link_libraries(bicubicTexture + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET bicubicTexture + POST_BUILD + 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} + ) + endif() + else() message(STATUS "GLUT not found - will not build sample 'bicubicTexture'") endif() diff --git a/Samples/5_Domain_Specific/bilateralFilter/CMakeLists.txt b/Samples/5_Domain_Specific/bilateralFilter/CMakeLists.txt index 38b9880b..a276023f 100644 --- a/Samples/5_Domain_Specific/bilateralFilter/CMakeLists.txt +++ b/Samples/5_Domain_Specific/bilateralFilter/CMakeLists.txt @@ -17,6 +17,11 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() + find_package(OpenGL) find_package(GLUT) @@ -50,6 +55,24 @@ target_compile_features(bilateralFilter PRIVATE cxx_std_17 cuda_std_17) ${CMAKE_CURRENT_BINARY_DIR}/data ) + if(WIN32) + target_link_libraries(bilateralFilter + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET bilateralFilter + POST_BUILD + 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} + ) + endif() + + else() message(STATUS "GLUT not found - will not build sample 'bilateralFilter'") endif() diff --git a/Samples/5_Domain_Specific/fluidsGL/CMakeLists.txt b/Samples/5_Domain_Specific/fluidsGL/CMakeLists.txt index b7988842..2d49e536 100644 --- a/Samples/5_Domain_Specific/fluidsGL/CMakeLists.txt +++ b/Samples/5_Domain_Specific/fluidsGL/CMakeLists.txt @@ -17,6 +17,11 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() + find_package(OpenGL) find_package(GLUT) @@ -51,6 +56,23 @@ target_compile_features(fluidsGL PRIVATE cxx_std_17 cuda_std_17) ${CMAKE_CURRENT_BINARY_DIR}/data ) + if(WIN32) + target_link_libraries(fluidsGL + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET fluidsGL + POST_BUILD + 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} + ) + endif() + else() message(STATUS "GLUT not found - will not build sample 'fluidsGL'") endif() diff --git a/Samples/5_Domain_Specific/marchingCubes/CMakeLists.txt b/Samples/5_Domain_Specific/marchingCubes/CMakeLists.txt index a2df933d..5d36189a 100644 --- a/Samples/5_Domain_Specific/marchingCubes/CMakeLists.txt +++ b/Samples/5_Domain_Specific/marchingCubes/CMakeLists.txt @@ -17,6 +17,11 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() + find_package(OpenGL) find_package(GLUT) @@ -50,6 +55,23 @@ target_compile_features(marchingCubes PRIVATE cxx_std_17 cuda_std_17) ${CMAKE_CURRENT_BINARY_DIR}/data ) + if(WIN32) + target_link_libraries(marchingCubes + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET marchingCubes + POST_BUILD + 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} + ) + endif() + else() message(STATUS "GLUT not found - will not build sample 'marchingCubes'") endif() diff --git a/Samples/5_Domain_Specific/nbody/CMakeLists.txt b/Samples/5_Domain_Specific/nbody/CMakeLists.txt index 9155e548..a8b3e3ac 100644 --- a/Samples/5_Domain_Specific/nbody/CMakeLists.txt +++ b/Samples/5_Domain_Specific/nbody/CMakeLists.txt @@ -17,6 +17,11 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() + find_package(OpenGL) find_package(GLUT) @@ -26,9 +31,9 @@ if(${OpenGL_FOUND}) # Add target for nbody add_executable(nbody bodysystemcuda.cu render_particles.cpp nbody.cpp) -target_compile_options(nbody PRIVATE $<$:--extended-lambda>) + target_compile_options(nbody PRIVATE $<$:--extended-lambda>) -target_compile_features(nbody PRIVATE cxx_std_17 cuda_std_17) + target_compile_features(nbody PRIVATE cxx_std_17 cuda_std_17) set_target_properties(nbody PROPERTIES CUDA_SEPARABLE_COMPILATION ON) @@ -43,6 +48,23 @@ target_compile_features(nbody PRIVATE cxx_std_17 cuda_std_17) ${GLUT_LIBRARIES} ) + if(WIN32) + target_link_libraries(nbody + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET nbody + POST_BUILD + 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} + ) + endif() + else() message(STATUS "GLUT not found - will not build sample 'nbody'") endif() diff --git a/Samples/5_Domain_Specific/postProcessGL/CMakeLists.txt b/Samples/5_Domain_Specific/postProcessGL/CMakeLists.txt index 14426bfb..de3581fd 100644 --- a/Samples/5_Domain_Specific/postProcessGL/CMakeLists.txt +++ b/Samples/5_Domain_Specific/postProcessGL/CMakeLists.txt @@ -17,6 +17,11 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() + find_package(OpenGL) find_package(GLUT) @@ -26,9 +31,9 @@ if(${OpenGL_FOUND}) # Add target for postProcessGL add_executable(postProcessGL main.cpp postProcessGL.cu) -target_compile_options(postProcessGL PRIVATE $<$:--extended-lambda>) + target_compile_options(postProcessGL PRIVATE $<$:--extended-lambda>) -target_compile_features(postProcessGL PRIVATE cxx_std_17 cuda_std_17) + target_compile_features(postProcessGL PRIVATE cxx_std_17 cuda_std_17) set_target_properties(postProcessGL PROPERTIES CUDA_SEPARABLE_COMPILATION ON) @@ -49,6 +54,23 @@ target_compile_features(postProcessGL PRIVATE cxx_std_17 cuda_std_17) ${CMAKE_CURRENT_BINARY_DIR}/data ) + if(WIN32) + target_link_libraries(postProcessGL + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET postProcessGL + POST_BUILD + 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} + ) + endif() + else() message(STATUS "GLUT not found - will not build sample 'postProcessGL'") endif() diff --git a/Samples/5_Domain_Specific/recursiveGaussian/CMakeLists.txt b/Samples/5_Domain_Specific/recursiveGaussian/CMakeLists.txt index ca323735..9551be9c 100644 --- a/Samples/5_Domain_Specific/recursiveGaussian/CMakeLists.txt +++ b/Samples/5_Domain_Specific/recursiveGaussian/CMakeLists.txt @@ -17,6 +17,11 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() + find_package(OpenGL) find_package(GLUT) @@ -26,9 +31,9 @@ if(${OpenGL_FOUND}) # Add target for recursiveGaussian add_executable(recursiveGaussian recursiveGaussian_cuda.cu recursiveGaussian.cpp) -target_compile_options(recursiveGaussian PRIVATE $<$:--extended-lambda>) + target_compile_options(recursiveGaussian PRIVATE $<$:--extended-lambda>) -target_compile_features(recursiveGaussian PRIVATE cxx_std_17 cuda_std_17) + target_compile_features(recursiveGaussian PRIVATE cxx_std_17 cuda_std_17) set_target_properties(recursiveGaussian PROPERTIES CUDA_SEPARABLE_COMPILATION ON) @@ -49,6 +54,23 @@ target_compile_features(recursiveGaussian PRIVATE cxx_std_17 cuda_std_17) ${CMAKE_CURRENT_BINARY_DIR}/data ) + if(WIN32) + target_link_libraries(recursiveGaussian + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET recursiveGaussian + POST_BUILD + 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} + ) + endif() + else() message(STATUS "GLUT not found - will not build sample 'recursiveGaussian'") endif() diff --git a/Samples/5_Domain_Specific/simpleGL/CMakeLists.txt b/Samples/5_Domain_Specific/simpleGL/CMakeLists.txt index 37ccacd0..5a6e617f 100644 --- a/Samples/5_Domain_Specific/simpleGL/CMakeLists.txt +++ b/Samples/5_Domain_Specific/simpleGL/CMakeLists.txt @@ -17,6 +17,11 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() + find_package(OpenGL) find_package(GLUT) @@ -26,9 +31,9 @@ if(${OpenGL_FOUND}) # Add target for simpleGL add_executable(simpleGL simpleGL.cu) -target_compile_options(simpleGL PRIVATE $<$:--extended-lambda>) + target_compile_options(simpleGL PRIVATE $<$:--extended-lambda>) -target_compile_features(simpleGL PRIVATE cxx_std_17 cuda_std_17) + target_compile_features(simpleGL PRIVATE cxx_std_17 cuda_std_17) set_target_properties(simpleGL PROPERTIES CUDA_SEPARABLE_COMPILATION ON) @@ -43,6 +48,23 @@ target_compile_features(simpleGL PRIVATE cxx_std_17 cuda_std_17) ${GLUT_LIBRARIES} ) + if(WIN32) + target_link_libraries(simpleGL + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET simpleGL + POST_BUILD + 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} + ) + endif() + add_custom_command(TARGET simpleGL POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/data diff --git a/Samples/5_Domain_Specific/smokeParticles/CMakeLists.txt b/Samples/5_Domain_Specific/smokeParticles/CMakeLists.txt index 29feaca6..bf649e58 100644 --- a/Samples/5_Domain_Specific/smokeParticles/CMakeLists.txt +++ b/Samples/5_Domain_Specific/smokeParticles/CMakeLists.txt @@ -17,6 +17,11 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() + find_package(OpenGL) find_package(GLUT) @@ -26,9 +31,9 @@ if(${OpenGL_FOUND}) # Add target for smokeParticles add_executable(smokeParticles GLSLProgram.cpp ParticleSystem.cpp ParticleSystem_cuda.cu SmokeRenderer.cpp SmokeShaders.cpp framebufferObject.cpp particleDemo.cpp renderbuffer.cpp) -target_compile_options(smokeParticles PRIVATE $<$:--extended-lambda>) + target_compile_options(smokeParticles PRIVATE $<$:--extended-lambda>) -target_compile_features(smokeParticles PRIVATE cxx_std_17 cuda_std_17) + target_compile_features(smokeParticles PRIVATE cxx_std_17 cuda_std_17) set_target_properties(smokeParticles PROPERTIES CUDA_SEPARABLE_COMPILATION ON) @@ -49,6 +54,23 @@ target_compile_features(smokeParticles PRIVATE cxx_std_17 cuda_std_17) ${CMAKE_CURRENT_BINARY_DIR}/data ) + if(WIN32) + target_link_libraries(smokeParticles + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET smokeParticles + POST_BUILD + 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} + ) + endif() + else() message(STATUS "GLUT not found - will not build sample 'smokeParticles'") endif() diff --git a/Samples/5_Domain_Specific/volumeFiltering/CMakeLists.txt b/Samples/5_Domain_Specific/volumeFiltering/CMakeLists.txt index 32cbe1ce..7f58800d 100644 --- a/Samples/5_Domain_Specific/volumeFiltering/CMakeLists.txt +++ b/Samples/5_Domain_Specific/volumeFiltering/CMakeLists.txt @@ -17,6 +17,11 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() + find_package(OpenGL) find_package(GLUT) @@ -26,9 +31,9 @@ if(${OpenGL_FOUND}) # Add target for volumeFiltering add_executable(volumeFiltering volume.cpp volumeFilter_kernel.cu volumeFiltering.cpp volumeRender_kernel.cu) -target_compile_options(volumeFiltering PRIVATE $<$:--extended-lambda>) + target_compile_options(volumeFiltering PRIVATE $<$:--extended-lambda>) -target_compile_features(volumeFiltering PRIVATE cxx_std_17 cuda_std_17) + target_compile_features(volumeFiltering PRIVATE cxx_std_17 cuda_std_17) set_target_properties(volumeFiltering PROPERTIES CUDA_SEPARABLE_COMPILATION ON) @@ -49,6 +54,23 @@ target_compile_features(volumeFiltering PRIVATE cxx_std_17 cuda_std_17) ${CMAKE_CURRENT_BINARY_DIR}/data ) + if(WIN32) + target_link_libraries(volumeFiltering + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET volumeFiltering + POST_BUILD + 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} + ) + endif() + else() message(STATUS "GLUT not found - will not build sample 'volumeFiltering'") endif() diff --git a/Samples/5_Domain_Specific/volumeRender/CMakeLists.txt b/Samples/5_Domain_Specific/volumeRender/CMakeLists.txt index 0a6275fc..f3f36cea 100644 --- a/Samples/5_Domain_Specific/volumeRender/CMakeLists.txt +++ b/Samples/5_Domain_Specific/volumeRender/CMakeLists.txt @@ -17,6 +17,11 @@ endif() # Include directories and libraries include_directories(../../../Common) +if(WIN32) + set(PC_GLUT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common") + set(PC_GLUT_LIBRARY_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../../Common/lib/x64") +endif() + find_package(OpenGL) find_package(GLUT) @@ -26,9 +31,9 @@ if(${OpenGL_FOUND}) # Add target for volumeRender add_executable(volumeRender volumeRender_kernel.cu volumeRender.cpp) -target_compile_options(volumeRender PRIVATE $<$:--extended-lambda>) + target_compile_options(volumeRender PRIVATE $<$:--extended-lambda>) -target_compile_features(volumeRender PRIVATE cxx_std_17 cuda_std_17) + target_compile_features(volumeRender PRIVATE cxx_std_17 cuda_std_17) set_target_properties(volumeRender PROPERTIES CUDA_SEPARABLE_COMPILATION ON) @@ -49,6 +54,23 @@ target_compile_features(volumeRender PRIVATE cxx_std_17 cuda_std_17) ${CMAKE_CURRENT_BINARY_DIR}/data ) + if(WIN32) + target_link_libraries(volumeRender + ${PC_GLUT_LIBRARY_DIRS}/freeglut.lib + ${PC_GLUT_LIBRARY_DIRS}/glew64.lib + ) + + add_custom_command(TARGET volumeRender + POST_BUILD + 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} + ) + endif() + else() message(STATUS "GLUT not found - will not build sample 'volumeRender'") endif()