blob: a4ab4ee88c750b1fc04fa0235f81ebb9a8ecbd27 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
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})
|