Import all sources from perforce.
This commit is contained in:
131
cmake/FindCUDA.cmake
Normal file
131
cmake/FindCUDA.cmake
Normal file
@ -0,0 +1,131 @@
|
||||
#
|
||||
# Try to find CUDA compiler, runtime libraries, and include path.
|
||||
# Once done this will define
|
||||
#
|
||||
# CUDA_FOUND
|
||||
# CUDA_INCLUDE_PATH
|
||||
# CUDA_LIBRARY
|
||||
# CUDA_COMPILER
|
||||
#
|
||||
# It will also define the following macro:
|
||||
#
|
||||
# WRAP_CUDA
|
||||
#
|
||||
|
||||
IF (WIN32)
|
||||
FIND_PROGRAM (CUDA_COMPILER nvcc.exe
|
||||
$ENV{CUDA_BIN_PATH}
|
||||
DOC "The CUDA Compiler")
|
||||
ELSE(WIN32)
|
||||
FIND_PROGRAM (CUDA_COMPILER nvcc
|
||||
$ENV{CUDA_BIN_PATH}
|
||||
DOC "The CUDA Compiler")
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF (CUDA_COMPILER)
|
||||
GET_FILENAME_COMPONENT (CUDA_COMPILER_DIR ${CUDA_COMPILER} PATH)
|
||||
GET_FILENAME_COMPONENT (CUDA_COMPILER_SUPER_DIR ${CUDA_COMPILER_DIR} PATH)
|
||||
ELSE (CUDA_COMPILER)
|
||||
SET (CUDA_COMPILER_DIR .)
|
||||
SET (CUDA_COMPILER_SUPER_DIR ..)
|
||||
ENDIF (CUDA_COMPILER)
|
||||
|
||||
FIND_PATH (CUDA_INCLUDE_PATH cuda_runtime.h
|
||||
$ENV{CUDA_INC_PATH}
|
||||
${CUDA_COMPILER_SUPER_DIR}/include
|
||||
${CUDA_COMPILER_DIR}
|
||||
DOC "The directory where CUDA headers reside")
|
||||
|
||||
FIND_LIBRARY (CUDA_LIBRARY
|
||||
NAMES cudart
|
||||
PATHS
|
||||
$ENV{CUDA_LIB_PATH}
|
||||
${CUDA_COMPILER_SUPER_DIR}/lib
|
||||
${CUDA_COMPILER_DIR}
|
||||
DOC "The CUDA runtime library")
|
||||
|
||||
|
||||
IF (CUDA_INCLUDE_PATH)
|
||||
SET (CUDA_FOUND 1 CACHE STRING "Set to 1 if CUDA is found, 0 otherwise")
|
||||
ELSE (CUDA_INCLUDE_PATH)
|
||||
SET (CUDA_FOUND 0 CACHE STRING "Set to 1 if CUDA is found, 0 otherwise")
|
||||
ENDIF (CUDA_INCLUDE_PATH)
|
||||
|
||||
MARK_AS_ADVANCED (CUDA_FOUND CUDA_COMPILER)
|
||||
|
||||
|
||||
#SET(CUDA_OPTIONS "-ncfe")
|
||||
SET(CUDA_OPTIONS "")
|
||||
|
||||
IF (CUDA_EMU)
|
||||
SET (CUDA_OPTIONS "${CUDA_OPTIONS} -deviceemu")
|
||||
ENDIF (CUDA_EMU)
|
||||
|
||||
|
||||
# Get include directories.
|
||||
MACRO(GET_CUDA_INC_DIRS _cuda_INC_DIRS)
|
||||
SET(${_cuda_INC_DIRS})
|
||||
GET_DIRECTORY_PROPERTY(_inc_DIRS INCLUDE_DIRECTORIES)
|
||||
|
||||
FOREACH(_current ${_inc_DIRS})
|
||||
SET(${_cuda_INC_DIRS} ${${_cuda_INC_DIRS}} "-I" ${_current})
|
||||
ENDFOREACH(_current ${_inc_DIRS})
|
||||
|
||||
SET(${_cuda_INC_DIRS} ${${_cuda_INC_DIRS}} "-I" ${CUDA_INCLUDE_PATH})
|
||||
|
||||
# IF (CMAKE_SYTEM_INCLUDE_PATH)
|
||||
# SET(${_cuda_INC_DIRS} ${${_cuda_INC_DIRS}} "-I" ${CMAKE_SYSTEM_INCLUDE_PATH})
|
||||
# ENDIF (CMAKE_SYTEM_INCLUDE_PATH)
|
||||
# IF (CMAKE_INCLUDE_PATH)
|
||||
# SET(${_cuda_INC_DIRS} ${${_cuda_INC_DIRS}} "-I" ${CMAKE_INCLUDE_PATH})
|
||||
# ENDIF (CMAKE_INCLUDE_PATH)
|
||||
|
||||
ENDMACRO(GET_CUDA_INC_DIRS)
|
||||
|
||||
|
||||
# Get file dependencies.
|
||||
MACRO (GET_CUFILE_DEPENDENCIES dependencies file)
|
||||
GET_FILENAME_COMPONENT(filepath ${file} PATH)
|
||||
|
||||
# parse file for dependencies
|
||||
FILE(READ "${file}" CONTENTS)
|
||||
STRING(REGEX MATCHALL "#[ \t]*include[ \t]+[<\"][^>\"]*" DEPS "${CONTENTS}")
|
||||
|
||||
SET(${dependencies})
|
||||
|
||||
FOREACH(DEP ${DEPS})
|
||||
STRING(REGEX REPLACE "#[ \t]*include[ \t]+[<\"]" "" DEP "${DEP}")
|
||||
SET(${dependencies} ${${dependencies}} ${filepath}/${DEP})
|
||||
ENDFOREACH(DEP)
|
||||
|
||||
ENDMACRO (GET_CUFILE_DEPENDENCIES)
|
||||
|
||||
|
||||
# WRAP_CUDA(outfile ...)
|
||||
MACRO (WRAP_CUDA outfiles)
|
||||
GET_CUDA_INC_DIRS(cuda_includes)
|
||||
#MESSAGE(${cuda_includes})
|
||||
|
||||
FOREACH (CUFILE ${ARGN})
|
||||
GET_FILENAME_COMPONENT (CUFILE ${CUFILE} ABSOLUTE)
|
||||
GET_FILENAME_COMPONENT (CFILE ${CUFILE} NAME_WE)
|
||||
SET (CFILE ${CMAKE_CURRENT_BINARY_DIR}/${CFILE}.gen.c)
|
||||
|
||||
GET_CUFILE_DEPENDENCIES(CUDEPS ${CUFILE})
|
||||
#MESSAGE("${CUDEPS}")
|
||||
|
||||
ADD_CUSTOM_COMMAND (
|
||||
OUTPUT ${CFILE}
|
||||
COMMAND ${CUDA_COMPILER}
|
||||
ARGS -cuda ${cuda_includes} ${CUDA_OPTIONS} -o ${CFILE} ${CUFILE}
|
||||
MAIN_DEPENDENCY ${CUFILE}
|
||||
DEPENDS ${CUDEPS})
|
||||
|
||||
#MACRO_ADD_FILE_DEPENDENCIES(${CUFILE} ${CFILE})
|
||||
|
||||
SET (${outfiles} ${${outfiles}} ${CFILE})
|
||||
ENDFOREACH (CUFILE)
|
||||
|
||||
SET_SOURCE_FILES_PROPERTIES(${outfiles} PROPERTIES GENERATED 1)
|
||||
|
||||
ENDMACRO (WRAP_CUDA)
|
129
cmake/FindCg.cmake
Normal file
129
cmake/FindCg.cmake
Normal file
@ -0,0 +1,129 @@
|
||||
#
|
||||
# Try to find nVidia's Cg compiler, runtime libraries, and include path.
|
||||
# Once done this will define
|
||||
#
|
||||
# CG_FOUND =system has NVidia Cg and it can be used.
|
||||
# CG_INCLUDE_PATH = directory where cg.h resides
|
||||
# CG_LIBRARY = full path to libCg.so (Cg.DLL on win32)
|
||||
# CG_GL_LIBRARY = full path to libCgGL.so (CgGL.dll on win32)
|
||||
# CG_COMPILER = full path to cgc (cgc.exe on win32)
|
||||
#
|
||||
|
||||
# On OSX default to using the framework version of Cg.
|
||||
|
||||
IF (APPLE)
|
||||
INCLUDE(${CMAKE_ROOT}/Modules/CMakeFindFrameworks.cmake)
|
||||
SET(CG_FRAMEWORK_INCLUDES)
|
||||
CMAKE_FIND_FRAMEWORKS(Cg)
|
||||
IF (Cg_FRAMEWORKS)
|
||||
FOREACH(dir ${Cg_FRAMEWORKS})
|
||||
SET(CG_FRAMEWORK_INCLUDES ${CG_FRAMEWORK_INCLUDES}
|
||||
${dir}/Headers ${dir}/PrivateHeaders)
|
||||
ENDFOREACH(dir)
|
||||
|
||||
# Find the include dir
|
||||
FIND_PATH(CG_INCLUDE_PATH cg.h
|
||||
${CG_FRAMEWORK_INCLUDES}
|
||||
)
|
||||
|
||||
# Since we are using Cg framework, we must link to it.
|
||||
# Note, we use weak linking, so that it works even when Cg is not available.
|
||||
SET(CG_LIBRARY "-weak_framework Cg" CACHE STRING "Cg library")
|
||||
SET(CG_GL_LIBRARY "-weak_framework Cg" CACHE STRING "Cg GL library")
|
||||
ENDIF (Cg_FRAMEWORKS)
|
||||
FIND_PROGRAM(CG_COMPILER cgc
|
||||
/usr/bin
|
||||
/usr/local/bin
|
||||
DOC "The Cg compiler"
|
||||
)
|
||||
ELSE (APPLE)
|
||||
IF (WIN32)
|
||||
FIND_PROGRAM( CG_COMPILER cgc
|
||||
$ENV{CG_BIN_PATH}
|
||||
$ENV{PROGRAMFILES}/NVIDIA\ Corporation/Cg/bin
|
||||
$ENV{PROGRAMFILES}/Cg
|
||||
${PROJECT_SOURCE_DIR}/../Cg
|
||||
DOC "The Cg Compiler"
|
||||
)
|
||||
IF (CG_COMPILER)
|
||||
GET_FILENAME_COMPONENT(CG_COMPILER_DIR ${CG_COMPILER} PATH)
|
||||
GET_FILENAME_COMPONENT(CG_COMPILER_SUPER_DIR ${CG_COMPILER_DIR} PATH)
|
||||
ELSE (CG_COMPILER)
|
||||
SET (CG_COMPILER_DIR .)
|
||||
SET (CG_COMPILER_SUPER_DIR ..)
|
||||
ENDIF (CG_COMPILER)
|
||||
FIND_PATH( CG_INCLUDE_PATH Cg/cg.h
|
||||
$ENV{CG_INC_PATH}
|
||||
$ENV{PROGRAMFILES}/NVIDIA\ Corporation/Cg/include
|
||||
$ENV{PROGRAMFILES}/Cg
|
||||
${PROJECT_SOURCE_DIR}/../Cg
|
||||
${CG_COMPILER_SUPER_DIR}/include
|
||||
${CG_COMPILER_DIR}
|
||||
DOC "The directory where Cg/cg.h resides"
|
||||
)
|
||||
FIND_LIBRARY( CG_LIBRARY
|
||||
NAMES Cg
|
||||
PATHS
|
||||
$ENV{CG_LIB_PATH}
|
||||
$ENV{PROGRAMFILES}/NVIDIA\ Corporation/Cg/lib
|
||||
$ENV{PROGRAMFILES}/Cg
|
||||
${PROJECT_SOURCE_DIR}/../Cg
|
||||
${CG_COMPILER_SUPER_DIR}/lib
|
||||
${CG_COMPILER_DIR}
|
||||
DOC "The Cg runtime library"
|
||||
)
|
||||
FIND_LIBRARY( CG_GL_LIBRARY
|
||||
NAMES CgGL
|
||||
PATHS
|
||||
$ENV{PROGRAMFILES}/NVIDIA\ Corporation/Cg/lib
|
||||
$ENV{PROGRAMFILES}/Cg
|
||||
${PROJECT_SOURCE_DIR}/../Cg
|
||||
${CG_COMPILER_SUPER_DIR}/lib
|
||||
${CG_COMPILER_DIR}
|
||||
DOC "The Cg runtime library"
|
||||
)
|
||||
ELSE (WIN32)
|
||||
FIND_PROGRAM( CG_COMPILER cgc
|
||||
/usr/bin
|
||||
/usr/local/bin
|
||||
DOC "The Cg Compiler"
|
||||
)
|
||||
GET_FILENAME_COMPONENT(CG_COMPILER_DIR "${CG_COMPILER}" PATH)
|
||||
GET_FILENAME_COMPONENT(CG_COMPILER_SUPER_DIR "${CG_COMPILER_DIR}" PATH)
|
||||
FIND_PATH( CG_INCLUDE_PATH Cg/cg.h
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
${CG_COMPILER_SUPER_DIR}/include
|
||||
DOC "The directory where Cg/cg.h resides"
|
||||
)
|
||||
FIND_LIBRARY( CG_LIBRARY Cg
|
||||
PATHS
|
||||
/usr/lib64
|
||||
/usr/lib
|
||||
/usr/local/lib64
|
||||
/usr/local/lib
|
||||
${CG_COMPILER_SUPER_DIR}/lib64
|
||||
${CG_COMPILER_SUPER_DIR}/lib
|
||||
DOC "The Cg runtime library"
|
||||
)
|
||||
SET(CG_LIBRARY ${CG_LIBRARY} -lpthread)
|
||||
FIND_LIBRARY( CG_GL_LIBRARY CgGL
|
||||
PATHS
|
||||
/usr/lib64
|
||||
/usr/lib
|
||||
/usr/local/lib64
|
||||
/usr/local/lib
|
||||
${CG_COMPILER_SUPER_DIR}/lib64
|
||||
${CG_COMPILER_SUPER_DIR}/lib
|
||||
DOC "The Cg runtime library"
|
||||
)
|
||||
ENDIF (WIN32)
|
||||
ENDIF (APPLE)
|
||||
|
||||
IF (CG_INCLUDE_PATH)
|
||||
SET( CG_FOUND 1 CACHE STRING "Set to 1 if CG is found, 0 otherwise")
|
||||
ELSE (CG_INCLUDE_PATH)
|
||||
SET( CG_FOUND 0 CACHE STRING "Set to 1 if CG is found, 0 otherwise")
|
||||
ENDIF (CG_INCLUDE_PATH)
|
||||
|
||||
MARK_AS_ADVANCED( CG_FOUND )
|
47
cmake/FindGLEW.cmake
Normal file
47
cmake/FindGLEW.cmake
Normal file
@ -0,0 +1,47 @@
|
||||
#
|
||||
# Try to find GLEW library and include path.
|
||||
# Once done this will define
|
||||
#
|
||||
# GLEW_FOUND
|
||||
# GLEW_INCLUDE_PATH
|
||||
# GLEW_LIBRARY
|
||||
#
|
||||
|
||||
IF (WIN32)
|
||||
FIND_PATH( GLEW_INCLUDE_PATH GL/glew.h
|
||||
$ENV{PROGRAMFILES}/GLEW/include
|
||||
${PROJECT_SOURCE_DIR}/src/nvgl/glew/include
|
||||
DOC "The directory where GL/glew.h resides")
|
||||
FIND_LIBRARY( GLEW_LIBRARY
|
||||
NAMES glew GLEW glew32 glew32s
|
||||
PATHS
|
||||
$ENV{PROGRAMFILES}/GLEW/lib
|
||||
${PROJECT_SOURCE_DIR}/src/nvgl/glew/bin
|
||||
${PROJECT_SOURCE_DIR}/src/nvgl/glew/lib
|
||||
DOC "The GLEW library")
|
||||
ELSE (WIN32)
|
||||
FIND_PATH( GLEW_INCLUDE_PATH GL/glew.h
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/sw/include
|
||||
/opt/local/include
|
||||
DOC "The directory where GL/glew.h resides")
|
||||
FIND_LIBRARY( GLEW_LIBRARY
|
||||
NAMES GLEW glew
|
||||
PATHS
|
||||
/usr/lib64
|
||||
/usr/lib
|
||||
/usr/local/lib64
|
||||
/usr/local/lib
|
||||
/sw/lib
|
||||
/opt/local/lib
|
||||
DOC "The GLEW library")
|
||||
ENDIF (WIN32)
|
||||
|
||||
IF (GLEW_INCLUDE_PATH)
|
||||
SET( GLEW_FOUND 1 CACHE STRING "Set to 1 if GLEW is found, 0 otherwise")
|
||||
ELSE (GLEW_INCLUDE_PATH)
|
||||
SET( GLEW_FOUND 0 CACHE STRING "Set to 1 if GLEW is found, 0 otherwise")
|
||||
ENDIF (GLEW_INCLUDE_PATH)
|
||||
|
||||
MARK_AS_ADVANCED( GLEW_FOUND )
|
127
cmake/FindGLUT.cmake
Normal file
127
cmake/FindGLUT.cmake
Normal file
@ -0,0 +1,127 @@
|
||||
# - try to find glut library and include files
|
||||
# GLUT_INCLUDE_DIR, where to find GL/glut.h, etc.
|
||||
# GLUT_LIBRARIES, the libraries to link against
|
||||
# GLUT_FOUND, If false, do not try to use GLUT.
|
||||
# Also defined, but not for general use are:
|
||||
# GLUT_glut_LIBRARY = the full path to the glut library.
|
||||
# GLUT_Xmu_LIBRARY = the full path to the Xmu library.
|
||||
# GLUT_Xi_LIBRARY = the full path to the Xi Library.
|
||||
|
||||
IF (WIN32)
|
||||
|
||||
IF(CYGWIN)
|
||||
|
||||
FIND_PATH( GLUT_INCLUDE_DIR GL/glut.h
|
||||
/usr/include
|
||||
)
|
||||
|
||||
FIND_LIBRARY( GLUT_glut_LIBRARY glut32
|
||||
${OPENGL_LIBRARY_DIR}
|
||||
/usr/lib
|
||||
/usr/lib/w32api
|
||||
/usr/local/lib
|
||||
/usr/X11R6/lib
|
||||
)
|
||||
|
||||
|
||||
ELSE(CYGWIN)
|
||||
|
||||
# FIND_PATH( GLUT_INCLUDE_DIR GL/glut.h
|
||||
# ${GLUT_ROOT_PATH}/include
|
||||
# )
|
||||
|
||||
# FIND_LIBRARY( GLUT_glut_LIBRARY glut32
|
||||
# ${GLUT_ROOT_PATH}/lib
|
||||
# ${OPENGL_LIBRARY_DIR}
|
||||
# )
|
||||
|
||||
FIND_PATH( GLUT_INCLUDE_DIR GL/glut.h
|
||||
${GLUT_ROOT_PATH}/include
|
||||
${PROJECT_SOURCE_DIR}/src/nvgl/glut/include
|
||||
DOC "The directory where GL/glut.h resides")
|
||||
FIND_LIBRARY( GLUT_glut_LIBRARY
|
||||
NAMES glut GLUT glut32 glut32s
|
||||
PATHS
|
||||
${GLUT_ROOT_PATH}/lib
|
||||
${PROJECT_SOURCE_DIR}/src/nvgl/glut/bin
|
||||
${PROJECT_SOURCE_DIR}/src/nvgl/glut/lib
|
||||
${OPENGL_LIBRARY_DIR}
|
||||
DOC "The GLUT library")
|
||||
|
||||
ENDIF(CYGWIN)
|
||||
|
||||
ELSE (WIN32)
|
||||
|
||||
IF (APPLE)
|
||||
# These values for Apple could probably do with improvement.
|
||||
FIND_PATH( GLUT_INCLUDE_DIR glut.h
|
||||
/System/Library/Frameworks/GLUT.framework/Versions/A/Headers
|
||||
${OPENGL_LIBRARY_DIR}
|
||||
)
|
||||
SET(GLUT_glut_LIBRARY "-framework Glut" CACHE STRING "GLUT library for OSX")
|
||||
SET(GLUT_cocoa_LIBRARY "-framework Cocoa" CACHE STRING "Cocoa framework for OSX")
|
||||
ELSE (APPLE)
|
||||
|
||||
FIND_PATH( GLUT_INCLUDE_DIR GL/glut.h
|
||||
/usr/include
|
||||
/usr/include/GL
|
||||
/usr/local/include
|
||||
/usr/openwin/share/include
|
||||
/usr/openwin/include
|
||||
/usr/X11R6/include
|
||||
/usr/include/X11
|
||||
/opt/graphics/OpenGL/include
|
||||
/opt/graphics/OpenGL/contrib/libglut
|
||||
)
|
||||
|
||||
FIND_LIBRARY( GLUT_glut_LIBRARY glut
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/usr/openwin/lib
|
||||
/usr/X11R6/lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY( GLUT_Xi_LIBRARY Xi
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/usr/openwin/lib
|
||||
/usr/X11R6/lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY( GLUT_Xmu_LIBRARY Xmu
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/usr/openwin/lib
|
||||
/usr/X11R6/lib
|
||||
)
|
||||
|
||||
ENDIF (APPLE)
|
||||
|
||||
ENDIF (WIN32)
|
||||
|
||||
SET( GLUT_FOUND "NO" )
|
||||
IF(GLUT_INCLUDE_DIR)
|
||||
IF(GLUT_glut_LIBRARY)
|
||||
# Is -lXi and -lXmu required on all platforms that have it?
|
||||
# If not, we need some way to figure out what platform we are on.
|
||||
SET( GLUT_LIBRARIES
|
||||
${GLUT_glut_LIBRARY}
|
||||
${GLUT_Xmu_LIBRARY}
|
||||
${GLUT_Xi_LIBRARY}
|
||||
${GLUT_cocoa_LIBRARY}
|
||||
)
|
||||
SET( GLUT_FOUND "YES" )
|
||||
|
||||
#The following deprecated settings are for backwards compatibility with CMake1.4
|
||||
SET (GLUT_LIBRARY ${GLUT_LIBRARIES})
|
||||
SET (GLUT_INCLUDE_PATH ${GLUT_INCLUDE_DIR})
|
||||
|
||||
ENDIF(GLUT_glut_LIBRARY)
|
||||
ENDIF(GLUT_INCLUDE_DIR)
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
GLUT_INCLUDE_DIR
|
||||
GLUT_glut_LIBRARY
|
||||
GLUT_Xmu_LIBRARY
|
||||
GLUT_Xi_LIBRARY
|
||||
)
|
Reference in New Issue
Block a user