-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
51 lines (39 loc) · 1.58 KB
/
Copy pathCMakeLists.txt
File metadata and controls
51 lines (39 loc) · 1.58 KB
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
40
41
42
43
44
45
46
47
48
49
50
51
cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(lwl LANGUAGES CXX CUDA)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
# eigen
find_package(Eigen3 3.3 REQUIRED NO_MODULE)
# python bindings
find_package(pybind11 REQUIRED)
# opencv
find_package(OpenCV REQUIRED)
message(STATUS "${PROJECT_NAME}: OpenCV version ${OpenCV_VERSION}")
message(STATUS "OpenCV_INCLUDE_DIRS: ${OpenCV_INCLUDE_DIRS}")
# cuda
find_file(CUDA_HEADER cuda_runtime.h PATHS /usr/include/ /usr/local/cuda/include/)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -include ${CUDA_HEADER}")
find_package(CUDA REQUIRED)
CUDA_SELECT_NVCC_ARCH_FLAGS(ARCH_FLAGS "Auto")
set(CUDA_ARCH "${ARCH_FLAGS}" CACHE STRING "Value of the NVCC -arch option." FORCE)
set(CUDA_VERBOSE_BUILD ON CACHE BOOL "nvcc verbose" FORCE)
# just warning suppression does not work!
set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} ${CUDA_ARCH} -lineinfo -Wno-dev") # -Wno-dev no suppress CUDA_ARCHITECTURES warning
# disabling stupid eigen warnings, not working https://github.com/cms-sw/cmssw/issues/33369
set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} --nv-diag-suppress 20014")
message("CUDA ARCH FLAGS: ${ARCH_FLAGS}")
message("CUDA FLAGS: ${CUDA_NVCC_FLAGS}")
message(STATUS "CUDA_ARCH: \"${CUDA_ARCH}\"")
# resolve collision definition, hard coded for now beteer to make it!
# add_definitions(-DRESOLVE_COLLISION)
# gtests
find_package(GTest REQUIRED)
include_directories(
${PROJECT_SOURCE_DIR}/lwl/src
${EIGEN3_INCLUDE_DIR}
${CUDA_INCLUDE_DIRS}
${PYTHON_INCLUDE_DIRS}
${GTEST_INCLUDE_DIR}
)
add_subdirectory(lwl)