|
1 |
| -CMAKE_MINIMUM_REQUIRED(VERSION 3.10 FATAL_ERROR) |
| 1 | +CMAKE_MINIMUM_REQUIRED(VERSION 3.17 FATAL_ERROR) |
2 | 2 |
|
3 | 3 | PROJECT(CudaVoxelize LANGUAGES CXX CUDA)
|
4 | 4 |
|
5 |
| -FIND_PACKAGE(GLM REQUIRED) |
| 5 | +FIND_PACKAGE(glm REQUIRED) |
6 | 6 | FIND_PACKAGE(OpenMP REQUIRED)
|
7 | 7 | FIND_PACKAGE(Boost 1.7 REQUIRED COMPONENTS filesystem program_options log log_setup)
|
| 8 | +FIND_PACKAGE(CUDAToolkit REQUIRED) |
8 | 9 |
|
9 | 10 | SET(CUDA_VOXELIZER_EXECUTABLE cuda_voxelizer)
|
10 | 11 |
|
11 | 12 | SET(Trimesh2_INCLUDE_DIR CACHE PATH "Path to Trimesh2 includes")
|
12 | 13 | SET(CUDA_ARCH CACHE STRING "CUDA compute capability. It is prefer to set native value for your video card. Example: 61")
|
13 | 14 |
|
14 | 15 | IF(NOT CUDA_ARCH)
|
15 |
| - MESSAGE(FATAL_ERROR "You must set CUDA_ARCH variable. For example: 61") |
| 16 | + MESSAGE(FATAL_ERROR "You must set CUDA_ARCH variable. For example: 61.") |
16 | 17 | ENDIF()
|
17 | 18 |
|
18 | 19 | IF(NOT Trimesh2_INCLUDE_DIR)
|
19 | 20 | MESSAGE(FATAL_ERROR "You need to set variable Trimesh2_INCLUDE_DIR")
|
20 | 21 | ENDIF()
|
21 | 22 |
|
22 |
| -IF(NOT EXISTS "${Trimesh2_INCLUDE_DIR}") |
23 |
| - MESSAGE(FATAL_ERROR "You need set path to Trimesh2 include directory") |
24 |
| -ENDIF() |
25 |
| - |
26 | 23 | FIND_FILE(Trimesh2_TriMesh_h TriMesh.h ${Trimesh2_INCLUDE_DIR})
|
27 | 24 | IF(NOT Trimesh2_TriMesh_h)
|
28 |
| - MESSAGE(FATAL_ERROR "Can't find TriMesh.h in ${Trimesh2_INCLUDE_DIR}") |
| 25 | + message(FATAL_ERROR "Can't find TriMesh.h in ${Trimesh2_INCLUDE_DIR}") |
29 | 26 | ENDIF()
|
| 27 | +MARK_AS_ADVANCED(Trimesh2_TriMesh_h) |
30 | 28 |
|
31 |
| -SET(Trimesh2_LINK_DIR CACHE PATH "Path to Trimesh2 libraries") |
| 29 | +SET(Trimesh2_LINK_DIR CACHE PATH "Path to Trimesh2 library dir.") |
32 | 30 |
|
33 | 31 | IF(NOT Trimesh2_LINK_DIR)
|
34 | 32 | MESSAGE(FATAL_ERROR "You need to set variable Trimesh2_LINK_DIR")
|
35 | 33 | ENDIF()
|
36 | 34 |
|
37 | 35 | IF(NOT EXISTS "${Trimesh2_LINK_DIR}")
|
38 |
| - MESSAGE(FATAL_ERROR "You need to set path to Trimesh2 libraries") |
| 36 | + MESSAGE(FATAL_ERROR "Trimesh2 library dir does not exist") |
39 | 37 | ENDIF()
|
40 | 38 |
|
41 | 39 | FIND_LIBRARY(Trimesh2_LIBRARY trimesh ${Trimesh2_LINK_DIR})
|
42 | 40 |
|
43 | 41 | IF(NOT Trimesh2_LIBRARY)
|
44 |
| - MESSAGE(FATAL_ERROR "Can't find librray in ${Trimesh2_LINK_DIR}") |
| 42 | + message(SEND_ERROR "Can't find libtrimesh.a in ${Trimesh2_LINK_DIR}") |
45 | 43 | ENDIF()
|
| 44 | +MARK_AS_ADVANCED(Trimesh2_LIBRARY) |
46 | 45 |
|
47 | 46 | MESSAGE(STATUS "CUDA compute capability set to ${CUDA_ARCH}")
|
48 | 47 | MESSAGE(STATUS "Found Trimesh2 include: ${Trimesh2_TriMesh_h}")
|
@@ -79,5 +78,5 @@ SET(CUDA_VOXELIZER_SRCS
|
79 | 78 | ADD_EXECUTABLE(${CUDA_VOXELIZER_EXECUTABLE} ${CUDA_VOXELIZER_SRCS})
|
80 | 79 | TARGET_COMPILE_FEATURES(${CUDA_VOXELIZER_EXECUTABLE} PUBLIC cxx_std_14)
|
81 | 80 | TARGET_INCLUDE_DIRECTORIES( ${CUDA_VOXELIZER_EXECUTABLE} PRIVATE ${Trimesh2_INCLUDE_DIR})
|
82 |
| -TARGET_LINK_LIBRARIES ( ${CUDA_VOXELIZER_EXECUTABLE} PRIVATE ${Trimesh2_LIBRARY} PRIVATE glm PRIVATE Boost::filesystem PRIVATE Boost::program_options PRIVATE Boost::log_setup PRIVATE Boost::log) |
| 81 | +TARGET_LINK_LIBRARIES ( ${CUDA_VOXELIZER_EXECUTABLE} PRIVATE ${Trimesh2_LIBRARY} Boost::log_setup PRIVATE Boost::log PRIVATE Boost::dynamic_linking PRIVATE glm PRIVATE OpenMP::OpenMP_CXX PRIVATE Boost::filesystem PRIVATE Boost::program_options PRIVATE PRIVATE CUDA::cuda_driver PRIVATE CUDA::cudart) |
83 | 82 | TARGET_COMPILE_OPTIONS(${CUDA_VOXELIZER_EXECUTABLE} PRIVATE $<$<COMPILE_LANGUAGE:CUDA>:-gencode arch=compute_${CUDA_ARCH},code=sm_${CUDA_ARCH}>)
|
0 commit comments