1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188
|
# Copyright (C) 2015-2018 Brazil
# Copyright (C) 2024 Sutou Kouhei <kou@clear-code.com>
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# 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-1301 USA
set(GRN_FUNCTIONS_PLUGIN_DIR "${GRN_RELATIVE_PLUGINS_DIR}/functions")
read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/vector_sources.am VECTOR_SOURCES)
set_source_files_properties(${VECTOR_SOURCES}
PROPERTIES COMPILE_FLAGS "${GRN_C_COMPILE_FLAGS}")
if(GRN_EMBED)
add_library(vector_functions STATIC ${VECTOR_SOURCES})
set_target_properties(vector_functions PROPERTIES POSITION_INDEPENDENT_CODE
ON)
else()
add_library(vector_functions MODULE ${VECTOR_SOURCES})
set_target_properties(vector_functions PROPERTIES PREFIX "" OUTPUT_NAME
"vector")
install(TARGETS vector_functions DESTINATION "${GRN_FUNCTIONS_PLUGIN_DIR}")
if(MSVC AND CMAKE_VERSION VERSION_GREATER "3.1")
install(
FILES $<TARGET_PDB_FILE:vector_functions>
DESTINATION "${GRN_FUNCTIONS_PLUGIN_DIR}"
OPTIONAL)
endif()
endif()
target_link_libraries(vector_functions libgroonga)
read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/string_sources.am STRING_SOURCES)
set_source_files_properties(${STRING_SOURCES}
PROPERTIES COMPILE_FLAGS "${GRN_C_COMPILE_FLAGS}")
if(GRN_EMBED)
add_library(string_functions STATIC ${STRING_SOURCES})
set_target_properties(string_functions PROPERTIES POSITION_INDEPENDENT_CODE
ON)
else()
add_library(string_functions MODULE ${STRING_SOURCES})
set_target_properties(string_functions PROPERTIES PREFIX "" OUTPUT_NAME
"string")
install(TARGETS string_functions DESTINATION "${GRN_FUNCTIONS_PLUGIN_DIR}")
if(MSVC)
install(
FILES $<TARGET_PDB_FILE:string_functions>
DESTINATION "${GRN_FUNCTIONS_PLUGIN_DIR}"
OPTIONAL)
endif()
endif()
target_link_libraries(string_functions libgroonga onigmo)
target_include_directories(string_functions PRIVATE ${ONIGMO_INCLUDE_DIRS})
read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/number_sources.am NUMBER_SOURCES)
set_source_files_properties(${NUMBER_SOURCES}
PROPERTIES COMPILE_FLAGS "${GRN_CXX_COMPILE_FLAGS}")
if(GRN_EMBED)
add_library(number_functions STATIC ${NUMBER_SOURCES})
set_target_properties(number_functions PROPERTIES POSITION_INDEPENDENT_CODE
ON)
else()
add_library(number_functions MODULE ${NUMBER_SOURCES})
set_target_properties(number_functions PROPERTIES PREFIX "" OUTPUT_NAME
"number")
install(TARGETS number_functions DESTINATION "${GRN_FUNCTIONS_PLUGIN_DIR}")
if(MSVC)
install(
FILES $<TARGET_PDB_FILE:number_functions>
DESTINATION "${GRN_FUNCTIONS_PLUGIN_DIR}"
OPTIONAL)
endif()
endif()
target_link_libraries(number_functions libgroonga "${M_LIBS}")
read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/time_sources.am TIME_SOURCES)
set_source_files_properties(${TIME_SOURCES} PROPERTIES COMPILE_FLAGS
"${GRN_C_COMPILE_FLAGS}")
if(GRN_EMBED)
add_library(time_functions STATIC ${TIME_SOURCES})
set_target_properties(time_functions PROPERTIES POSITION_INDEPENDENT_CODE ON)
else()
add_library(time_functions MODULE ${TIME_SOURCES})
set_target_properties(time_functions PROPERTIES PREFIX "" OUTPUT_NAME "time")
install(TARGETS time_functions DESTINATION "${GRN_FUNCTIONS_PLUGIN_DIR}")
if(MSVC)
install(
FILES $<TARGET_PDB_FILE:time_functions>
DESTINATION "${GRN_FUNCTIONS_PLUGIN_DIR}"
OPTIONAL)
endif()
endif()
target_link_libraries(time_functions libgroonga)
read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/index_column_sources.am
INDEX_COLUMN_SOURCES)
set_source_files_properties(${INDEX_COLUMN_SOURCES}
PROPERTIES COMPILE_FLAGS "${GRN_C_COMPILE_FLAGS}")
if(GRN_EMBED)
add_library(index_column_functions STATIC ${INDEX_COLUMN_SOURCES})
set_target_properties(index_column_functions
PROPERTIES POSITION_INDEPENDENT_CODE ON)
else()
add_library(index_column_functions MODULE ${INDEX_COLUMN_SOURCES})
set_target_properties(index_column_functions
PROPERTIES PREFIX "" OUTPUT_NAME "index_column")
install(TARGETS index_column_functions
DESTINATION "${GRN_FUNCTIONS_PLUGIN_DIR}")
if(MSVC)
install(
FILES $<TARGET_PDB_FILE:index_column_functions>
DESTINATION "${GRN_FUNCTIONS_PLUGIN_DIR}"
OPTIONAL)
endif()
endif()
target_link_libraries(index_column_functions libgroonga)
read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/math_sources.am MATH_SOURCES)
set_source_files_properties(${MATH_SOURCES} PROPERTIES COMPILE_FLAGS
"${GRN_C_COMPILE_FLAGS}")
if(GRN_EMBED)
add_library(math_functions STATIC ${MATH_SOURCES})
set_target_properties(math_functions PROPERTIES POSITION_INDEPENDENT_CODE ON)
else()
add_library(math_functions MODULE ${MATH_SOURCES})
set_target_properties(math_functions PROPERTIES PREFIX "" OUTPUT_NAME "math")
install(TARGETS math_functions DESTINATION "${GRN_FUNCTIONS_PLUGIN_DIR}")
if(MSVC)
install(
FILES $<TARGET_PDB_FILE:math_functions>
DESTINATION "${GRN_FUNCTIONS_PLUGIN_DIR}"
OPTIONAL)
endif()
endif()
target_link_libraries(math_functions libgroonga)
if(GRN_WITH_H3)
set(H3_SOURCES h3.c)
set_source_files_properties(${H3_SOURCES} PROPERTIES COMPILE_FLAGS
"${GRN_C_COMPILE_FLAGS}")
if(GRN_EMBED)
add_library(h3_functions STATIC ${H3_SOURCES})
set_target_properties(h3_functions PROPERTIES POSITION_INDEPENDENT_CODE ON)
else()
add_library(h3_functions MODULE ${H3_SOURCES})
set_target_properties(h3_functions PROPERTIES PREFIX "" OUTPUT_NAME "h3")
install(TARGETS h3_functions DESTINATION "${GRN_FUNCTIONS_PLUGIN_DIR}")
if(MSVC)
install(
FILES $<TARGET_PDB_FILE:h3_functions>
DESTINATION "${GRN_FUNCTIONS_PLUGIN_DIR}"
OPTIONAL)
endif()
endif()
target_link_libraries(h3_functions libgroonga)
endif()
if(GRN_WITH_LLAMA_CPP)
set(LANGUAGE_MODEL_SOURCES language_model.c)
set_source_files_properties(${LANGUAGE_MODEL_SOURCES}
PROPERTIES COMPILE_FLAGS "${GRN_C_COMPILE_FLAGS}")
if(GRN_EMBED)
add_library(language_model_functions STATIC ${LANGUAGE_MODEL_SOURCES})
set_target_properties(language_model_functions
PROPERTIES POSITION_INDEPENDENT_CODE ON)
else()
add_library(language_model_functions MODULE ${LANGUAGE_MODEL_SOURCES})
set_target_properties(language_model_functions
PROPERTIES PREFIX "" OUTPUT_NAME "language_model")
install(TARGETS language_model_functions
DESTINATION "${GRN_FUNCTIONS_PLUGIN_DIR}")
if(MSVC)
install(
FILES $<TARGET_PDB_FILE:language_model_functions>
DESTINATION "${GRN_FUNCTIONS_PLUGIN_DIR}"
OPTIONAL)
endif()
endif()
target_link_libraries(language_model_functions libgroonga)
endif()
|