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)