Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 28 additions & 17 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ cmake_minimum_required(VERSION 4.0.0)
# Set minimum policy version to avoid compatibility issues with subprojects
set(CMAKE_POLICY_VERSION_MINIMUM 3.5)

# Export compile commands for static analysis and tools
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

project(hd-mapping)

set (HDMAPPING_VERSION_MAJOR 0)
Expand All @@ -13,6 +16,16 @@ add_definitions(-DHDMAPPING_VERSION_MAJOR=${HDMAPPING_VERSION_MAJOR})
add_definitions(-DHDMAPPING_VERSION_MINOR=${HDMAPPING_VERSION_MINOR})
add_definitions(-DHDMAPPING_VERSION_PATCH=${HDMAPPING_VERSION_PATCH})

if (MSVC)
add_definitions(-DNOMINMAX)
add_definitions(-DWIN32_LEAN_AND_MEAN)
endif()

get_filename_component(REPOSITORY_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} ABSOLUTE)
set(THIRDPARTY_DIRECTORY ${REPOSITORY_DIRECTORY}/3rdparty)
set(THIRDPARTY_DIRECTORY_BINARY ${REPOSITORY_DIRECTORY}/3rdpartyBinary)
set(EXTERNAL_LIBRARIES_DIRECTORY ${REPOSITORY_DIRECTORY}/external)


# CPU Architecture optimization options
set(HD_CPU_OPTIMIZATION "AUTO" CACHE STRING "CPU optimization target (AUTO, INTEL, AMD, ARM, GENERIC)")
Expand Down Expand Up @@ -248,15 +261,13 @@ else()
endif()
endif()

set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)

find_package(OpenGL REQUIRED)

add_definitions(-D_USE_MATH_DEFINES)

get_filename_component(REPOSITORY_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} ABSOLUTE)
set(EXTERNAL_LIBRARIES_DIRECTORY ${REPOSITORY_DIRECTORY}/3rdparty)
set(EXTERNAL_LIBRARIES_DIRECTORY_BINARY ${REPOSITORY_DIRECTORY}/3rdpartyBinary)


set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
Expand All @@ -266,8 +277,8 @@ include(cmake/imgui.cmake)
include(cmake/imguizmo.cmake)
include(cmake/implot.cmake)

add_subdirectory(${EXTERNAL_LIBRARIES_DIRECTORY}/eigen)
set(EIGEN3_INCLUDE_DIR ${EXTERNAL_LIBRARIES_DIRECTORY}/eigen)
add_subdirectory(${THIRDPARTY_DIRECTORY}/eigen)
set(EIGEN3_INCLUDE_DIR ${THIRDPARTY_DIRECTORY}/eigen)
MESSAGE(STATUS "Using bundled Eigen3 : ${EIGEN3_INCLUDE_DIR}")


Expand All @@ -276,8 +287,8 @@ if (BUILD_WITH_BUNDLED_FREEGLUT)
set(FREEGLUT_BUILD_DEMOS
OFF
CACHE BOOL "" FORCE)
add_subdirectory(${EXTERNAL_LIBRARIES_DIRECTORY}/freeglut)
set(FREEGLUT_INCLUDE_DIR ${EXTERNAL_LIBRARIES_DIRECTORY}/freeglut/include)
add_subdirectory(${THIRDPARTY_DIRECTORY}/freeglut)
set(FREEGLUT_INCLUDE_DIR ${THIRDPARTY_DIRECTORY}/freeglut/include)
set(FREEGLUT_LIBRARY freeglut)
# Suppress unused variable warnings from FreeGlut
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
Expand All @@ -293,8 +304,8 @@ endif ()

option (BUILD_WITH_BUNDLED_GLEW "Build with bundled GLEW" ON)
if (BUILD_WITH_BUNDLED_GLEW)
add_subdirectory(${EXTERNAL_LIBRARIES_DIRECTORY}/glew-cmake)
set(GLEW_INCLUDE_DIR ${EXTERNAL_LIBRARIES_DIRECTORY}/glew-cmake/include)
add_subdirectory(${THIRDPARTY_DIRECTORY}/glew-cmake)
set(GLEW_INCLUDE_DIR ${THIRDPARTY_DIRECTORY}/glew-cmake/include)
set(GLEW_LIBRARY libglew_static)

MESSAGE(STATUS "Using bundled GLEW")
Expand All @@ -307,8 +318,8 @@ endif()

option(BUILD_WITH_BUNDLED_LIBLASZIP "Build with bundled Lib LASZIP" ON)
if (BUILD_WITH_BUNDLED_LIBLASZIP)
add_subdirectory(${EXTERNAL_LIBRARIES_DIRECTORY}/LASzip)
set(LASZIP_INCLUDE_DIR ${EXTERNAL_LIBRARIES_DIRECTORY})
add_subdirectory(${THIRDPARTY_DIRECTORY}/LASzip)
set(LASZIP_INCLUDE_DIR ${THIRDPARTY_DIRECTORY})
set(LASZIP_LIBRARY laszip)
MESSAGE(STATUS "Using bundled LASzip")
#suppress warnings from LASzip
Expand All @@ -329,7 +340,7 @@ else()
endif ()

# Download or Search for OpenCV
include(${EXTERNAL_LIBRARIES_DIRECTORY_BINARY}/OpenCV/CMakeLists.txt)
include(${THIRDPARTY_DIRECTORY_BINARY}/OpenCV/CMakeLists.txt)
find_package(OpenCV REQUIRED)
MESSAGE(STATUS "OpenCV include dir: ${OpenCV_INCLUDE_DIRS}, OpenCV librarys: ${OpenCV_LIBS}")

Expand All @@ -343,8 +354,8 @@ if (BUILD_WITH_BUNDLED_ONETBB)
set(TBBMALLOC_BUILD OFF CACHE BOOL "" FORCE)
set(TBB_CPF OFF CACHE BOOL "" FORCE)

add_subdirectory(${EXTERNAL_LIBRARIES_DIRECTORY}/oneTBB)
MESSAGE(STATUS "Using bundled oneTBB from: ${EXTERNAL_LIBRARIES_DIRECTORY}/oneTBB")
add_subdirectory(${THIRDPARTY_DIRECTORY}/oneTBB)
MESSAGE(STATUS "Using bundled oneTBB from: ${THIRDPARTY_DIRECTORY}/oneTBB")
else()
# Find TBB from system
find_package(TBB REQUIRED)
Expand Down Expand Up @@ -374,7 +385,7 @@ else()
endif()


add_subdirectory(${EXTERNAL_LIBRARIES_DIRECTORY}/Fusion/Fusion)
add_subdirectory(${THIRDPARTY_DIRECTORY}/Fusion/Fusion)

add_subdirectory(core)
add_subdirectory(core_hd_mapping)
Expand Down
20 changes: 10 additions & 10 deletions apps/compare_trajectories/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,19 @@ target_include_directories(
PRIVATE include
${REPOSITORY_DIRECTORY}/core/include
${REPOSITORY_DIRECTORY}/core_hd_mapping/include
${EXTERNAL_LIBRARIES_DIRECTORY}
${EXTERNAL_LIBRARIES_DIRECTORY}/glm
${THIRDPARTY_DIRECTORY}
${THIRDPARTY_DIRECTORY}/glm
${EIGEN3_INCLUDE_DIR}
${EXTERNAL_LIBRARIES_DIRECTORY}/imgui
${EXTERNAL_LIBRARIES_DIRECTORY}/imgui/backends
${EXTERNAL_LIBRARIES_DIRECTORY}/ImGuizmo
${EXTERNAL_LIBRARIES_DIRECTORY}/glew-cmake/include
${THIRDPARTY_DIRECTORY}/imgui
${THIRDPARTY_DIRECTORY}/imgui/backends
${THIRDPARTY_DIRECTORY}/ImGuizmo
${THIRDPARTY_DIRECTORY}/glew-cmake/include
${FREEGLUT_INCLUDE_DIR}
${EXTERNAL_LIBRARIES_DIRECTORY}/json/include
${EXTERNAL_LIBRARIES_DIRECTORY}/portable-file-dialogs-master
${THIRDPARTY_DIRECTORY}/json/include
${THIRDPARTY_DIRECTORY}/portable-file-dialogs-master
${LASZIP_INCLUDE_DIR}/LASzip/include
${EXTERNAL_LIBRARIES_DIRECTORY}/observation_equations/codes
${EXTERNAL_LIBRARIES_DIRECTORY}/Fusion/Fusion)
${THIRDPARTY_DIRECTORY}/observation_equations/codes
${THIRDPARTY_DIRECTORY}/Fusion/Fusion)

target_link_libraries(
mandeye_compare_trajectories
Expand Down
Loading