CMake: Enable builds for both static and shared builds for Linux.

- Added BUILD_STATIC_LIBS option which is on by default, only on Linux.
- Added TEST_WITH_SHARED option which is off by default, only on Linux.
- If only shared or static lib is being built, that's the one that will be used for testing.
- If both are being built, TEST_WITH_SHARED determins which library wil be used for testing.
- Set linux workflows so that they build both static and shared libs, and use linux-static and linux-shared to denote which one should be used for testing.
- Set -fPIC for both static and shared builds to fix issues faced when building blis using AOCC 4.0.0 and gtestsuite using gcc 9.4.0.

AMD-Internal: [CPUPL-2748]
Change-Id: I4227bab97ff31ecddfe218e18499f33b4e4ee63e
This commit is contained in:
Eleni Vlachopoulou
2024-02-27 22:12:47 +05:30
committed by Eleni Vlachopoulou
parent d300d7112f
commit 020b9ff7f0
16 changed files with 211 additions and 142 deletions

View File

@@ -51,7 +51,7 @@ foreach(source ${testcpp_sources})
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/vendor/cpp
)
target_link_libraries(${exec_name} PRIVATE ${LDFLAGS} libblis)
target_link_libraries(${exec_name} PRIVATE ${LDFLAGS} ${libblis_link})
if(THREADING_MODEL STREQUAL "openmp")
target_link_libraries(${exec_name} PRIVATE OpenMP::OpenMP_C)
endif()