eSpeak NG is an open source speech synthesizer that supports more than hundred languages and accents.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CMakeLists.txt 2.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. include(CTest)
  2. list(APPEND _binary_tests)
  3. macro(compiled_test _test_name)
  4. add_executable(test_${_test_name}
  5. $<TARGET_OBJECTS:espeak-ng>
  6. ${_test_name}.c
  7. )
  8. target_link_libraries(test_${_test_name} PRIVATE
  9. $<TARGET_PROPERTY:espeak-ng,LINK_LIBRARIES>
  10. )
  11. target_compile_definitions(test_${_test_name} PRIVATE LIBESPEAK_NG_EXPORT=1)
  12. target_include_directories(
  13. test_${_test_name} PRIVATE
  14. $<TARGET_PROPERTY:espeak-ng,SOURCE_DIR>
  15. $<TARGET_PROPERTY:espeak-ng,SOURCE_DIR>/include/compat
  16. $<TARGET_PROPERTY:espeak-ng,INTERFACE_INCLUDE_DIRECTORIES>
  17. $<TARGET_PROPERTY:espeak-ng-config,INTERFACE_INCLUDE_DIRECTORIES>
  18. )
  19. if (MINGW)
  20. target_link_options(test_${_test_name} PUBLIC "-static" "-static-libstdc++")
  21. endif()
  22. add_dependencies(test_${_test_name} data)
  23. add_test(
  24. NAME ${_test_name}
  25. COMMAND ${ESPEAK_RUN_ENV} $<TARGET_FILE:test_${_test_name}>
  26. WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/..
  27. )
  28. list(APPEND _binary_tests test_${_test_name})
  29. endmacro(compiled_test)
  30. find_program(SHELL bash)
  31. macro(shell_test _test_name)
  32. add_test(
  33. NAME ${_test_name}
  34. COMMAND ${ESPEAK_RUN_ENV} ESPEAK_BIN=$<TARGET_FILE:espeak-ng-bin> ${SHELL} ${CMAKE_CURRENT_SOURCE_DIR}/${_test_name}.test
  35. WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/..
  36. )
  37. endmacro(shell_test)
  38. compiled_test(api)
  39. compiled_test(encoding)
  40. compiled_test(ieee80)
  41. compiled_test(readclause)
  42. if (SHELL AND UNIX)
  43. shell_test(bom)
  44. shell_test(non-executable-files-with-executable-bit)
  45. shell_test(cmd_options)
  46. shell_test(dictionary)
  47. shell_test(language-numbers-cardinal)
  48. shell_test(language-numbers-ordinal)
  49. shell_test(language-phonemes)
  50. shell_test(language-pronunciation)
  51. shell_test(language-replace)
  52. shell_test(ssml)
  53. shell_test(translate)
  54. shell_test(variants)
  55. shell_test(voices)
  56. shell_test(crash)
  57. # shell_test(windows-data)
  58. # shell_test(windows-installer)
  59. if (USE_KLATT)
  60. shell_test(klatt)
  61. endif()
  62. if (USE_MBROLA)
  63. shell_test(mbrola)
  64. endif()
  65. endif()
  66. add_custom_target(tests DEPENDS ${_binary_tests})