null+****@clear*****
null+****@clear*****
2012年 4月 15日 (日) 18:23:28 JST
Kouhei Sutou 2012-04-15 18:23:28 +0900 (Sun, 15 Apr 2012)
New Revision: 5142ffcc5131f201ce25df57f8d4a8907430bf00
Log:
cmake: support MeCab tokenizer build
Modified files:
CMakeLists.txt
plugins/tokenizers/CMakeLists.txt
Modified: CMakeLists.txt (+23 -9)
===================================================================
--- CMakeLists.txt 2012-04-15 18:03:29 +0900 (bd147c9)
+++ CMakeLists.txt 2012-04-15 18:23:28 +0900 (4cc4232)
@@ -111,19 +111,33 @@ set(WITH_MECAB "auto"
if(NOT ${WITH_MECAB} STREQUAL "no")
set(MECAB_CONFIG "mecab-config" CACHE FILEPATH "mecab-config path")
if(NOT CMAKE_CROSSCOMPILING)
- find_program(MECAB_CONFIG "${MECAB_CONFIG}")
+ find_program(MECAB_CONFIG_ABSOLUTE_PATH "${MECAB_CONFIG}")
endif()
- if(EXISTS "${MECAB_CONFIG}")
- execute_process(COMMAND "${MECAB_CONFIG}" --inc-dir
- OUTPUT_VARIABLE MECAB_CPPFLAGS)
- execute_process(COMMAND "${MECAB_CONFIG}" --libs-only-L
- OUTPUT_VARIABLE MECAB_LDFLAGS)
- ac_check_lib(mecab mecab_new)
+ if(EXISTS "${MECAB_CONFIG_ABSOLUTE_PATH}")
+ execute_process(COMMAND "${MECAB_CONFIG_ABSOLUTE_PATH}" --inc-dir
+ OUTPUT_VARIABLE MECAB_INCLUDE_DIRS
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ execute_process(COMMAND "${MECAB_CONFIG_ABSOLUTE_PATH}" --libs-only-L
+ OUTPUT_VARIABLE MECAB_LIBRARY_DIRS
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ set(MECAB_LIBRARIES "mecab")
+ ac_check_lib(${MECAB_LIBRARIES} mecab_new)
+ if(HAVE_LIBMECAB)
+ set(WITH_MECAB TRUE)
+ else()
+ if(${WITH_MECAB} STREQUAL "yes")
+ message(FATAL_ERROR
+ "No MeCab library found: "
+ "include directories: <${MECAB_INCLUDE_DIRS}>, "
+ "library directories: <${MECAB_LIBRARY_DIRS}>")
+ endif()
+ set(WITH_MECAB FALSE)
+ endif()
else()
- set(WITH_MECAB FALSE)
if(${WITH_MECAB} STREQUAL "yes")
- message(FATAL_ERROR "No MeCab found")
+ message(FATAL_ERROR "No mecab-config found: <${MECAB_CONFIG}>")
endif()
+ set(WITH_MECAB FALSE)
endif()
else()
set(WITH_MECAB FALSE)
Modified: plugins/tokenizers/CMakeLists.txt (+5 -3)
===================================================================
--- plugins/tokenizers/CMakeLists.txt 2012-04-15 18:03:29 +0900 (e6c4654)
+++ plugins/tokenizers/CMakeLists.txt 2012-04-15 18:23:28 +0900 (b8d62c3)
@@ -21,9 +21,11 @@ include_directories(
if(WITH_MECAB)
read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/mecab_sources.am MECAB_SOURCES)
- add_library(mecab MODULE ${MECAB_SOURCES})
- set_target_properties(mecab PROPERTIES PREFIX "")
- target_link_libraries(mecab ${LIBGROONGA})
+ include_directories(${MECAB_INCLUDE_DIRS})
+ link_directories(${MECAB_LIBRARY_DIRS})
+ add_library(mecab_tokenizer MODULE ${MECAB_SOURCES})
+ set_target_properties(mecab_tokenizer PROPERTIES PREFIX "")
+ target_link_libraries(mecab_tokenizer ${LIBGROONGA} ${MECAB_LIBRARIES})
endif()
if(WITH_KYTEA)