From a175314c3e5827eb193872241446f2f8f5c9d33c Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 4 May 2024 20:07:14 +0200 Subject: Adding upstream version 1:10.5.12. Signed-off-by: Daniel Baumann --- storage/mroonga/vendor/groonga/lib/CMakeLists.txt | 185 ++++++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 storage/mroonga/vendor/groonga/lib/CMakeLists.txt (limited to 'storage/mroonga/vendor/groonga/lib/CMakeLists.txt') diff --git a/storage/mroonga/vendor/groonga/lib/CMakeLists.txt b/storage/mroonga/vendor/groonga/lib/CMakeLists.txt new file mode 100644 index 00000000..8c71563f --- /dev/null +++ b/storage/mroonga/vendor/groonga/lib/CMakeLists.txt @@ -0,0 +1,185 @@ +# Copyright(C) 2012-2016 Brazil +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License version 2.1 as published by the Free Software Foundation. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA + +add_definitions( + -DGRN_DAT_EXPORT + ) + +include_directories( + ${CMAKE_CURRENT_SOURCE_DIR}/dat + ${ONIGMO_INCLUDE_DIRS} + ${MRUBY_INCLUDE_DIRS} + ${LIBLZ4_INCLUDE_DIRS} + ${LIBZSTD_INCLUDE_DIRS} + ${MESSAGE_PACK_INCLUDE_DIRS}) + +read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/c_sources.am LIBGROONGA_C_SOURCES) +read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/cpp_sources.am LIBGROONGA_CPP_SOURCES) +read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/dat/sources.am LIBGRNDAT_SOURCES) +string(REGEX REPLACE "([^;]+)" "dat/\\1" + LIBGRNDAT_SOURCES "${LIBGRNDAT_SOURCES}") +read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/mrb/sources.am LIBGRNMRB_SOURCES) +string(REGEX REPLACE "([^;]+)" "mrb/\\1" + LIBGRNMRB_SOURCES "${LIBGRNMRB_SOURCES}") +read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/proc/sources.am LIBGRNPROC_SOURCES) +string(REGEX REPLACE "([^;]+)" "proc/\\1" + LIBGRNPROC_SOURCES "${LIBGRNPROC_SOURCES}") +read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/ts/sources.am LIBGRNTS_SOURCES) +string(REGEX REPLACE "([^;]+)" "ts/\\1" + LIBGRNTS_SOURCES "${LIBGRNTS_SOURCES}") + +if(WIN32) + configure_file( + "metadata.rc.in" + "${CMAKE_CURRENT_BINARY_DIR}/metadata.rc" + @ONLY) + set(LIBGROONGA_METADATA_SOURCES + "${CMAKE_CURRENT_BINARY_DIR}/metadata.rc") +else() + set(LIBGROONGA_METADATA_SOURCES) +endif() + +set_source_files_properties( + ${LIBGROONGA_C_SOURCES} + ${LIBGRNMRB_SOURCES} + ${LIBGRNPROC_SOURCES} + ${LIBGRNTS_SOURCES} + PROPERTIES + COMPILE_FLAGS "${GRN_C_COMPILE_FLAGS}") +set_source_files_properties( + ${LIBGROONGA_C_SOURCES} + ${LIBGROONGA_CPP_SOURCES} + ${LIBGRNMRB_SOURCES} + PROPERTIES + COMPILE_DEFINITIONS "${MRUBY_DEFINITIONS}") +set_source_files_properties( + ${LIBGROONGA_CPP_SOURCES} + ${LIBGRNDAT_SOURCES} + PROPERTIES + COMPILE_FLAGS "${GRN_CXX_COMPILE_FLAGS}") + +set(GRN_ALL_SOURCES + ${LIBGROONGA_C_SOURCES} + ${LIBGROONGA_CPP_SOURCES} + ${LIBGRNDAT_SOURCES} + ${LIBGRNMRB_SOURCES} + ${LIBGRNPROC_SOURCES} + ${LIBGRNTS_SOURCES} + ${LIBGROONGA_METADATA_SOURCES}) +if(GRN_EMBED) + add_library(libgroonga STATIC ${GRN_ALL_SOURCES}) + set_target_properties( + libgroonga + PROPERTIES + POSITION_INDEPENDENT_CODE ON) +else() + add_library(libgroonga SHARED ${GRN_ALL_SOURCES}) +endif() +set_target_properties(libgroonga PROPERTIES OUTPUT_NAME "groonga") + +set(GRN_ALL_LIBRARIES + ${EXECINFO_LIBS} + ${RT_LIBS} + ${PTHREAD_LIBS} + ${Z_LIBS} + ${LZ4_LIBS} + ${LIBZSTD_LIBS} + ${MESSAGE_PACK_LIBS} + ${CMAKE_DL_LIBS} + ${M_LIBS} + ${WS2_32_LIBS} + ${MRUBY_LIBS} + ${ONIGMO_LIBS}) +if(GRN_EMBED) + set(GRN_EMBEDDED_PLUGIN_LIBRARIES "") + if(GRN_WITH_MECAB) + list(APPEND GRN_EMBEDDED_PLUGIN_LIBRARIES mecab_tokenizer) + endif() + target_link_libraries(libgroonga + ${GRN_ALL_LIBRARIES} + ${STDCPP_LIBS} + ${GRN_EMBEDDED_PLUGIN_LIBRARIES}) +else() + target_link_libraries(libgroonga + ${GRN_ALL_LIBRARIES}) + install(TARGETS libgroonga + ARCHIVE DESTINATION "${LIB_DIR}" + LIBRARY DESTINATION "${LIB_DIR}" + RUNTIME DESTINATION "${BIN_DIR}") +endif() + +if(GRN_WITH_MRUBY) + read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/mrb/scripts/sources.am + RUBY_SCRIPTS) + string(REGEX REPLACE "([^;]+)" "mrb/scripts/\\1" + RUBY_SCRIPTS "${RUBY_SCRIPTS}") + install( + FILES ${RUBY_SCRIPTS} + DESTINATION "${GRN_RELATIVE_RUBY_SCRIPTS_DIR}") + + read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/mrb/scripts/command_line/sources.am + COMMANE_LINE_RUBY_SCRIPTS) + string(REGEX REPLACE "([^;]+)" "mrb/scripts/command_line/\\1" + COMMANE_LINE_RUBY_SCRIPTS "${COMMANE_LINE_RUBY_SCRIPTS}") + install( + FILES ${COMMANE_LINE_RUBY_SCRIPTS} + DESTINATION "${GRN_RELATIVE_RUBY_SCRIPTS_DIR}/command_line") + + read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/mrb/scripts/context/sources.am + CONTEXT_RUBY_SCRIPTS) + string(REGEX REPLACE "([^;]+)" "mrb/scripts/context/\\1" + CONTEXT_RUBY_SCRIPTS "${CONTEXT_RUBY_SCRIPTS}") + install( + FILES ${CONTEXT_RUBY_SCRIPTS} + DESTINATION "${GRN_RELATIVE_RUBY_SCRIPTS_DIR}/context") + + read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/mrb/scripts/initialize/sources.am + INITIALIZE_RUBY_SCRIPTS) + string(REGEX REPLACE "([^;]+)" "mrb/scripts/initialize/\\1" + INITIALIZE_RUBY_SCRIPTS "${INITIALIZE_RUBY_SCRIPTS}") + install( + FILES ${INITIALIZE_RUBY_SCRIPTS} + DESTINATION "${GRN_RELATIVE_RUBY_SCRIPTS_DIR}/initialize") + + read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/mrb/scripts/logger/sources.am + LOGGER_RUBY_SCRIPTS) + string(REGEX REPLACE "([^;]+)" "mrb/scripts/logger/\\1" + LOGGER_RUBY_SCRIPTS "${LOGGER_RUBY_SCRIPTS}") + install( + FILES ${LOGGER_RUBY_SCRIPTS} + DESTINATION "${GRN_RELATIVE_RUBY_SCRIPTS_DIR}/logger") + + read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/mrb/scripts/query_logger/sources.am + QUERY_LOGGER_RUBY_SCRIPTS) + string(REGEX REPLACE "([^;]+)" "mrb/scripts/query_logger/\\1" + QUERY_LOGGER_RUBY_SCRIPTS "${QUERY_LOGGER_RUBY_SCRIPTS}") + install( + FILES ${QUERY_LOGGER_RUBY_SCRIPTS} + DESTINATION "${GRN_RELATIVE_RUBY_SCRIPTS_DIR}/query_logger") + + read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/mrb/scripts/expression_tree/sources.am + EXPRESSION_TREE_RUBY_SCRIPTS) + string(REGEX REPLACE "([^;]+)" "mrb/scripts/expression_tree/\\1" + EXPRESSION_TREE_RUBY_SCRIPTS "${EXPRESSION_TREE_RUBY_SCRIPTS}") + install( + FILES ${EXPRESSION_TREE_RUBY_SCRIPTS} + DESTINATION "${GRN_RELATIVE_RUBY_SCRIPTS_DIR}/expression_tree") +endif() + +# Workaround GCC ICE on ARM64 +IF(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64" AND + CMAKE_C_COMPILER_VERSION VERSION_GREATER "5") + ADD_COMPILE_FLAGS(ts/ts_expr_node.c COMPILE_FLAGS "-fno-tree-loop-vectorize") +ENDIF() -- cgit v1.2.3