diff --git a/cmake/SDFUtils.cmake b/cmake/SDFUtils.cmake index a21ffc660..16155dcce 100644 --- a/cmake/SDFUtils.cmake +++ b/cmake/SDFUtils.cmake @@ -156,12 +156,12 @@ macro (sdf_build_tests) link_directories(${IGNITION-MATH_LIBRARY_DIRS}) if (USE_EXTERNAL_TINYXML) - target_link_libraries(${BINARY_NAME} + target_link_libraries(${BINARY_NAME} PRIVATE ${tinyxml_LIBRARIES}) endif() if (UNIX) - target_link_libraries(${BINARY_NAME} + target_link_libraries(${BINARY_NAME} PRIVATE libgtest.a libgtest_main.a ${sdf_target} @@ -169,7 +169,7 @@ macro (sdf_build_tests) ${IGNITION-MATH_LIBRARIES} ) elseif(WIN32) - target_link_libraries(${BINARY_NAME} + target_link_libraries(${BINARY_NAME} PRIVATE gtest.lib gtest_main.lib ${sdf_target} diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ea2e68e0f..fa183ffcf 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -121,7 +121,6 @@ set (gtest_sources Mesh_TEST.cc Model_TEST.cc Noise_TEST.cc - parser_urdf_TEST.cc Param_TEST.cc parser_TEST.cc Pbr_TEST.cc @@ -163,6 +162,18 @@ if (NOT WIN32) sdf_build_tests(Converter_TEST.cc) endif() +if (NOT WIN32) + set(SDF_BUILD_TESTS_EXTRA_EXE_SRCS SDFExtension.cc parser_urdf.cc) + sdf_build_tests(parser_urdf_TEST.cc) + if (NOT USE_INTERNAL_URDF) + target_compile_options(UNIT_parser_urdf_TEST PRIVATE ${URDF_CFLAGS}) + if (${CMAKE_VERSION} VERSION_GREATER 3.13) + target_link_options(UNIT_parser_urdf_TEST PRIVATE ${URDF_LDFLAGS}) + endif() + target_link_libraries(UNIT_parser_urdf_TEST PRIVATE ${URDF_LIBRARIES}) + endif() +endif() + sdf_add_library(${sdf_target} ${sources}) target_link_libraries(${sdf_target} PUBLIC ${IGNITION-MATH_LIBRARIES}) diff --git a/src/parser_urdf.hh b/src/parser_urdf.hh index b8dffb445..ee08ebd32 100644 --- a/src/parser_urdf.hh +++ b/src/parser_urdf.hh @@ -37,7 +37,7 @@ namespace sdf /// This is now deprecated for external usage and will be removed in the next /// major version of libsdformat. Instead, consider using `sdf::readFile` or /// `sdf::readString`, which automatically convert URDF to SDF. - class SDFORMAT_VISIBLE URDF2SDF + class URDF2SDF { /// \brief constructor public: URDF2SDF();