@@ -28,38 +28,69 @@ set(SRCS
2828 Discovery.cpp
2929 )
3030
31- add_library (interaction_client STATIC ${SRCS} )
31+ list (APPEND libs interaction_client)
32+ find_library (CLIENT microxrcedds_client REQUIRED
33+ HINTS ${PROJECT_BINARY_DIR } /../../../temp_install/lib/libmicroxrcedds_client.a )
3234
33- set_common_compile_options (interaction_client )
35+ if (UXRCE_TEST_THREAD)
36+ list (APPEND libs interaction_thread_client)
37+ find_library (CLIENT_MULTITHREAD thread_microxrcedds_client REQUIRED
38+ HINTS ${PROJECT_BINARY_DIR } /../../../temp_install/lib/libthread_microxrcedds_client.a )
39+ endif ()
3440
35- if (MSVC OR MSVC_IDE )
36- target_compile_options (interaction_client
37- PRIVATE
38- /wd4996
41+ foreach (lib ${libs} )
42+ add_library (${lib} STATIC ${SRCS} )
43+ set_common_compile_options (${lib} )
44+
45+ if (MSVC OR MSVC_IDE )
46+ target_compile_options (${lib}
47+ PRIVATE
48+ /wd4996
49+ PUBLIC
50+ -D_CRT_SECURE_NO_WARNINGS
51+ )
52+ endif ()
53+
54+ if (${lib} STREQUAL interaction_client)
55+ target_include_directories (${lib}
3956 PUBLIC
40- -D_CRT_SECURE_NO_WARNINGS
57+ ${PROJECT_BINARY_DIR } /../../../temp_install/include
58+ ${CMAKE_CURRENT_SOURCE_DIR }
59+ ${CMAKE_CURRENT_BINARY_DIR }
60+ PRIVATE
61+ ${GTEST_INCLUDE_DIRS}
4162 )
42- endif ()
4363
44- target_include_directories (interaction_client
45- PUBLIC
46- ${CMAKE_CURRENT_SOURCE_DIR }
47- ${CMAKE_CURRENT_BINARY_DIR }
48- PRIVATE
49- ${GTEST_INCLUDE_DIRS}
50- )
64+ target_link_libraries (${lib}
65+ PUBLIC
66+ ${CLIENT}
67+ custom_transports
68+ PRIVATE
69+ ${GTEST_BOTH_LIBRARIES}
70+ )
71+ elseif (${lib} STREQUAL interaction_thread_client)
72+ target_include_directories (${lib}
73+ PUBLIC
74+ ${PROJECT_BINARY_DIR } /../../../temp_install/include_thread
75+ ${CMAKE_CURRENT_BINARY_DIR }
76+ ${CMAKE_CURRENT_SOURCE_DIR }
77+ PRIVATE
78+ ${GTEST_INCLUDE_DIRS}
79+ )
5180
52- target_link_libraries (interaction_client
53- PUBLIC
54- microxrcedds_client
55- custom_transports
56- PRIVATE
57- ${GTEST_BOTH_LIBRARIES}
58- )
81+ target_link_libraries (${lib}
82+ PUBLIC
83+ ${CLIENT_MULTITHREAD}
84+ custom_transports
85+ PRIVATE
86+ ${GTEST_BOTH_LIBRARIES}
87+ )
88+ endif ()
5989
60- set_target_properties (interaction_client PROPERTIES
61- CXX_STANDARD
62- 11
63- CXX_STANDARD_REQUIRED
64- YES
65- )
90+ set_target_properties (${lib} PROPERTIES
91+ CXX_STANDARD
92+ 11
93+ CXX_STANDARD_REQUIRED
94+ YES
95+ )
96+ endforeach ()
0 commit comments