Kouhei Sutou 2019-03-22 16:47:41 +0900 (Fri, 22 Mar 2019) Revision: bb4dd313e0e6421765c68e0951e080f24e6e0327 https://github.com/groonga/groonga/commit/bb4dd313e0e6421765c68e0951e080f24e6e0327 Message: cmake: use bundled libraries as fallback Modified files: CMakeLists.txt appveyor.yml Modified: CMakeLists.txt (+92 -82) =================================================================== --- CMakeLists.txt 2019-03-22 14:13:13 +0900 (3903cde66) +++ CMakeLists.txt 2019-03-22 16:47:41 +0900 (d0f56a285) @@ -394,31 +394,34 @@ file(READ "${CMAKE_CURRENT_SOURCE_DIR}/bundled_lz4_version" string(STRIP "${GRN_BUNDLED_LZ4_VERSION}" GRN_BUNDLED_LZ4_VERSION) -option(GRN_WITH_BUNDLED_LZ4 "use bundled LZ4" OFF) +set(GRN_WITH_BUNDLED_LZ4 FALSE) set(GRN_WITH_LZ4 "auto" CACHE STRING "Support data compression by LZ4.") if(NOT ${GRN_WITH_LZ4} STREQUAL "no") - if(GRN_WITH_BUNDLED_LZ4) - set(LIBLZ4_INCLUDE_DIRS - "${CMAKE_CURRENT_SOURCE_DIR}/vendor/lz4-${GRN_BUNDLED_LZ4_VERSION}/lib") - set(LIBLZ4_LIBS liblz4) - else() - if(NOT DEFINED LIBLZ4_FOUND) - pkg_check_modules(LIBLZ4 liblz4) - unset(LIBLZ4_LIBS) - unset(LIBLZ4_LIBS CACHE) + if(NOT DEFINED LIBLZ4_FOUND) + pkg_check_modules(LIBLZ4 liblz4) + unset(LIBLZ4_LIBS) + unset(LIBLZ4_LIBS CACHE) + endif() + if(LIBLZ4_FOUND) + if(${LIBLZ4_LIBRARY_DIRS}) + find_library(LIBLZ4_LIBS + NAMES ${LIBLZ4_LIBRARIES} + PATHS ${LIBLZ4_LIBRARY_DIRS} + NO_DEFAULT_PATH) + else() + find_library(LIBLZ4_LIBS + NAMES ${LIBLZ4_LIBRARIES}) endif() - if(LIBLZ4_FOUND) - if(${LIBLZ4_LIBRARY_DIRS}) - find_library(LIBLZ4_LIBS - NAMES ${LIBLZ4_LIBRARIES} - PATHS ${LIBLZ4_LIBRARY_DIRS} - NO_DEFAULT_PATH) - else() - find_library(LIBLZ4_LIBS - NAMES ${LIBLZ4_LIBRARIES}) - endif() + set(GRN_WITH_LZ4 TRUE) + else() + set(GRN_BUNDLDED_LZ4_DIR + "${CMAKE_CURRENT_SOURCE_DIR}/vendor/lz4-${GRN_BUNDLED_LZ4_VERSION}") + if(EXISTS ${GRN_BUNDLED_LZ4_DIR}) + set(LIBLZ4_INCLUDE_DIRS "${GRN_BUNDLED_LZ4_DIR}/lib") + set(LIBLZ4_LIBS liblz4) + set(GRN_WITH_BUNDLED_LZ4 TRUE) set(GRN_WITH_LZ4 TRUE) else() if(${GRN_WITH_LZ4} STREQUAL "yes") @@ -427,6 +430,8 @@ if(NOT ${GRN_WITH_LZ4} STREQUAL "no") set(GRN_WITH_LZ4 FALSE) endif() endif() +else() + set(GRN_WITH_LZ4 FALSE) endif() @@ -440,42 +445,44 @@ file(READ "${CMAKE_CURRENT_SOURCE_DIR}/bundled_mecab_naist_jdic_version" string(STRIP "${GRN_BUNDLED_MECAB_NAIST_JDIC_VERSION}" GRN_BUNDLED_MECAB_NAIST_JDIC_VERSION) -option(GRN_WITH_BUNDLED_MECAB "use bundled MeCab" OFF) +set(GRN_WITH_BUNDLED_MECAB FALSE) set(GRN_WITH_MECAB "auto" CACHE STRING "use MeCab for morphological analysis") if(NOT ${GRN_WITH_MECAB} STREQUAL "no") - if(GRN_WITH_BUNDLED_MECAB) - set(MECAB_INCLUDE_DIRS - "${CMAKE_CURRENT_SOURCE_DIR}/vendor/mecab-${GRN_BUNDLED_MECAB_VERSION}/src") - set(MECAB_LIBRARY_DIRS - "${CMAKE_CURRENT_BUILD_DIR}/vendor/mecab") - set(MECAB_LIBRARIES libmecab) - else() - set(GRN_MECAB_CONFIG "mecab-config" CACHE FILEPATH "mecab-config path") - if(NOT CMAKE_CROSSCOMPILING) - find_program(GRN_MECAB_CONFIG_ABSOLUTE_PATH "${GRN_MECAB_CONFIG}") - endif() - if(EXISTS "${GRN_MECAB_CONFIG_ABSOLUTE_PATH}") - execute_process(COMMAND "${GRN_MECAB_CONFIG_ABSOLUTE_PATH}" --inc-dir - OUTPUT_VARIABLE MECAB_INCLUDE_DIRS - OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND "${GRN_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(GRN_WITH_MECAB TRUE) - else() - if(${GRN_WITH_MECAB} STREQUAL "yes") - message(FATAL_ERROR - "No MeCab library found: " - "include directories: <${MECAB_INCLUDE_DIRS}>, " - "library directories: <${MECAB_LIBRARY_DIRS}>") - endif() - set(GRN_WITH_MECAB FALSE) + set(GRN_MECAB_CONFIG "mecab-config" CACHE FILEPATH "mecab-config path") + if(NOT CMAKE_CROSSCOMPILING) + find_program(GRN_MECAB_CONFIG_ABSOLUTE_PATH "${GRN_MECAB_CONFIG}") + endif() + if(EXISTS "${GRN_MECAB_CONFIG_ABSOLUTE_PATH}") + execute_process(COMMAND "${GRN_MECAB_CONFIG_ABSOLUTE_PATH}" --inc-dir + OUTPUT_VARIABLE MECAB_INCLUDE_DIRS + OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND "${GRN_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(GRN_WITH_MECAB TRUE) + else() + if(${GRN_WITH_MECAB} STREQUAL "yes") + message(FATAL_ERROR + "No MeCab library found: " + "include directories: <${MECAB_INCLUDE_DIRS}>, " + "library directories: <${MECAB_LIBRARY_DIRS}>") endif() + set(GRN_WITH_MECAB FALSE) + endif() + else() + set(GRN_BUNDLED_MECAB_DIR + "${CMAKE_CURRENT_SOURCE_DIR}/vendor/mecab-${GRN_BUNDLED_MECAB_VERSION}") + if(EXISTS ${GRN_BUNDLED_MECAB_DIR}) + set(MECAB_INCLUDE_DIRS "${GRN_BUNDLED_MECAB_DIR}/src") + set(MECAB_LIBRARY_DIRS "${CMAKE_CURRENT_BUILD_DIR}/vendor/mecab") + set(MECAB_LIBRARIES libmecab) + set(GRN_WITH_MECAB TRUE) + set(GRN_WITH_BUNDLED_MECAB TRUE) else() if(${GRN_WITH_MECAB} STREQUAL "yes") message(FATAL_ERROR "No mecab-config found: <${GRN_MECAB_CONFIG}>") @@ -587,46 +594,49 @@ file(READ "${CMAKE_CURRENT_SOURCE_DIR}/bundled_message_pack_version" string(STRIP "${GRN_BUNDLED_MESSAGE_PACK_VERSION}" GRN_BUNDLED_MESSAGE_PACK_VERSION) -option(GRN_WITH_BUNDLED_MESSAGE_PACK "use bundled MessagePack" OFF) +set(GRN_WITH_BUNDLED_MESSAGE_PACK FALSE) set(GRN_WITH_MESSAGE_PACK "auto" CACHE STRING "use MessagePack for suggestion") if(NOT ${GRN_WITH_MESSAGE_PACK} STREQUAL "no") - if(GRN_WITH_BUNDLED_MESSAGE_PACK) - set(MESSAGE_PACK_INCLUDE_DIRS - "${CMAKE_CURRENT_SOURCE_DIR}/vendor/msgpack-${GRN_BUNDLED_MESSAGE_PACK_VERSION}/include") - set(MESSAGE_PACK_LIBS msgpackc) + if(NOT DEFINED MESSAGE_PACK_FOUND) + pkg_check_modules(MESSAGE_PACK msgpack) + unset(MESSAGE_PACK_LIBS) + unset(MESSAGE_PACK_LIBS CACHE) + endif() + if(MESSAGE_PACK_FOUND) + if(${MESSAGE_PACK_LIBRARY_DIRS}) + find_library(MESSAGE_PACK_LIBS + NAMES ${MESSAGE_PACK_LIBRARIES} + PATHS ${MESSAGE_PACK_LIBRARY_DIRS} + NO_DEFAULT_PATH) + else() + find_library(MESSAGE_PACK_LIBS + NAMES ${MESSAGE_PACK_LIBRARIES}) + endif() + set(GRN_WITH_MESSAGE_PACK TRUE) else() - if(NOT DEFINED MESSAGE_PACK_FOUND) - pkg_check_modules(MESSAGE_PACK msgpack) - unset(MESSAGE_PACK_LIBS) - unset(MESSAGE_PACK_LIBS CACHE) + if("${GRN_WITH_MESSAGE_PACK}" STREQUAL "yes" OR + "${GRN_WITH_MESSAGE_PACK}" STREQUAL "auto") + set(MESSAGE_PACK_INCLUDE_DIRS "") + set(MESSAGE_PACK_LIBRARY_DIRS "") + else() + set(MESSAGE_PACK_INCLUDE_DIRS "${GRN_WITH_MESSAGE_PACK}/include") + set(MESSAGE_PACK_LIBRARY_DIRS "${GRN_WITH_MESSAGE_PACK}/lib") endif() - if(MESSAGE_PACK_FOUND) - if(${MESSAGE_PACK_LIBRARY_DIRS}) - find_library(MESSAGE_PACK_LIBS - NAMES ${MESSAGE_PACK_LIBRARIES} - PATHS ${MESSAGE_PACK_LIBRARY_DIRS} - NO_DEFAULT_PATH) - else() - find_library(MESSAGE_PACK_LIBS - NAMES ${MESSAGE_PACK_LIBRARIES}) - endif() + set(CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES}) + ac_check_lib(msgpackc msgpack_version "${MESSAGE_PACK_LIBRARY_DIRS}") + set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE}) + if(HAVE_LIBMSGPACKC) + set(MESSAGE_PACK_LIBS msgpackc) set(GRN_WITH_MESSAGE_PACK TRUE) else() - if("${GRN_WITH_MESSAGE_PACK}" STREQUAL "yes" OR - "${GRN_WITH_MESSAGE_PACK}" STREQUAL "auto") - set(MESSAGE_PACK_INCLUDE_DIRS "") - set(MESSAGE_PACK_LIBRARY_DIRS "") - else() - set(MESSAGE_PACK_INCLUDE_DIRS "${GRN_WITH_MESSAGE_PACK}/include") - set(MESSAGE_PACK_LIBRARY_DIRS "${GRN_WITH_MESSAGE_PACK}/lib") - endif() - set(CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES}) - ac_check_lib(msgpackc msgpack_version "${MESSAGE_PACK_LIBRARY_DIRS}") - set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE}) - if(HAVE_LIBMSGPACKC) + set(GRN_BUNDLED_MESSAGE_PACK_DIR + "${CMAKE_CURRENT_SOURCE_DIR}/vendor/msgpack-${GRN_BUNDLED_MESSAGE_PACK_VERSION}") + if(EXISTS "${GRN_BUNDLED_MESSAGE_PACK_DIR}") + set(MESSAGE_PACK_INCLUDE_DIRS "${GRN_BUNDLED_MESSAGE_PACK_DIR}/include") set(MESSAGE_PACK_LIBS msgpackc) + set(GRN_WITH_BUNDLED_MESSAGE_PACK TRUE) set(GRN_WITH_MESSAGE_PACK TRUE) else() if(${GRN_WITH_MESSAGE_PACK} STREQUAL "yes") Modified: appveyor.yml (+0 -3) =================================================================== --- appveyor.yml 2019-03-22 14:13:13 +0900 (af1bf0979) +++ appveyor.yml 2019-03-22 16:47:41 +0900 (ca49cb2ad) @@ -86,9 +86,6 @@ build_script: - cmake . -G "%CMAKE_GENERATOR_NAME%" -DCMAKE_INSTALL_PREFIX=%FULL_GROONGA_INSTALL_FOLDER% -DGRN_WITH_MRUBY=yes - -DGRN_WITH_BUNDLED_MECAB=yes - -DGRN_WITH_BUNDLED_MESSAGE_PACK=yes - -DGRN_WITH_BUNDLED_LZ4=yes - set CMAKE_BUILD_PARALLEL_LEVEL=4 - cmake --build . --config RelWithDebInfo - cmake --build . --config RelWithDebInfo --target Install -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20190322/29990e29/attachment-0001.html>