diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 65cd486..332da12 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,6 +1,6 @@ enable_testing() -foreach(test IN ITEMS +set(TEST_LIST test_base64 test_crypto test_group_session @@ -12,11 +12,20 @@ foreach(test IN ITEMS test_olm_sha256 test_olm_signature test_olm_using_malloc - test_ratchet test_session test_pk test_sas - ) + ) + +if(NOT (${CMAKE_SYSTEM_NAME} MATCHES "Windows" AND BUILD_SHARED_LIBS)) + # test_ratchet doesn't work on Windows when building a DLL, because it tries + # to use internal symbols, so only enable it if we're not on Windows, or if + # we're building statically + set(TEST_LIST ${TEST_LIST} test_ratchet) + add_test(Ratchet test_ratchet) +endif() + +foreach(test IN ITEMS ${TEST_LIST}) add_executable(${test} ${test}.cpp) target_include_directories(${test} PRIVATE include) target_link_libraries(${test} Olm::Olm) @@ -33,7 +42,6 @@ add_test(OlmDecrypt test_olm_decrypt) add_test(OlmSha256 test_olm_sha256) add_test(OlmSignature test_olm_signature) add_test(OlmUsingMalloc test_olm_using_malloc) -add_test(Ratchet test_ratchet) add_test(Session test_session) add_test(PublicKey test_session) add_test(SAS test_sas)