5461d27948
The GLEW library is optional, but without it you cannot do OpenGL interop. The hello_world example uses OpenGL interop, but did not check that GLEW was available. It tried to use GLEW and an error occured.
46 lines
2.2 KiB
CMake
Executable File
46 lines
2.2 KiB
CMake
Executable File
##=============================================================================
|
|
##
|
|
## Copyright (c) Kitware, Inc.
|
|
## All rights reserved.
|
|
## See LICENSE.txt for details.
|
|
##
|
|
## This software is distributed WITHOUT ANY WARRANTY; without even
|
|
## the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
## PURPOSE. See the above copyright notice for more information.
|
|
##
|
|
## Copyright 2015 Sandia Corporation.
|
|
## Copyright 2015 UT-Battelle, LLC.
|
|
## Copyright 2015 Los Alamos National Security.
|
|
##
|
|
## Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
|
|
## the U.S. Government retains certain rights in this software.
|
|
## Under the terms of Contract DE-AC52-06NA25396 with Los Alamos National
|
|
## Laboratory (LANL), the U.S. Government retains certain rights in
|
|
## this software.
|
|
##
|
|
##=============================================================================
|
|
|
|
if(VTKm_ENABLE_OPENGL_INTEROP AND GLUT_FOUND)
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
|
add_executable(HelloWorld_SERIAL HelloWorld.cxx LoadShaders.h)
|
|
set_source_files_properties(LoadShaders.h PROPERTIES HEADER_FILE_ONLY TRUE)
|
|
target_include_directories(HelloWorld_SERIAL PRIVATE ${OPENGL_INCLUDE_DIR} ${GLEW_INCLUDE_DIR} ${GLUT_INCLUDE_DIR})
|
|
target_link_libraries(HelloWorld_SERIAL ${OPENGL_LIBRARIES} ${GLEW_LIBRARIES} ${GLUT_LIBRARIES} ${VTKm_LIBRARIES})
|
|
target_compile_options(HelloWorld_SERIAL PRIVATE ${VTKm_COMPILE_OPTIONS})
|
|
|
|
if(VTKm_CUDA_FOUND)
|
|
vtkm_disable_troublesome_thrust_warnings()
|
|
cuda_add_executable(HelloWorld_CUDA HelloWorld.cu LoadShaders.h)
|
|
target_link_libraries(HelloWorld_CUDA ${OPENGL_LIBRARIES} ${GLEW_LIBRARIES} ${GLUT_LIBRARIES} ${VTKm_LIBRARIES})
|
|
target_compile_options(HelloWorld_CUDA PRIVATE ${VTKm_COMPILE_OPTIONS})
|
|
endif()
|
|
|
|
if(VTKm_TBB_FOUND)
|
|
add_executable(HelloWorld_TBB HelloWorldTBB.cxx LoadShaders.h)
|
|
target_include_directories(HelloWorld_TBB PRIVATE ${OPENGL_INCLUDE_DIR} ${GLEW_INCLUDE_DIR} ${GLUT_INCLUDE_DIR})
|
|
target_link_libraries(HelloWorld_TBB ${OPENGL_LIBRARIES} ${GLEW_LIBRARIES} ${GLUT_LIBRARIES} ${VTKm_LIBRARIES})
|
|
target_compile_options(HelloWorld_TBB PRIVATE ${VTKm_COMPILE_OPTIONS})
|
|
endif()
|
|
|
|
endif()
|