Browse Source

cmake: fix installation rules (#1687)

master
Alexander Epaneshnikov 2 years ago
parent
commit
ff46761d6a
No account linked to committer's email address

+ 5
- 0
CMakeLists.txt View File

@@ -12,6 +12,7 @@ include(cmake/deps.cmake)
include(cmake/config.cmake)
add_subdirectory(src)
include(cmake/data.cmake)
include(cmake/docs.cmake)

include(cmake/package.cmake)
include(CPack)
@@ -29,3 +30,7 @@ message(STATUS " libpcaudio: ${USE_LIBPCAUDIO} (${PCAUDIO_LIB} ${PCAUDIO_INC})"
message(STATUS " klatt: ${USE_KLATT}")
message(STATUS " speech-player: ${USE_SPEECHPLAYER}")
message(STATUS " async: ${USE_ASYNC}")

install(
DIRECTORY vim/ftdetect vim/syntax DESTINATION share/vim/vimfiles
)

+ 2
- 0
cmake/config.cmake View File

@@ -12,3 +12,5 @@ if (HAVE_PTHREAD)
else()
set(USE_ASYNC OFF)
endif()

option(ESPEAK_COMPAT "Install compat binary symlinks" OFF)

+ 28
- 0
cmake/docs.cmake View File

@@ -0,0 +1,28 @@
find_program(RONN ronn)

option(ESPEAK_BUILD_MANPAGES "Build manpages" ${RONN})

if (RONN AND ESPEAK_BUILD_MANPAGES)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/espeak-ng.1
COMMAND ${RONN} --roff -o ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/src/espeak-ng.1.ronn
)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/speak-ng.1
COMMAND ${RONN} --roff -o ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/src/speak-ng.1.ronn
)

add_custom_target(
docs ALL
DEPENDS
${CMAKE_CURRENT_BINARY_DIR}/espeak-ng.1
${CMAKE_CURRENT_BINARY_DIR}/speak-ng.1
)

install(
FILES
${CMAKE_CURRENT_BINARY_DIR}/espeak-ng.1
${CMAKE_CURRENT_BINARY_DIR}/speak-ng.1
DESTINATION share/man/man1
)
endif()

+ 18
- 0
cmake/package.cmake View File

@@ -15,3 +15,21 @@ list(APPEND CPACK_SOURCE_IGNORE_FILES
/tools/
/vim/
)

set(PACKAGE_NAME ${PROJECT_NAME})
set(VERSION ${PROJECT_VERSION})

set(prefix ${CMAKE_INSTALL_PREFIX})
set(exec_prefix ${CMAKE_INSTALL_PREFIX})
set(libdir "\${exec_prefix}/lib")
set(includedir "\${prefix}/include")

configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc.in
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc
@ONLY
)

install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION lib/pkgconfig
)

+ 10
- 2
src/CMakeLists.txt View File

@@ -19,10 +19,18 @@ 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"
COMMAND ${CMAKE_COMMAND} -E create_symlink espeak-ng ${CMAKE_CURRENT_BINARY_DIR}/speak-ng
COMMAND ${CMAKE_COMMAND} -E create_symlink espeak-ng ${CMAKE_CURRENT_BINARY_DIR}/espeak
COMMAND ${CMAKE_COMMAND} -E create_symlink espeak-ng ${CMAKE_CURRENT_BINARY_DIR}/speak
COMMENT "Link espeak-ng to compat names"
DEPENDS espeak-ng-bin
)
endif()
install(TARGETS espeak-ng-bin)
install(DIRECTORY include/espeak include/espeak-ng TYPE INCLUDE)

if (ESPEAK_COMPAT AND NOT WIN32)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/speak-ng DESTINATION bin)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/espeak DESTINATION bin)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/speak DESTINATION bin)
endif()

+ 5
- 0
src/libespeak-ng/CMakeLists.txt View File

@@ -115,4 +115,9 @@ if (MINGW)
target_link_options(espeak-ng PRIVATE "-static-libstdc++" "-static")
endif()

set_target_properties(espeak-ng PROPERTIES
SOVERSION ${PROJECT_VERSION_MAJOR}
VERSION ${PROJECT_VERSION}
)

install(TARGETS espeak-ng LIBRARY)

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

@@ -7,4 +7,3 @@ target_include_directories(speechPlayer PUBLIC include)
if(NOT MSVC)
target_compile_options(speechPlayer PRIVATE "-fPIC")
endif()
install(TARGETS speechPlayer ARCHIVE)

+ 0
- 1
src/ucd-tools/CMakeLists.txt View File

@@ -7,4 +7,3 @@ add_library(ucd STATIC
src/tostring.c
)
target_include_directories(ucd PUBLIC src/include)
install(TARGETS ucd ARCHIVE)

Loading…
Cancel
Save