Skip to content

Commit e61d312

Browse files
update cmake flags (#127)
1 parent 72cf458 commit e61d312

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

CMakeLists.txt

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,31 @@
1-
cmake_minimum_required(VERSION 3.14)
1+
cmake_minimum_required(VERSION 3.22)
22
project(hydra VERSION 2.0.0)
33

44
set(CMAKE_CXX_STANDARD 17)
55
set(CMAKE_CXX_STANDARD_REQUIRED ON)
66
set(CMAKE_CXX_EXTENSIONS OFF)
7-
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
87

9-
add_compile_options(-Wall -Wextra)
8+
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
9+
add_compile_options(-Wall -Wextra -Wpedantic)
10+
endif()
11+
12+
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
13+
# from: https://www.kitware.com//cmake-and-the-default-build-type/
14+
message(STATUS "Setting build type to 'Release' as none was specified.")
15+
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build." FORCE)
16+
endif()
17+
18+
if(NOT CMAKE_INTERPROCEDURAL_OPTIMIZATION)
19+
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON CACHE STRING "Turn on -flto" FORCE)
20+
endif()
1021

22+
option(BUILD_SHARED_LIBS "Build shared libs" ON)
1123
option(HYDRA_ENABLE_EVAL "Build evaluation code" ON)
1224
option(HYDRA_ENABLE_GNN "Build GNN interface" OFF)
1325
option(HYDRA_ENABLE_PYTHON "Build Hydra python bindings" OFF)
1426
option(HYDRA_ENABLE_ROS_INSTALL_LAYOUT "Install binaries to ROS location" ON)
15-
option(BUILD_SHARED_LIBS "Build shared libs" ON)
27+
28+
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
1629

1730
find_package(config_utilities REQUIRED)
1831
find_package(Eigen3 REQUIRED)

0 commit comments

Comments
 (0)