From 5d547e26765b7c859d78aadf6eed942af6b4283a Mon Sep 17 00:00:00 2001 From: Yury Popov Date: Fri, 9 Dec 2022 00:40:57 +0300 Subject: [PATCH 1/3] windows: Fix API test (pathsep) --- tests/api.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/api.c b/tests/api.c index 873ec1fa..1b3d7c89 100644 --- a/tests/api.c +++ b/tests/api.c @@ -630,7 +630,7 @@ main(int argc, char **argv) (void)argc; // unused parameter char *progdir = strdup(argv[0]); - char *dir = strrchr(progdir, '/'); + char *dir = strrchr(progdir, PATHSEP); if (dir != NULL) *dir = 0; test_espeak_terminate_without_initialize(); From 91b3959170909388e11d3b39be3ce8d1339ae380 Mon Sep 17 00:00:00 2001 From: Yury Popov Date: Fri, 9 Dec 2022 00:42:55 +0300 Subject: [PATCH 2/3] windows: fix DLL build --- src/libespeak-ng/CMakeLists.txt | 6 ++++++ tests/CMakeLists.txt | 1 + 2 files changed, 7 insertions(+) diff --git a/src/libespeak-ng/CMakeLists.txt b/src/libespeak-ng/CMakeLists.txt index d3d68f7f..54cceb70 100644 --- a/src/libespeak-ng/CMakeLists.txt +++ b/src/libespeak-ng/CMakeLists.txt @@ -102,4 +102,10 @@ if (NOT MSVC) endif() target_link_libraries(espeak-ng PUBLIC espeak-include) +if ((MINGW OR WIN32 OR MSVC) AND BUILD_SHARED_LIBS) + set_target_properties(espeak-ng PROPERTIES + RUNTIME_OUTPUT_DIRECTORY .. + ) +endif() + install(TARGETS espeak-ng LIBRARY) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index b8371617..849f7bc0 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -10,6 +10,7 @@ macro(compiled_test _test_name) target_link_libraries(test_${_test_name} PRIVATE $ ) + target_compile_definitions(test_${_test_name} PRIVATE LIBESPEAK_NG_EXPORT=1) target_include_directories( test_${_test_name} PRIVATE $ From 6bb25fbb075dbdedd22316694500e328b0e7d1e9 Mon Sep 17 00:00:00 2001 From: Yury Popov Date: Fri, 9 Dec 2022 00:46:00 +0300 Subject: [PATCH 3/3] windows: fix mingw build --- src/CMakeLists.txt | 3 +++ src/libespeak-ng/CMakeLists.txt | 4 ++++ tests/CMakeLists.txt | 3 +++ 3 files changed, 10 insertions(+) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 654d7fa0..cb16ee51 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -10,6 +10,9 @@ set_target_properties(espeak-ng-bin PROPERTIES OUTPUT_NAME espeak-ng) target_link_libraries( espeak-ng-bin PRIVATE espeak-ng espeak-ng-config ) +if (MINGW) + target_link_options(espeak-ng-bin PRIVATE "-static-libstdc++" "-static") +endif() if (MSVC) target_sources(espeak-ng-bin PRIVATE compat/getopt.c) endif() diff --git a/src/libespeak-ng/CMakeLists.txt b/src/libespeak-ng/CMakeLists.txt index 54cceb70..63f0d48c 100644 --- a/src/libespeak-ng/CMakeLists.txt +++ b/src/libespeak-ng/CMakeLists.txt @@ -108,4 +108,8 @@ if ((MINGW OR WIN32 OR MSVC) AND BUILD_SHARED_LIBS) ) endif() +if (MINGW) + target_link_options(espeak-ng PRIVATE "-static-libstdc++" "-static") +endif() + install(TARGETS espeak-ng LIBRARY) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 849f7bc0..1c3832cf 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -18,6 +18,9 @@ macro(compiled_test _test_name) $ $ ) + if (MINGW) + target_link_options(test_${_test_name} PUBLIC "-static" "-static-libstdc++") + endif() add_dependencies(test_${_test_name} data) add_test( NAME ${_test_name}