12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- cmake_minimum_required(VERSION 2.8)
- project(Sinsy)
- set (CMAKE_CXX_STANDARD 11) #required on manjaro
- set(PROJECT_VER_MAJOR 0)
- set(PROJECT_VER_MINOR 9)
- set(PROJECT_VER_PATCH 5)
- set(PROJECT_VER "${PROJECT_VER_MAJOR}.${PROJECT_VER_MINOR}.${PROJECT_VER_PATCH}")
- set(PROJECT_APIVER "${PROJECT_VER_MAJOR}.${PROJECT_VER_MINOR}")
- # set the default path for built executables to the "bin" directory
- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
- # set the default path for built libraries to the "lib" directory
- set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
- set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
- # find HTSEngine
- # adapted from https://github.com/r9y9/open_jtalk/blob/1.10/src/CMakeLists.txt
- # find_path(HTS_ENGINE_INCLUDE_DIR HTS_engine.h)
- # find_library(HTS_ENGINE_LIB hts_engine_API)
- #if(NOT HTS_ENGINE_LIB)
- # # fallback
- # find_library(HTS_ENGINE_LIB HTSEngine)
- #endif()
- configure_file(src/sinsy.pc.in "${PROJECT_BINARY_DIR}/sinsy.pc" @ONLY)
- aux_source_directory(src/lib/converter converter_source)
- aux_source_directory(src/lib/hts_engine_API hts_engine_API_source)
- aux_source_directory(src/lib/japanese japanese_source)
- aux_source_directory(src/lib/label label_source)
- aux_source_directory(src/lib/score score_source)
- aux_source_directory(src/lib/temporary temporary_source)
- aux_source_directory(src/lib/util util_source)
- aux_source_directory(src/lib/xml xml_source)
- aux_source_directory(src/lib/utau utau_source)
- aux_source_directory(src/lib/espeak-sg espeak_sg_source)
- aux_source_directory(src/lib/lyric lyric_source)
- include_directories(sinsy
- src/include
- src/include/sinsy
- src/lib
- src/lib/converter
- src/lib/hts_engine_API
- src/lib/japanese
- src/lib/label
- src/lib/score
- src/lib/temporary
- src/lib/util
- src/lib/xml
- src/lib/utau
- src/lib/lyric
- ${PROJECT_BINARY_DIR} # for generated headers
- )
- add_library(sinsy SHARED src/lib/Sinsy.cpp
- ${converter_source} ${hts_engine_API_source} ${japanese_source} ${label_source}
- ${score_source} ${temporary_source} ${util_source} ${xml_source} ${utau_source} ${espeak_sg_source} ${lyric_source})
- set_target_properties(sinsy PROPERTIES
- VERSION ${PROJECT_VER}
- SOVERSION ${PROJECT_APIVER}
- )
- # link hts_engine_API and add include dir
- #if(HTS_ENGINE_INCLUDE_DIR AND HTS_ENGINE_LIB)
- # target_link_libraries(sinsy ${HTS_ENGINE_LIB})
- # include_directories(sinsy ${HTS_ENGINE_INCLUDE_DIR})
- #else()
- # message(FATAL_ERROR "Required HTSEngine not found")
- #endif()
- target_link_libraries(sinsy sekai sndfile)
- target_link_libraries(sinsy boost_system boost_filesystem)
- add_executable(sinsy-bin src/bin/sinsy.cpp)
- target_link_libraries(sinsy-bin sinsy)
- target_link_libraries(sinsy-bin ${HTS_ENGINE_LIB})
- set_target_properties(sinsy-bin PROPERTIES OUTPUT_NAME sinsy)
- install(TARGETS sinsy sinsy-bin DESTINATION lib RUNTIME DESTINATION bin)
- install(DIRECTORY src/include/sinsy DESTINATION include)
- install(DIRECTORY src/dic DESTINATION lib/sinsy PATTERN "dic/Makefile*" EXCLUDE)
- install(FILES "${PROJECT_BINARY_DIR}/sinsy.pc" DESTINATION lib/pkgconfig/)
|