68 lines
2.4 KiB
CMake
68 lines
2.4 KiB
CMake
|
cmake_minimum_required(VERSION 3.12 FATAL_ERROR)
|
||
|
|
||
|
PROJECT(mecab VERSION 1.0)
|
||
|
|
||
|
file(GLOB SOURCE_FILE
|
||
|
"*.cpp"
|
||
|
"*.c"
|
||
|
)
|
||
|
file(GLOB HEADERS_FILE
|
||
|
"*.h"
|
||
|
)
|
||
|
|
||
|
message(STATUS "current cmake path: ${CMAKE_CURRENT_SOURCE_DIR}")
|
||
|
list(REMOVE_ITEM SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/mecab-cost-train.cpp)
|
||
|
list(REMOVE_ITEM SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/mecab-dict-gen.cpp)
|
||
|
list(REMOVE_ITEM SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/mecab-dict-index.cpp)
|
||
|
list(REMOVE_ITEM SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/mecab-system-eval.cpp)
|
||
|
list(REMOVE_ITEM SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/mecab-test-gen.cpp)
|
||
|
#list(REMOVE_ITEM SOURCE_FILE "mecab-cost-train.cpp" "mecab-dict-gen.cpp" "mecab-dict-index.cpp" "mecab-system-eval.cpp" "mecab-test-gen.cpp")
|
||
|
|
||
|
add_library (mecab ${SOURCE_FILE})
|
||
|
target_include_directories(mecab PUBLIC
|
||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||
|
$<INSTALL_INTERFACE:include>)
|
||
|
|
||
|
if(UNIX)
|
||
|
target_compile_definitions(mecab PUBLIC -DHAVE_UNISTD_H -DHAVE_FCNTL_H -DHAVE_STDINT_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_STAT_H -DHAVE_DIRENT_H -DDIC_VERSION=102 -DVERSION="@VERSION@" -DPACKAGE="mecab" -DMECAB_DEFAULT_RC="./mecabrc")
|
||
|
endif(UNIX)
|
||
|
if(WIN32)
|
||
|
target_compile_definitions(mecab PUBLIC -D_CRT_SECURE_NO_DEPRECATE -DMECAB_USE_THREAD -DDLL_EXPORT -DHAVE_GETENV -DHAVE_WINDOWS_H -DDIC_VERSION=102 -DVERSION="@VERSION@" -DPACKAGE="mecab" -DUNICODE -D_UNICODE -DMECAB_DEFAULT_RC="mecabrc")
|
||
|
endif(WIN32)
|
||
|
|
||
|
|
||
|
include (GNUInstallDirs)
|
||
|
include(CMakePackageConfigHelpers)
|
||
|
|
||
|
set (mecab_CMAKE_DIR share/mecab CACHE STRING "Installation dir")
|
||
|
set (targets_export_name mecabTargets CACHE INTERNAL "")
|
||
|
|
||
|
install(TARGETS mecab
|
||
|
EXPORT ${targets_export_name}
|
||
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||
|
)
|
||
|
|
||
|
install(FILES ${HEADERS_FILE} DESTINATION include/mecab CONFIGURATIONS Release)
|
||
|
|
||
|
install(EXPORT ${targets_export_name}
|
||
|
NAMESPACE mecab::
|
||
|
DESTINATION ${mecab_CMAKE_DIR})
|
||
|
|
||
|
configure_package_config_file(
|
||
|
"${PROJECT_SOURCE_DIR}/Config.cmake.in"
|
||
|
"${PROJECT_BINARY_DIR}/mecabConfig.cmake"
|
||
|
INSTALL_DESTINATION ${mecab_CMAKE_DIR})
|
||
|
|
||
|
|
||
|
write_basic_package_version_file(
|
||
|
${PROJECT_BINARY_DIR}/mecabConfigVersion.cmake
|
||
|
VERSION ${PROJECT_VERSION}
|
||
|
COMPATIBILITY SameMajorVersion )
|
||
|
|
||
|
install(FILES
|
||
|
${PROJECT_BINARY_DIR}/mecabConfig.cmake
|
||
|
${PROJECT_BINARY_DIR}/mecabConfigVersion.cmake
|
||
|
DESTINATION ${mecab_CMAKE_DIR})
|