-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
94 lines (72 loc) · 3.01 KB
/
CMakeLists.txt
File metadata and controls
94 lines (72 loc) · 3.01 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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
cmake_minimum_required(VERSION 3.20 FATAL_ERROR)
IF(COMMAND CMAKE_POLICY)
if (POLICY CMP0048)
cmake_policy(SET CMP0048 NEW)
endif (POLICY CMP0048)
if (POLICY CMP0071)
cmake_policy(SET CMP0071 NEW)
endif (POLICY CMP0071)
endif (COMMAND CMAKE_POLICY)
if(WIN32)
# set(CMAKE_TOOLCHAIN_FILE ${VCPKG_PATH}/scripts/buildsystems/vcpkg.cmake)
message("VCPKG buildsystem file: ${CMAKE_TOOLCHAIN_FILE}")
endif(WIN32)
project(iterative_closest_point VERSION 0.1.1)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin/)
###################################################################################################
# PREPROCESSOR DEFINITIONS
###################################################################################################
if (CMAKE_CL_64)
add_definitions(-DWIN64)
set(PLATFORM x64)
else (CMAKE_CL_64)
set(PLATFORM x86)
endif (CMAKE_CL_64)
if(WIN32)
ADD_DEFINITIONS(-D_WIN32_WINNT=0x0501)
endif(WIN32)
# add_subdirectory(extern/eigen)
# add_subdirectory(extern/pcl)
find_package(PCL COMPONENTS REQUIRED)
#find_package(PCL 1.13.1 REQUIRED)
# find_package(OpenCV REQUIRED)
find_package(OpenCV COMPONENTS REQUIRED)
add_subdirectory(extern/cxxopts/)
include_directories(${PCL_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS} ${OpenCV_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
# add automatic git version tracking
# based on: https://github.com/andrew-hardin/cmake-git-version-tracking
include(FetchContent)
FetchContent_Declare(cmake_git_version_tracking
GIT_REPOSITORY https://github.com/andrew-hardin/cmake-git-version-tracking.git
GIT_TAG 904dbda1336ba4b9a1415a68d5f203f576b696bb
)
FetchContent_MakeAvailable(cmake_git_version_tracking)
###################################################################################################
# HEADER FILES
###################################################################################################
set(HEADERS
include/cmaes.h
include/parameters.h
include/timings.h
include/utils.h
include/random.h
)
###################################################################################################
# SOURCE FILES
###################################################################################################
set(SOURCES
src/main.cpp
)
include_directories(include/)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable (iterative_closest_point ${SOURCES})
set_property(TARGET iterative_closest_point PROPERTY CXX_STANDARD 20)
target_include_directories(iterative_closest_point PUBLIC ${OpenCV_INCLUDE_DIRS} PUBLIC ${PCL_INCLUDE_DIRS})
target_link_libraries (iterative_closest_point PRIVATE ${OpenCV_LIBS} cxxopts::cxxopts)
target_link_libraries (iterative_closest_point PRIVATE ${PCL_LIBRARIES} )
target_link_libraries(iterative_closest_point PRIVATE cmake_git_version_tracking)
# target_link_libraries(iterative_closest_point PRIVATE ${PCL_LIBRARIES} opencv_ml opencv_dnn opencv_core opencv_flann cxxopts::cxxopts)