Skip to content

Commit

Permalink
Merge pull request #34 from malban/pkg-config
Browse files Browse the repository at this point in the history
Configure CMakeLists.txt to install files in a ROS compatible way.
  • Loading branch information
130s authored Aug 16, 2022
2 parents 23c0c42 + 6f714f6 commit 04c4a31
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 154 deletions.
71 changes: 70 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,73 @@
cmake_minimum_required(VERSION 2.8)
project(csm)

INSTALL(FILES package.xml DESTINATION share/csm)
if(WIN32)
add_definitions(-DWINDOWS)
if(MSVC)
# SSE2 optimizations
add_definitions("/arch:SSE2")
endif()
endif()

find_package(Eigen3 REQUIRED)

include_directories(include src ${EIGEN3_INCLUDE_DIR})

set(CSM_SRC
src/csm/laser_data.cpp
src/csm/math_utils.cpp
src/csm/math_utils_gsl.cpp
src/csm/utils.cpp
src/csm/logging.cpp
src/csm/sm_options.cpp
src/csm/orientation.cpp
src/csm/clustering.cpp)

set(EGSL_SRC
src/egsl/egsl.cpp
src/egsl/egsl_conversions.cpp
src/egsl/egsl_misc.cpp
src/egsl/egsl_ops.cpp)

set(GPC_SRC
src/gpc/gpc.cpp
src/gpc/gpc_utils.cpp)

set(ICP_SRC
src/icp/icp.cpp
src/icp/icp_corr_dumb.cpp
src/icp/icp_corr_tricks.cpp
src/icp/icp_covariance.cpp
src/icp/icp_debug.cpp
src/icp/icp_loop.cpp
src/icp/icp_outliers.cpp)

set(OPTIONS_SRC
src/options/options.cpp
src/options/options_interface.cpp)

add_library(${PROJECT_NAME}
${CSM_SRC}
${EGSL_SRC}
${GPC_SRC}
${ICP_SRC}
${OPTIONS_SRC})

add_library(${PROJECT_NAME}-static STATIC
${CSM_SRC}
${EGSL_SRC}
${GPC_SRC}
${ICP_SRC}
${OPTIONS_SRC})

install(TARGETS ${PROJECT_NAME}
${PROJECT_NAME}-static
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib)
install(DIRECTORY include/ DESTINATION include)
install(FILES package.xml DESTINATION share/csm)

# pkg-config
set(PKG_CONFIG_C_FLAGS "-I${EIGEN3_INCLUDE_DIR}")
configure_file(pkg-config/csm.pc.in ${CMAKE_CURRENT_BINARY_DIR}/csm.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/csm.pc DESTINATION lib/pkgconfig)
4 changes: 3 additions & 1 deletion package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@
<maintainer email="[email protected]">Isaac I.Y. Saito</maintainer>

<buildtool_depend>cmake</buildtool_depend>
<run_depend>catkin</run_depend>

<build_depend>eigen</build_depend>

<export>
<build_type>cmake</build_type>
</export>
Expand Down
9 changes: 9 additions & 0 deletions pkg-config/csm.pc.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
prefix=@CMAKE_INSTALL_PREFIX@
libdir=${prefix}/lib
includedir=${prefix}/include

Name: csm
Description: The C(anonical) Scan Matcher
Version: @csm_version@
Libs: -L${libdir} -lcsm-static
Cflags: @PKG_CONFIG_C_FLAGS@ -I${includedir}
71 changes: 0 additions & 71 deletions src/CMakeLists.txt

This file was deleted.

81 changes: 0 additions & 81 deletions src/cmake/FindEigen3.cmake

This file was deleted.

0 comments on commit 04c4a31

Please sign in to comment.