cmake_minimum_required(VERSION 2.8)
project(slam_demo)
set(DEFAULT_BUILD_TYPE
"Debug"
) #修改处,讲release改为debug,也可以直接删除
if
(NOT CMAKE_BUILD_TYPE)
message(STATUS
"Setting build type to '${DEFAULT_BUILD_TYPE}' as none was specified."
)
set(CMAKE_BUILD_TYPE
"${DEFAULT_BUILD_TYPE}"
CACHE
STRING
"Choose the type of build."
FORCE)
# Set the possible values of build type
for
cmake-gui
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
"Debug"
"Release"
"MinSizeRel"
"RelWithDebInfo"
)
endif
()
set(CMAKE_CXX_FLAGS
"-std=c++11"
)
FIND_PACKAGE( OpenMP REQUIRED)
if
(OPENMP_FOUND)
message(
"OPENMP FOUND"
)
ADD_DEFINITIONS(-DUSE_OPENMP)
set(CMAKE_C_FLAGS
"${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}"
)
set(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}"
)
set(CMAKE_EXE_LINKER_FLAGS
"${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}"
)
endif
()
#set(CMAKE_CXX_FLAGS_DEBUG
"${CMAKE_CXX_FLAGS} -Wno-reorder"
CACHE STRING
""
FORCE)
#set(CMAKE_CXX_FLAGS_RELEASE
"${CMAKE_CXX_FLAGS} -DNDEBUG -Wno-reorder -O2"
CACHE STRING
""
FORCE)
set(CMAKE_CXX_FLAGS_DEBUG
"{CMAKE_CXX_FLAGS} -o0 -ggbd"
) #添加语句
add_compile_options(-g) #添加语句
list(APPEND CMAKE_MODULE_PATH
"${PROJECT_SOURCE_DIR}/cmake"
)
option(BUILD_APPS
"Build APPs for slam course"
YES)
option(BUILD_TESTS
"Build test for slam course"
No)
# third party libs
# eigen
find_package(Eigen REQUIRED)
include_directories(${EIGEN_INCLUDE_DIR})
# opencv
find_package(OpenCV 4 REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
# glog
find_package(Glog REQUIRED)
include_directories(${GLOG_INCLUDE_DIRS})
# sophus
include_directories(${PROJECT_SOURCE_DIR}/thirdparty/Sophus)
include_directories(${PROJECT_SOURCE_DIR})
add_subdirectory(frontend)
add_subdirectory(backend)
add_subdirectory(utils)
if
(BUILD_APPS)
add_subdirectory(app)
endif
()
if
(BUILD_TESTS)
enable_testing()
add_subdirectory(test)
endif
()