From 6182fddb3a77cd0ca1da8a23883c6e4915623d1c Mon Sep 17 00:00:00 2001 From: Mattias Lindblad Date: Fri, 5 Apr 2024 15:58:33 +0200 Subject: [PATCH] Allow windows linking of test programs Signed-off-by: Mattias Lindblad --- tests/CMakeLists.txt | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index eea2cd208..c3027a7da 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -64,9 +64,13 @@ target_link_libraries(example_kem PRIVATE ${TEST_DEPS}) add_executable(kat_kem kat_kem.c test_helpers.c) target_link_libraries(kat_kem PRIVATE ${TEST_DEPS}) -if(CMAKE_CROSSCOMPILING AND CMAKE_SYSTEM_NAME STREQUAL "Windows" AND BUILD_SHARED_LIBS) - # workaround for Windows .dll cross-compiling - target_link_options(kat_kem PRIVATE -Wl,--allow-multiple-definition) +if(CMAKE_SYSTEM_NAME STREQUAL "Windows" AND BUILD_SHARED_LIBS) + # workaround for Windows .dll + if(CMAKE_CROSSCOMPILING) + target_link_options(kat_kem PRIVATE -Wl,--allow-multiple-definition) + else() + target_link_options(kat_kem PRIVATE "/FORCE:MULTIPLE") + endif() endif() add_executable(test_kem test_kem.c) @@ -86,9 +90,13 @@ target_link_libraries(example_sig PRIVATE ${TEST_DEPS}) add_executable(kat_sig kat_sig.c test_helpers.c) target_link_libraries(kat_sig PRIVATE ${TEST_DEPS}) -if(CMAKE_CROSSCOMPILING AND CMAKE_SYSTEM_NAME STREQUAL "Windows" AND BUILD_SHARED_LIBS) - # workaround for Windows .dll cross-compiling - target_link_options(kat_sig PRIVATE -Wl,--allow-multiple-definition) +if(CMAKE_SYSTEM_NAME STREQUAL "Windows" AND BUILD_SHARED_LIBS) + # workaround for Windows .dll + if(CMAKE_CROSSCOMPILING) + target_link_options(kat_sig PRIVATE -Wl,--allow-multiple-definition) + else() + target_link_options(kat_sig PRIVATE "/FORCE:MULTIPLE") + endif() endif() add_executable(test_sig test_sig.c)