So I figured out how to write a standalone app via cmake. Here’s an example CMakeLists.txt:
cmake_minimum_required (VERSION 2.8)
project (CUDA_OPENGL)
find_package(“CUDA”)
find_package(“OpenGL”)
find_package(“GLUT”)
cuda_include_directories(${CUDA_SDK_ROOT_DIR}/common/inc
${CUDA_SDK_ROOT_DIR}/…/shared/inc
/usr/local/cuda/include)
include_directories(${CUDA_SDK_ROOT_DIR}/common/inc)
set(CMAKE_CXX_LINK_FLAGS
“-framework OpenGL -framework GLUT”)
set(CUDA_SDK_LIB_DIR
${CUDA_SDK_ROOT_DIR}/common/lib
${CUDA_SDK_ROOT_DIR}/lib
${CUDA_SDK_ROOT_DIR}/…/shared/lib)
if (CMAKE_SIZEOF_VOID_P MATCHES “8”)
set(CMAKE_SYSTEM_PROCESSOR “x86_64”)
set(arch “x86_64”)
else()
set(CMAKE_SYSTEM_PROCESSOR “i386”)
set(arch “i386”)
endif()
message(“CMAKE_SYSTEM_PROCESSOR = ${CMAKE_SYSTEM_PROCESSOR}”)
message(“ARCH = ${arch}”)
Find path to shared opengl libraries
find_library(LIBPARAMGL NAME paramgl_${CMAKE_SYSTEM_PROCESSOR} PATHS ${CUDA_SDK_LIB_DIR})
message(“LIBPARAMGL = ${LIBPARAMGL}”)
find_library(LIBRENDERCHECKGL NAME rendercheckgl_${CMAKE_SYSTEM_PROCESSOR} PATHS ${CUDA_SDK_LIB_DIR})
message(“LIBRENDERCHECKGL = ${LIBRENDERCHECKGL}”)
Find path to shrutil libs, from CUDA SDK
find_library(LIBSHRUTIL NAME shrutil_${CMAKE_SYSTEM_PROCESSOR} PATHS ${CUDA_SDK_LIB_DIR})
find_library(LIBSHRUTIL_DBG NAME shrutil_${CMAKE_SYSTEM_PROCESSOR}D PATHS ${CUDA_SDK_LIB_DIR})
message(“LIBSHRUTIL = ${LIBSHRUTIL}”)
Find path to cutil libs, from CUDA SDK
find_library(LIBCUTIL NAMES cutil_${CMAKE_SYSTEM_PROCESSOR} PATHS ${CUDA_SDK_LIB_DIR})
find_library(LIBCUTIL_DBG NAMES cutil_${CMAKE_SYSTEM_PROCESSOR}D PATHS ${CUDA_SDK_LIB_DIR})
message(“LIBCUTIL = ${LIBCUTIL}”)
Build kernels for desired compute capabilities
macro(set_compute_capability cc)
list(APPEND CUDA_NVCC_FLAGS “-gencode=arch=compute_${cc},code=sm_${cc}”)
list(APPEND CUDA_NVCC_FLAGS “-gencode=arch=compute_${cc},code=compute_${cc}”)
endmacro(set_compute_capability)
set_compute_capability(“11”)
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")
IF (LIBCUTIL AND OPENGL_FOUND)
cuda_add_executable(Exe Exe.cu)
# simpleGL_kernel.cu)
target_link_libraries(.Exe
${GLEW_LIBRARY}
${LIBRENDERCHECKGL}
${LIBPARAMGL}
${LIBCUTIL}
${LIBSHRUTIL}
${GLUT_LIBRARIES}
${OPENGL_GLU_LIBRARY})
ENDIF ()
¡¡¡Hope this helps someone!!!