diff --git a/CMakeLists.txt b/CMakeLists.txt index ebe52ee9f..3f91531f8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -130,6 +130,23 @@ IF(WIN32) FIND_PATH(NVIDIA_OPENCL_BASE_DIR OpenCL/common/inc/CL/cl.h PATH $ENV{NVSDKCOMPUTE_ROOT} ) IF(NVIDIA_OPENCL_BASE_DIR) + IF(INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + SET(NVIDIA_OPENCL_INCLUDES $ENV{==NVSDKCOMPUTE_ROOT=}/OpenCL/common/inc ) + IF (CMAKE_CL_64) + SET(CMAKE_NVSDKCOMPUTE_LIBPATH $ENV{==NVSDKCOMPUTE_ROOT=}/OpenCL/common/lib/x64 ) + ELSE(CMAKE_CL_64) + SET(CMAKE_NVSDKCOMPUTE_LIBPATH $ENV{==NVSDKCOMPUTE_ROOT=}/OpenCL/common/lib/Win32 ) + ENDIF(CMAKE_CL_64) + ELSE() + SET(NVIDIA_OPENCL_INCLUDES $ENV{NVSDKCOMPUTE_ROOT}/OpenCL/common/inc ) + IF (CMAKE_CL_64) + SET(CMAKE_NVSDKCOMPUTE_LIBPATH $ENV{NVSDKCOMPUTE_ROOT}/OpenCL/common/lib/x64 ) + ELSE(CMAKE_CL_64) + SET(CMAKE_NVSDKCOMPUTE_LIBPATH $ENV{NVSDKCOMPUTE_ROOT}/OpenCL/common/lib/Win32 ) + ENDIF(CMAKE_CL_64) + ENDIF() + SET(NVIDIA_OPENCL_LIBRARIES ${CMAKE_NVSDKCOMPUTE_LIBPATH}/OpenCL.lib) + OPTION(BUILD_NVIDIA_OPENCL_DEMOS "Build OpenCL demos for NVidia (GPU)" ON) ELSE() OPTION(BUILD_NVIDIA_OPENCL_DEMOS "Build OpenCL demos for NVidia (GPU)" OFF) @@ -148,8 +165,18 @@ ENDIF (WIN32) IF (WIN32 OR APPLE) OPTION(BUILD_MINICL_OPENCL_DEMOS "Build OpenCL demos for MiniCL (Generic CPU)" ON) ELSE() -#there is some build problem, locating glew under Linux OPTION(BUILD_MINICL_OPENCL_DEMOS "Build OpenCL demos for MiniCL (Generic CPU)" OFF) + + FIND_PATH(NVIDIA_OPENCL_INCLUDES CL/cl.h) + FIND_LIBRARY(NVIDIA_OPENCL_LIBRARIES OpenCL PATH /usr/lib /usr/local/lib) + IF (NVIDIA_OPENCL_INCLUDES AND NVIDIA_OPENCL_LIBRARIES) + MESSAGE("OPENCL FOUND") + MESSAGE(${NVIDIA_OPENCL_LIBRARIES}) + OPTION(BUILD_NVIDIA_OPENCL_DEMOS "Build OpenCL demos for NVidia (GPU)" ON) + ELSE () + MESSAGE("OPENCL NOT FOUND") + OPTION(BUILD_NVIDIA_OPENCL_DEMOS "Build OpenCL demos for NVidia (GPU)" OFF) + ENDIF () ENDIF() OPTION(BUILD_CPU_DEMOS "Build original Bullet CPU demos" ON) diff --git a/Demos/OpenCLClothDemo/NVidia/CMakeLists.txt b/Demos/OpenCLClothDemo/NVidia/CMakeLists.txt index d41b8f377..f6731b5a7 100644 --- a/Demos/OpenCLClothDemo/NVidia/CMakeLists.txt +++ b/Demos/OpenCLClothDemo/NVidia/CMakeLists.txt @@ -4,29 +4,12 @@ INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ${BULLET_PHYSICS_SOURCE_DIR}/Demos/SharedOpenCL ${BULLET_PHYSICS_SOURCE_DIR}/Demos/OpenGL +${NVIDIA_OPENCL_INCLUDES} ) -IF(INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) - INCLUDE_DIRECTORIES( $ENV{==NVSDKCOMPUTE_ROOT=}/OpenCL/common/inc ) - IF (CMAKE_CL_64) - SET(CMAK_NVSDKCOMPUTE_LIBPATH $ENV{==NVSDKCOMPUTE_ROOT=}/OpenCL/common/lib/x64 ) - ELSE(CMAKE_CL_64) - SET(CMAK_NVSDKCOMPUTE_LIBPATH $ENV{==NVSDKCOMPUTE_ROOT=}/OpenCL/common/lib/Win32 ) - ENDIF(CMAKE_CL_64) -ELSE() - INCLUDE_DIRECTORIES( $ENV{NVSDKCOMPUTE_ROOT}/OpenCL/common/inc ) - IF (CMAKE_CL_64) - SET(CMAK_NVSDKCOMPUTE_LIBPATH $ENV{NVSDKCOMPUTE_ROOT}/OpenCL/common/lib/x64 ) - ELSE(CMAKE_CL_64) - SET(CMAK_NVSDKCOMPUTE_LIBPATH $ENV{NVSDKCOMPUTE_ROOT}/OpenCL/common/lib/Win32 ) - ENDIF(CMAKE_CL_64) -ENDIF() - - - IF (CMAKE_CL_64) SET(CMAK_GLEW_LIBRARY ${BULLET_PHYSICS_SOURCE_DIR}/Glut/glew64.lib ) @@ -36,6 +19,7 @@ ENDIF(CMAKE_CL_64) IF (USE_GLUT) + LINK_LIBRARIES( OpenGLSupport BulletSoftBodySolvers_OpenCL_NVidia @@ -49,10 +33,9 @@ IF (USE_GLUT) ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${CMAK_GLEW_LIBRARY} - ${CMAK_NVSDKCOMPUTE_LIBPATH}/OpenCL.lib + ${NVIDIA_OPENCL_LIBRARIES} ) - ADD_EXECUTABLE(AppOpenCLClothDemo_NVidia ../cl_cloth_demo.cpp ${BULLET_PHYSICS_SOURCE_DIR}/Demos/SharedOpenCL/btOclUtils.h diff --git a/Demos/ParticlesOpenCL/NVidia/CMakeLists.txt b/Demos/ParticlesOpenCL/NVidia/CMakeLists.txt index 3b17c49ed..4131b4071 100644 --- a/Demos/ParticlesOpenCL/NVidia/CMakeLists.txt +++ b/Demos/ParticlesOpenCL/NVidia/CMakeLists.txt @@ -29,6 +29,9 @@ ELSE(CMAKE_CL_64) SET(CMAK_GLEW_LIBRARY ${BULLET_PHYSICS_SOURCE_DIR}/Glut/glew32.lib ) ENDIF(CMAKE_CL_64) +IF(UNIX AND NOT APPLE) + SET(CMAK_GLEW_LIBRARY /usr/lib/libGLEW.so ) +ENDIF() IF (USE_GLUT) LINK_LIBRARIES( @@ -40,10 +43,9 @@ IF (USE_GLUT) ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${CMAK_GLEW_LIBRARY} - ${CMAK_NVSDKCOMPUTE_LIBPATH}/OpenCL.lib + ${NVIDIA_OPENCL_LIBRARIES} ) - ADD_EXECUTABLE(AppParticlesOCL_Nv ${BULLET_PHYSICS_SOURCE_DIR}/Demos/ParticlesOpenCL/btParticlesDynamicsWorld.h ${BULLET_PHYSICS_SOURCE_DIR}/Demos/ParticlesOpenCL/btParticlesSharedDefs.h diff --git a/Demos/VectorAdd_OpenCL/NVidia/CMakeLists.txt b/Demos/VectorAdd_OpenCL/NVidia/CMakeLists.txt index 05adb0575..84da94cfc 100644 --- a/Demos/VectorAdd_OpenCL/NVidia/CMakeLists.txt +++ b/Demos/VectorAdd_OpenCL/NVidia/CMakeLists.txt @@ -23,7 +23,7 @@ ${BULLET_PHYSICS_SOURCE_DIR}/src LINK_LIBRARIES( LinearMath - ${CMAK_NVSDKCOMPUTE_LIBPATH}/OpenCL.lib + ${NVIDIA_OPENCL_LIBRARIES} ) ADD_EXECUTABLE(AppVectorAdd_NVidia