@@ -4,7 +4,7 @@ project(phidgets_api)
44
55# Default to C++14
66if (NOT CMAKE_CXX_STANDARD)
7- set (CMAKE_CXX_STANDARD 14 )
7+ set (CMAKE_CXX_STANDARD 17 )
88endif ()
99
1010if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
@@ -14,9 +14,8 @@ endif()
1414find_package (ament_cmake_ros REQUIRED)
1515find_package (libphidget22 REQUIRED)
1616
17- include_directories (include )
18-
19- add_library (phidgets_api src/accelerometer.cpp
17+ add_library (phidgets_api SHARED
18+ src/accelerometer.cpp
2019 src/analog_input.cpp
2120 src/analog_inputs.cpp
2221 src/analog_output.cpp
@@ -37,22 +36,39 @@ add_library(phidgets_api src/accelerometer.cpp
3736 src/stepper.cpp
3837 src/temperature.cpp)
3938
40- ament_target_dependencies(phidgets_api
41- libphidget22
39+ target_compile_features (phidgets_api PUBLIC cxx_std_17)
40+
41+ target_link_libraries (phidgets_api PUBLIC
42+ ${libphidget22_LIBRARIES}
43+ )
44+
45+ target_include_directories (phidgets_api PUBLIC
46+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /include >
47+ $<INSTALL_INTERFACE:include >
48+ ${libphidget22_INCLUDE_DIRS}
4249)
4350
44- install (TARGETS phidgets_api
45- ARCHIVE DESTINATION lib
46- LIBRARY DESTINATION lib
47- RUNTIME DESTINATION bin
51+ install (
52+ TARGETS phidgets_api
53+ EXPORT export_${PROJECT_NAME}
54+ ARCHIVE DESTINATION lib
55+ LIBRARY DESTINATION lib
56+ RUNTIME DESTINATION bin
4857)
4958
50- install (DIRECTORY include /
51- DESTINATION include
59+ install (
60+ DIRECTORY include /
61+ DESTINATION include
5262)
5363
54- ament_export_dependencies(ament_cmake libphidget22)
64+ ament_export_dependencies(
65+ ament_cmake
66+ libphidget22
67+ )
5568ament_export_include_directories(include )
5669ament_export_libraries(phidgets_api)
70+ ament_export_targets(
71+ export_${PROJECT_NAME}
72+ )
5773
5874ament_package()
0 commit comments