diff --git a/libc/test/UnitTest/CMakeLists.txt b/libc/test/UnitTest/CMakeLists.txt --- a/libc/test/UnitTest/CMakeLists.txt +++ b/libc/test/UnitTest/CMakeLists.txt @@ -71,8 +71,6 @@ add_library( LibcFPTestHelpers - FPExceptMatcher.cpp - FPExceptMatcher.h FPMatcher.h RoundingModeUtils.cpp RoundingModeUtils.h @@ -85,6 +83,17 @@ libc.src.__support.FPUtil.fenv_impl libc.test.UnitTest.string_utils ) +add_library( + LibcFPExceptionHelpers + FPExceptMatcher.cpp + FPExceptMatcher.h +) +add_dependencies( + LibcFPExceptionHelpers + LibcUnitTest + libc.src.__support.FPUtil.fp_bits + libc.src.__support.FPUtil.fenv_impl +) add_library( LibcMemoryHelpers @@ -123,7 +132,8 @@ libc.test.UnitTest.string_utils ) -foreach(lib LibcFPTestHelpers LibcMemoryHelpers LibcPrintfHelpers LibcScanfHelpers) +foreach(lib LibcFPTestHelpers LibcFPExceptionHelpers LibcMemoryHelpers + LibcPrintfHelpers LibcScanfHelpers) target_include_directories(${lib} PUBLIC ${LIBC_SOURCE_DIR}) target_compile_options(${lib} PRIVATE -fno-exceptions -fno-rtti) target_link_libraries(${lib} LibcUnitTest) diff --git a/libc/test/src/fenv/CMakeLists.txt b/libc/test/src/fenv/CMakeLists.txt --- a/libc/test/src/fenv/CMakeLists.txt +++ b/libc/test/src/fenv/CMakeLists.txt @@ -104,6 +104,8 @@ libc.src.fenv.feraiseexcept libc.src.fenv.fetestexcept libc.src.__support.FPUtil.fenv_impl + LINK_LIBRARIES + LibcFPExceptionHelpers ) add_fp_unittest( @@ -116,5 +118,7 @@ libc.include.fenv libc.src.fenv.feholdexcept libc.src.__support.FPUtil.fenv_impl + LINK_LIBRARIES + LibcFPExceptionHelpers ) endif()