File tree Expand file tree Collapse file tree 6 files changed +22
-11
lines changed Expand file tree Collapse file tree 6 files changed +22
-11
lines changed Original file line number Diff line number Diff line change @@ -194,10 +194,8 @@ set(CMAKE_MODULE_PATH
194194 ${CMAKE_MODULE_PATH}
195195 ${PROJECT_SOURCE_DIR} /src/viam/cmake
196196)
197- if (VIAMCPPSDK_BUILD_TESTS OR VIAMCPPSDK_BUILD_EXAMPLES)
198- # We maybe could include this unconditionally, but technically only tests or examples need it
199- include (viamcppsdk_utils)
200- endif ()
197+
198+ include (viamcppsdk_utils)
201199
202200
203201
Original file line number Diff line number Diff line change @@ -112,13 +112,13 @@ def package_info(self):
112112 self .cpp_info .components ["viamapi" ].sharedlinkflags .append (whole_archive )
113113
114114 self .cpp_info .components ["viamsdk" ].requires .extend ([
115- "viamapi" ,
116115 "boost::headers" ,
117116 "boost::log" ,
118117 "grpc::grpc++_reflection" ,
119118 "protobuf::libprotobuf" ,
120119 "xtensor::xtensor" ,
121120
121+ "viamapi" ,
122122 "viam_rust_utils" ,
123123 "abseil::absl_strings" ,
124124 ])
Original file line number Diff line number Diff line change @@ -17,3 +17,11 @@ function(viamcppsdk_add_boost_test SOURCE_FILE_NAME)
1717 COMMAND ${TEST_EXECUTABLE_NAME} --catch_system_error=yes )
1818 endforeach ()
1919endfunction ()
20+
21+ function (viamcppsdk_link_viam_api TARGET_LIBRARY)
22+ if (BUILD_SHARED_LIBS )
23+ target_link_libraries (${TARGET_LIBRARY} ${ARGV1} viam-cpp-sdk::viamapi)
24+ else ()
25+ target_link_libraries (${TARGET_LIBRARY} ${ARGV1} "$<LINK_LIBRARY:WHOLE_ARCHIVE,viam-cpp-sdk::viamapi>" )
26+ endif ()
27+ endfunction ()
Original file line number Diff line number Diff line change @@ -108,6 +108,8 @@ target_link_libraries(complex_module_sources
108108 viam-cpp-sdk::viamsdk
109109)
110110
111+ viamcppsdk_link_viam_api(complex_module_sources)
112+
111113add_executable (complex_module)
112114target_sources (complex_module
113115 PRIVATE
Original file line number Diff line number Diff line change @@ -15,7 +15,7 @@ add_library(viam-cpp-sdk::viamsdk ALIAS viamsdk)
1515# `BASE_DIRS` below, because otherwise we will pull in the static
1616# versions of the proto files even if we are generating dynamically.
1717target_include_directories (viamsdk
18- PUBLIC
18+ PRIVATE
1919 "$<BUILD_INTERFACE:$<TARGET_PROPERTY:viam-cpp-sdk::viamapi,INTERFACE_INCLUDE_DIRECTORIES>>"
2020)
2121
@@ -233,11 +233,7 @@ target_link_directories(viamsdk
233233 "$<INSTALL_INTERFACE:${VIAMCPPSDK_PROTOBUF_LIBRARY_DIRS} >"
234234)
235235
236- if (BUILD_SHARED_LIBS )
237- target_link_libraries (viamsdk PUBLIC viam-cpp-sdk::viamapi)
238- else ()
239- target_link_libraries (viamsdk PUBLIC "$<LINK_LIBRARY:WHOLE_ARCHIVE,viam-cpp-sdk::viamapi>" )
240- endif ()
236+ viamcppsdk_link_viam_api(viamsdk PRIVATE )
241237
242238target_link_libraries (viamsdk
243239 PUBLIC ${VIAMCPPSDK_GRPCXX_LIBRARIES}
Original file line number Diff line number Diff line change @@ -39,10 +39,17 @@ target_sources(viamsdk_test
3939 test_utils.cpp
4040)
4141
42+ target_include_directories (viamsdk_test
43+ PUBLIC
44+ "$<BUILD_INTERFACE:$<TARGET_PROPERTY:viam-cpp-sdk::viamapi,INTERFACE_INCLUDE_DIRECTORIES>>"
45+ )
46+
4247target_link_libraries (viamsdk_test
4348 PUBLIC viam-cpp-sdk::viamsdk
4449)
4550
51+ viamcppsdk_link_viam_api(viamsdk_test PUBLIC )
52+
4653viamcppsdk_add_boost_test(test_arm.cpp)
4754viamcppsdk_add_boost_test(test_base.cpp)
4855viamcppsdk_add_boost_test(test_board.cpp)
You can’t perform that action at this time.
0 commit comments