cmake_minimum_required(VERSION 3.13) set(ENV{CUDAHOSTCXX} "g++-5") project(opengltest LANGUAGES C CXX CUDA) set(CMAKE_CXX_STANDARD 14) set(LIB_DIR "${CMAKE_CURRENT_SOURCE_DIR}/libraries") find_package(OpenGL REQUIRED) find_package(CUDA) add_executable(${PROJECT_NAME} main.cpp point.h Canvas/Canvas.h) # GLFW find_package(PkgConfig REQUIRED) pkg_search_module(GLFW REQUIRED glfw3) include_directories(${GLFW_INCLUDE_DIRS}) target_link_libraries(${PROJECT_NAME} ${GLFW_STATIC_LIBRARIES}) # GLAD set(GLAD_DIR "${LIB_DIR}/glad") set(GLAD_NAME "glad") add_library(${GLAD_NAME} "${GLAD_DIR}/src/glad.c") target_include_directories(${GLAD_NAME} PRIVATE "${GLAD_DIR}/include") target_include_directories(${PROJECT_NAME} PRIVATE "${GLAD_DIR}/include") target_link_libraries(${PROJECT_NAME} ${GLAD_NAME} "${CMAKE_DL_LIBS}") # stb_image target_include_directories(${PROJECT_NAME} PRIVATE "${LIB_DIR}/stb_image") # shader target_include_directories(${PROJECT_NAME} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/learnopengl") # CUDA set(CUDA_LIB "cudalib") #target_include_directories(${PROJECT_NAME} PRIVATE "Canvas/") cuda_add_library(${CUDA_LIB} STATIC Canvas/cuda/CalculateCanvasGPU.cu Canvas/cuda/CalculateCanvasGPU.h OPTIONS -std=c++11) target_compile_features(${CUDA_LIB} PUBLIC cxx_std_11) set_target_properties(${CUDA_LIB} PROPERTIES CUDA_SEPARABLE_COMPILATION ON) target_link_libraries(${PROJECT_NAME} ${CUDA_LIB})