Browse Source

build, ci: windows build

master
Yury Popov 2 years ago
parent
commit
2f068b15a5
No account linked to committer's email address

+ 21
- 0
.github/workflows/windows.yml View File

name: Windows

on:
workflow_dispatch:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
build:
runs-on: windows-latest
name: build
steps:
- uses: actions/checkout@v3
- name: configure
run: cmake -Bbuild -DUSE_ASYNC:BOOL=OFF
- name: make
run: cmake --build build
- name: make check
run: ctest --test-dir build -Ttest -C Debug -j1 --output-on-failure

+ 5
- 1
cmake/config.cmake View File



option(USE_KLATT "Use klatt for speech synthesis" ON) option(USE_KLATT "Use klatt for speech synthesis" ON)
option(USE_SPEECHPLAYER "Use speech-player for speech synthesis" ON) option(USE_SPEECHPLAYER "Use speech-player for speech synthesis" ON)
option(USE_ASYNC "Support asynchronous speech synthesis" ON)
if (HAVE_PTHREAD)
option(USE_ASYNC "Support asynchronous speech synthesis" ON)
else()
set(USE_ASYNC OFF)
endif()

+ 11
- 6
src/CMakeLists.txt View File

target_link_libraries( target_link_libraries(
espeak-ng-bin PRIVATE espeak-ng espeak-ng-config espeak-ng-bin PRIVATE espeak-ng espeak-ng-config
) )
add_custom_target(
speak-ng ALL
${CMAKE_COMMAND} -E create_symlink espeak-ng ${CMAKE_CURRENT_BINARY_DIR}/speak-ng
COMMENT "Link espeak-ng to speak-ng"
DEPENDS espeak-ng-bin
)
if (MSVC)
target_sources(espeak-ng-bin PRIVATE compat/getopt.c)
endif()
if (NOT WIN32)
add_custom_target(
speak-ng ALL
${CMAKE_COMMAND} -E create_symlink espeak-ng ${CMAKE_CURRENT_BINARY_DIR}/speak-ng
COMMENT "Link espeak-ng to speak-ng"
DEPENDS espeak-ng-bin
)
endif()
install(TARGETS espeak-ng-bin) install(TARGETS espeak-ng-bin)
install(DIRECTORY include/espeak include/espeak-ng TYPE INCLUDE) install(DIRECTORY include/espeak include/espeak-ng TYPE INCLUDE)

+ 26
- 18
src/libespeak-ng/CMakeLists.txt View File

espeak_api.c espeak_api.c
) )


target_compile_options(espeak-ng PRIVATE
"-fPIC"
"-fvisibility=hidden"
"-fno-exceptions"
"-fwrapv"

"-pedantic"

"-Wunused-parameter"
"-Wunused"
"-Wuninitialized"
"-Wreturn-type"
"-Wmissing-prototypes"
"-Wint-conversion"
"-Wimplicit"
)
target_compile_definitions(espeak-ng PRIVATE "LIBESPEAK_NG_EXPORT")
if (NOT MSVC)
target_compile_options(espeak-ng PRIVATE
"-fPIC"
"-fvisibility=hidden"
"-fno-exceptions"
"-fwrapv"

"-pedantic"

"-Wunused-parameter"
"-Wunused"
"-Wuninitialized"
"-Wreturn-type"
"-Wmissing-prototypes"
"-Wint-conversion"
"-Wimplicit"
)
endif()
target_compile_definitions(espeak-ng PRIVATE "LIBESPEAK_NG_EXPORT=1")
if (NOT BUILD_SHARED_LIBS)
target_compile_definitions(espeak-ng INTERFACE "LIBESPEAK_NG_EXPORT=1")
endif()


if (USE_ASYNC) if (USE_ASYNC)
target_sources(espeak-ng PRIVATE target_sources(espeak-ng PRIVATE
target_include_directories(espeak-ng PRIVATE ${PCAUDIO_INC}) target_include_directories(espeak-ng PRIVATE ${PCAUDIO_INC})
endif() endif()


target_link_libraries(espeak-ng PRIVATE espeak-ng-config ucd m)
target_link_libraries(espeak-ng PRIVATE espeak-ng-config ucd)
if (NOT MSVC)
target_link_libraries(espeak-ng PRIVATE m)
endif()
target_link_libraries(espeak-ng PUBLIC espeak-include) target_link_libraries(espeak-ng PUBLIC espeak-include)


install(TARGETS espeak-ng LIBRARY) install(TARGETS espeak-ng LIBRARY)

+ 3
- 1
src/speechPlayer/CMakeLists.txt View File

src/speechWaveGenerator.cpp src/speechWaveGenerator.cpp
) )
target_include_directories(speechPlayer PUBLIC include) target_include_directories(speechPlayer PUBLIC include)
target_compile_options(speechPlayer PRIVATE "-fPIC")
if(NOT MSVC)
target_compile_options(speechPlayer PRIVATE "-fPIC")
endif()
install(TARGETS speechPlayer ARCHIVE) install(TARGETS speechPlayer ARCHIVE)

Loading…
Cancel
Save