[Openmp-commits] [openmp] [OpenMP] Add libomp unit test infrastructure (PR #168063)
Michael Kruse via Openmp-commits
openmp-commits at lists.llvm.org
Tue Dec 2 14:29:50 PST 2025
================
@@ -200,6 +211,31 @@ if(${LIBOMP_USE_HWLOC})
)
endif()
+# Build a testing version of libomp that exports all symbols for unit tests.
+# This library uses the same compiled objects as libomp, but with all symbols
+# exported to allow testing internal functions.
+if(NOT WIN32 AND NOT STUBS_LIBRARY)
+ set(LIBOMP_TEST_LDFLAGS ${LIBOMP_CONFIGURED_LDFLAGS})
+ # Replace the libomp exports with the test exports exporting all symbols.
+ if(LIBOMP_HAVE_VERSION_SCRIPT_FLAG)
+ string(REPLACE "${LIBOMP_SRC_DIR}/exports_so.txt"
+ "${LIBOMP_SRC_DIR}/exports_test_so.txt"
+ LIBOMP_TEST_LDFLAGS "${LIBOMP_TEST_LDFLAGS}")
+ endif()
+
+ # Create the testing library from the same objects as libomp.
+ add_library(omp_testing SHARED $<TARGET_OBJECTS:omp_objects>)
+ set_property(TARGET omp_testing PROPERTY FOLDER "OpenMP/Libraries")
+ target_link_libraries(omp_testing ${LIBOMP_CONFIGURED_LIBFLAGS} ${LIBOMP_DL_LIBS})
----------------
Meinersbur wrote:
```suggestion
target_link_libraries(omp_testing PUBLIC ${LIBOMP_CONFIGURED_LIBFLAGS} ${LIBOMP_DL_LIBS})
```
for "modern CMake" style
https://github.com/llvm/llvm-project/pull/168063
More information about the Openmp-commits
mailing list