-
-
Save AndreasAZiegler/c1c8b7a88a02bcf87a88dcfd969e8fa6 to your computer and use it in GitHub Desktop.
ball_tracker/CMakeLists.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cmake_minimum_required(VERSION 3.0.2) | |
set(CMAKE_EXPORT_COMPILE_COMMANDS ON) | |
project( | |
ball_tracker | |
VERSION 0.1.0 | |
DESCRIPTION "" | |
LANGUAGES CXX) | |
find_package(Eigen3 REQUIRED NO_MODULE) | |
find_package(catkin REQUIRED COMPONENTS prophesee_event_msgs) | |
add_library( | |
${PROJECT_NAME} | |
src/precomputed_bins.cpp src/particle.cpp src/particle_filter.cpp | |
src/region_of_interest.cpp src/ball_tracker.cpp) | |
add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) | |
target_link_libraries(${PROJECT_NAME} Eigen3::Eigen ${catkin_LIBRARIES}) | |
target_include_directories( | |
${PROJECT_NAME} | |
PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include> | |
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include> | |
$<INSTALL_INTERFACE:include> ${catkin_INCLUDE_DIRS} | |
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) | |
target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_17) | |
target_compile_options( | |
${PROJECT_NAME} | |
PRIVATE $<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:GNU>>: | |
-pipe | |
-march=native | |
-Wall | |
-Wextra | |
$<$<CONFIG:Release>:-O3>> | |
$<$<CONFIG:Debug>:-g | |
-ggdb3 | |
-Og>> | |
$<$<CXX_COMPILER_ID:MSVC>: | |
$<$<CONFIG:Debug>:/Od | |
/Wall | |
/Zi>>) | |
include(GenerateExportHeader) | |
generate_export_header(${PROJECT_NAME}) | |
set_target_properties( | |
${PROJECT_NAME} | |
PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib | |
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib | |
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) | |
include(GNUInstallDirs) | |
install( | |
TARGETS ${PROJECT_NAME} | |
EXPORT ${PROJECT_NAME}-targets | |
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} | |
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} | |
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) | |
install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ball_tracker | |
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) | |
install( | |
EXPORT ${PROJECT_NAME}-targets | |
FILE ${PROJECT_NAME}-targets.cmake | |
NAMESPACE ${PROJECT_NAME}:: | |
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ball_tracker) | |
include(CMakePackageConfigHelpers) | |
configure_package_config_file( | |
${CMAKE_SOURCE_DIR}/cmake/ball_tracker-config.cmake.in | |
${CMAKE_BINARY_DIR}/cmake/ball_tracker-config.cmake | |
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ball_tracker) | |
write_basic_package_version_file( | |
${CMAKE_BINARY_DIR}/cmake/ball_tracker-config-version.cmake | |
VERSION ${POLY_EXPLORATION_VERSION} | |
COMPATIBILITY AnyNewerVersion) | |
install(FILES ${CMAKE_BINARY_DIR}/cmake/ball_tracker-config.cmake | |
${CMAKE_BINARY_DIR}/cmake/ball_tracker-config-version.cmake | |
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ball_tracker) | |
export( | |
EXPORT ball_tracker-targets | |
FILE ${CMAKE_BINARY_DIR}/cmake/ball_tracker-targets.cmake | |
NAMESPACE ${PROJECT_NAME}::) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment