[Groonga-commit] groonga/groonga at ab0f068 [master] cmake: add GRN_EMBED option to build Groonga for embedding

Back to archive index

Kouhei Sutou null+****@clear*****
Mon Feb 2 23:05:52 JST 2015


Kouhei Sutou	2015-02-02 23:05:52 +0900 (Mon, 02 Feb 2015)

  New Revision: ab0f068a0a9f9916411a1d6410b6f72236d196cd
  https://github.com/groonga/groonga/commit/ab0f068a0a9f9916411a1d6410b6f72236d196cd

  Message:
    cmake: add GRN_EMBED option to build Groonga for embedding

  Modified files:
    CMakeLists.txt
    data/CMakeLists.txt
    data/html/CMakeLists.txt
    include/CMakeLists.txt
    lib/CMakeLists.txt
    plugins/query_expanders/CMakeLists.txt
    plugins/ruby/CMakeLists.txt
    plugins/suggest/CMakeLists.txt
    plugins/table/CMakeLists.txt
    plugins/tokenizers/CMakeLists.txt
    src/CMakeLists.txt
    src/suggest/CMakeLists.txt

  Modified: CMakeLists.txt (+14 -8)
===================================================================
--- CMakeLists.txt    2015-02-02 22:39:05 +0900 (8c1a641)
+++ CMakeLists.txt    2015-02-02 23:05:52 +0900 (a3f4640)
@@ -1,4 +1,4 @@
-# Copyright(C) 2012-2014 Brazil
+# Copyright(C) 2012-2015 Brazil
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -44,6 +44,10 @@ include(CheckCXXCompilerFlag)
 include(FindPkgConfig)
 include(${CMAKE_CURRENT_SOURCE_DIR}/build/cmake_modules/ReadFileList.cmake)
 
+option(GRN_EMBED
+  "Build as a static library to embed into an application"
+  OFF)
+
 set(BIN_DIR "bin")
 set(SBIN_DIR "sbin")
 set(LIB_DIR "lib")
@@ -150,7 +154,7 @@ if(CMAKE_COMPILER_IS_GNUCXX)
   check_cxxflag("-fexceptions")
   check_cxxflag("-fimplicit-templates")
   check_build_flag("-Wno-clobbered")
-  if(MRN_GROONGA_BUNDLED)
+  if(GRN_EMBED)
     check_build_flag("-fPIC")
   endif()
 endif()
@@ -228,7 +232,7 @@ ac_check_lib(rt clock_gettime)
 if(HAVE_LIBRT)
   set(HAVE_CLOCK_GETTIME TRUE)
 endif()
-if(MRN_GROONGA_BUNDLED)
+if(GRN_EMBED)
   check_library_exists(stdc++ __cxa_begin_catch "${ARG2}"
     STDCPP)
   if(STDCPP)
@@ -504,10 +508,12 @@ endif()
 
 add_subdirectory(vendor)
 add_subdirectory(lib)
-add_subdirectory(src)
-add_subdirectory(plugins)
-add_subdirectory(include)
-add_subdirectory(data)
+if(NOT GRN_EMBED)
+  add_subdirectory(src)
+  add_subdirectory(plugins)
+  add_subdirectory(include)
+  add_subdirectory(data)
+endif()
 
 configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
 
@@ -531,7 +537,7 @@ set(GRN_EXPANDED_DEFAULT_DOCUMENT_ROOT "${GRN_DEFAULT_DOCUMENT_ROOT}")
 set(EXEEXT "${CMAKE_EXECUTABLE_SUFFIX}")
 configure_file(groonga.pc.in "${CMAKE_CURRENT_BINARY_DIR}/groonga.pc" @ONLY)
 
-if(NOT MRN_GROONGA_BUNDLED)
+if(NOT GRN_EMBED)
   install(
     FILES "${CMAKE_CURRENT_BINARY_DIR}/groonga.pc"
     DESTINATION "${LIB_DIR}/pkgconfig/")

  Modified: data/CMakeLists.txt (+1 -3)
===================================================================
--- data/CMakeLists.txt    2015-02-02 22:39:05 +0900 (003445a)
+++ data/CMakeLists.txt    2015-02-02 23:05:52 +0900 (7f766ef)
@@ -15,6 +15,4 @@
 
 add_subdirectory(html)
 
-if(NOT MRN_GROONGA_BUNDLED)
-  install(FILES groonga.conf DESTINATION "${GRN_CONFIG_DIR}/")
-endif()
+install(FILES groonga.conf DESTINATION "${GRN_CONFIG_DIR}/")

  Modified: data/html/CMakeLists.txt (+1 -3)
===================================================================
--- data/html/CMakeLists.txt    2015-02-02 22:39:05 +0900 (1c96d89)
+++ data/html/CMakeLists.txt    2015-02-02 23:05:52 +0900 (b6ccf55)
@@ -13,6 +13,4 @@
 # License along with this library; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
-if(NOT MRN_GROONGA_BUNDLED)
-  install(DIRECTORY admin DESTINATION "${GRN_DATA_DIR}/html")
-endif()
+install(DIRECTORY admin DESTINATION "${GRN_DATA_DIR}/html")

  Modified: include/CMakeLists.txt (+3 -5)
===================================================================
--- include/CMakeLists.txt    2015-02-02 22:39:05 +0900 (96e2247)
+++ include/CMakeLists.txt    2015-02-02 23:05:52 +0900 (7594c6e)
@@ -13,8 +13,6 @@
 # License along with this library; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
-if(NOT MRN_GROONGA_BUNDLED)
-  install(FILES groonga.h DESTINATION "${GRN_INCLUDE_DIR}")
-  install(DIRECTORY groonga DESTINATION "${GRN_INCLUDE_DIR}"
-    FILES_MATCHING PATTERN "*.h")
-endif()
+install(FILES groonga.h DESTINATION "${GRN_INCLUDE_DIR}")
+install(DIRECTORY groonga DESTINATION "${GRN_INCLUDE_DIR}"
+  FILES_MATCHING PATTERN "*.h")

  Modified: lib/CMakeLists.txt (+19 -30)
===================================================================
--- lib/CMakeLists.txt    2015-02-02 22:39:05 +0900 (2177440)
+++ lib/CMakeLists.txt    2015-02-02 23:05:52 +0900 (2103436)
@@ -39,56 +39,45 @@ set_source_files_properties(dat.cpp ${LIBGRNDAT_SOURCES}
   PROPERTIES
   COMPILE_FLAGS "${GRN_CXX_COMPILE_FLAGS}")
 
-if(MRN_GROONGA_BUNDLED)
-  add_library(libgroonga STATIC
-    ${LIBGROONGA_SOURCES}
-    ${LIBGRNDAT_SOURCES}
-    ${LIBGRNMRB_SOURCES}
-    ${MRUBY_LIBS})
+set(GRN_ALL_SOURCES
+  ${LIBGROONGA_SOURCES}
+  ${LIBGRNDAT_SOURCES}
+  ${LIBGRNMRB_SOURCES}
+  ${MRUBY_LIBS})
+if(GRN_EMBED)
+  add_library(libgroonga STATIC ${GRN_ALL_SOURCES})
 else()
-  add_library(libgroonga SHARED
-    ${LIBGROONGA_SOURCES}
-    ${LIBGRNDAT_SOURCES}
-    ${LIBGRNMRB_SOURCES}
-    ${MRUBY_LIBS})
+  add_library(libgroonga SHARED ${GRN_ALL_SOURCES})
 endif()
 set_target_properties(libgroonga PROPERTIES OUTPUT_NAME "groonga")
-if(NOT MRN_GROONGA_BUNDLED)
-  target_link_libraries(libgroonga
+
+set(GRN_ALL_LIBRARIES
     ${EXECINFO_LIBS}
     ${RT_LIBS}
     ${PTHREAD_LIBS}
     ${Z_LIBS}
     ${LIBLZ4_LIBRARIES}
     ${DL_LIBS}
+    ${M_LIBS}
     ${WS2_32_LIBS})
+if(GRN_EMBED)
+  target_link_libraries(libgroonga
+    ${GRN_ALL_LIBRARIES}
+    ${STDCPP_LIBS})
+else()
+  target_link_libraries(libgroonga
+    ${GRN_ALL_LIBRARIES})
   install(TARGETS libgroonga
     ARCHIVE DESTINATION "${LIB_DIR}"
     LIBRARY DESTINATION "${LIB_DIR}"
     RUNTIME DESTINATION "${BIN_DIR}")
-else()
-  target_link_libraries(libgroonga
-    ${EXECINFO_LIBS}
-    ${RT_LIBS}
-    ${PTHREAD_LIBS}
-    ${Z_LIBS}
-    ${LIBLZ4_LIBRARIES}
-    ${DL_LIBS}
-    ${M_LIBS}
-    ${STDCPP_LIBS}
-    ${WS2_32_LIBS})
 endif()
 
-if(GRN_WITH_MRUBY)
+if(GRN_WITH_MRUBY AND NOT GRN_EMBED)
   read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/mrb/scripts/sources.am
     RUBY_SCRIPTS)
   string(REGEX REPLACE "([^;]+)" "mrb/scripts/\\1"
     RUBY_SCRIPTS "${RUBY_SCRIPTS}")
-  if(NOT MRN_GROONGA_BUNDLED)
-    install(
-      FILES ${RUBY_SCRIPTS}
-      DESTINATION "${GRN_RELATIVE_RUBY_SCRIPTS_DIR}")
-  endif()
   install(
     FILES ${RUBY_SCRIPTS}
     DESTINATION "${GRN_RELATIVE_RUBY_SCRIPTS_DIR}")

  Modified: plugins/query_expanders/CMakeLists.txt (+1 -3)
===================================================================
--- plugins/query_expanders/CMakeLists.txt    2015-02-02 22:39:05 +0900 (1e2a2c2)
+++ plugins/query_expanders/CMakeLists.txt    2015-02-02 23:05:52 +0900 (57d11ab)
@@ -27,6 +27,4 @@ set_target_properties(tsv_query_expander PROPERTIES
   PREFIX ""
   OUTPUT_NAME "tsv")
 target_link_libraries(tsv_query_expander libgroonga)
-if(NOT MRN_GROONGA_BUNDLED)
-  install(TARGETS tsv_query_expander DESTINATION "${QUERY_EXPANDERS_DIR}")
-endif()
+install(TARGETS tsv_query_expander DESTINATION "${QUERY_EXPANDERS_DIR}")

  Modified: plugins/ruby/CMakeLists.txt (+2 -6)
===================================================================
--- plugins/ruby/CMakeLists.txt    2015-02-02 22:39:05 +0900 (d82b154)
+++ plugins/ruby/CMakeLists.txt    2015-02-02 23:05:52 +0900 (ba7deaf)
@@ -27,9 +27,7 @@ if(GRN_WITH_MRUBY)
     COMPILE_FLAGS "${GRN_C_COMPILE_FLAGS}")
   set_target_properties(eval PROPERTIES PREFIX "")
   target_link_libraries(eval libgroonga)
-  if(NOT MRN_GROONGA_BUNDLED)
-    install(TARGETS eval DESTINATION "${GRN_RELATIVE_RUBY_PLUGINS_DIR}")
-  endif()
+  install(TARGETS eval DESTINATION "${GRN_RELATIVE_RUBY_PLUGINS_DIR}")
 
   read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/load_sources.am RUBY_LOAD_SOURCES)
   add_library(load MODULE ${RUBY_LOAD_SOURCES})
@@ -38,7 +36,5 @@ if(GRN_WITH_MRUBY)
     COMPILE_FLAGS "${GRN_C_COMPILE_FLAGS}")
   set_target_properties(load PROPERTIES PREFIX "")
   target_link_libraries(load libgroonga)
-  if(NOT MRN_GROONGA_BUNDLED)
-    install(TARGETS load DESTINATION "${GRN_RELATIVE_RUBY_PLUGINS_DIR}")
-  endif()
+  install(TARGETS load DESTINATION "${GRN_RELATIVE_RUBY_PLUGINS_DIR}")
 endif()

  Modified: plugins/suggest/CMakeLists.txt (+1 -3)
===================================================================
--- plugins/suggest/CMakeLists.txt    2015-02-02 22:39:05 +0900 (72b8636)
+++ plugins/suggest/CMakeLists.txt    2015-02-02 23:05:52 +0900 (5191939)
@@ -24,6 +24,4 @@ set_source_files_properties(${SUGGEST_SOURCES}
   COMPILE_FLAGS "${GRN_C_COMPILE_FLAGS}")
 set_target_properties(suggest PROPERTIES PREFIX "")
 target_link_libraries(suggest libgroonga)
-if(NOT MRN_GROONGA_BUNDLED)
-  install(TARGETS suggest DESTINATION "${GRN_RELATIVE_PLUGINS_DIR}/suggest")
-endif()
+install(TARGETS suggest DESTINATION "${GRN_RELATIVE_PLUGINS_DIR}/suggest")

  Modified: plugins/table/CMakeLists.txt (+1 -3)
===================================================================
--- plugins/table/CMakeLists.txt    2015-02-02 22:39:05 +0900 (cba4697)
+++ plugins/table/CMakeLists.txt    2015-02-02 23:05:52 +0900 (eada039)
@@ -24,6 +24,4 @@ set_source_files_properties(${TABLE_SOURCES}
   COMPILE_FLAGS "${GRN_C_COMPILE_FLAGS}")
 set_target_properties(table PROPERTIES PREFIX "")
 target_link_libraries(table libgroonga)
-if(NOT MRN_GROONGA_BUNDLED)
-  install(TARGETS table DESTINATION "${GRN_RELATIVE_PLUGINS_DIR}/table")
-endif()
+install(TARGETS table DESTINATION "${GRN_RELATIVE_PLUGINS_DIR}/table")

  Modified: plugins/tokenizers/CMakeLists.txt (+2 -6)
===================================================================
--- plugins/tokenizers/CMakeLists.txt    2015-02-02 22:39:05 +0900 (e044c1f)
+++ plugins/tokenizers/CMakeLists.txt    2015-02-02 23:05:52 +0900 (5871e98)
@@ -30,9 +30,7 @@ if(GRN_WITH_MECAB)
     PREFIX ""
     OUTPUT_NAME "mecab")
   target_link_libraries(mecab_tokenizer libgroonga ${MECAB_LIBRARIES})
-  if(NOT MRN_GROONGA_BUNDLED)
-    install(TARGETS mecab_tokenizer DESTINATION "${TOKENIZERS_DIR}")
-  endif()
+  install(TARGETS mecab_tokenizer DESTINATION "${TOKENIZERS_DIR}")
 endif()
 
 if(GRN_WITH_KYTEA)
@@ -47,7 +45,5 @@ if(GRN_WITH_KYTEA)
     PREFIX ""
     OUTPUT_NAME "kytea")
   target_link_libraries(kytea_tokenizer libgroonga ${KYTEA_LIBRARIES})
-  if(NOT MRN_GROONGA_BUNDLED)
-    install(TARGETS kytea_tokenizer DESTINATION "${TOKENIZERS_DIR}")
-  endif()
+  install(TARGETS kytea_tokenizer DESTINATION "${TOKENIZERS_DIR}")
 endif()

  Modified: src/CMakeLists.txt (+3 -9)
===================================================================
--- src/CMakeLists.txt    2015-02-02 22:39:05 +0900 (4d02109)
+++ src/CMakeLists.txt    2015-02-02 23:05:52 +0900 (258d186)
@@ -25,9 +25,7 @@ set_source_files_properties(${GROONGA_SOURCES}
   PROPERTIES
   COMPILE_FLAGS "${GRN_C_COMPILE_FLAGS}")
 target_link_libraries(groonga libgroonga)
-if(NOT MRN_GROONGA_BUNDLED)
-  install(TARGETS groonga DESTINATION ${BIN_DIR})
-endif()
+install(TARGETS groonga DESTINATION ${BIN_DIR})
 
 if(NOT WIN32)
   read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/grnslap_sources.am GRNSLAP_SOURCES)
@@ -36,9 +34,7 @@ if(NOT WIN32)
     PROPERTIES
     COMPILE_FLAGS "${GRN_C_COMPILE_FLAGS}")
   target_link_libraries(grnslap libgroonga)
-  if(NOT MRN_GROONGA_BUNDLED)
-    install(TARGETS grnslap DESTINATION ${BIN_DIR})
-  endif()
+  install(TARGETS grnslap DESTINATION ${BIN_DIR})
 endif()
 
 read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/groonga_benchmark_sources.am
@@ -48,7 +44,5 @@ set_source_files_properties(${GROONGA_BENCHMARK_SOURCES}
   PROPERTIES
   COMPILE_FLAGS "${GRN_C_COMPILE_FLAGS}")
 target_link_libraries(groonga-benchmark libgroonga)
-if(NOT MRN_GROONGA_BUNDLED)
-  install(TARGETS groonga-benchmark DESTINATION ${BIN_DIR})
-endif()
+install(TARGETS groonga-benchmark DESTINATION ${BIN_DIR})
 

  Modified: src/suggest/CMakeLists.txt (+6 -10)
===================================================================
--- src/suggest/CMakeLists.txt    2015-02-02 22:39:05 +0900 (0773026)
+++ src/suggest/CMakeLists.txt    2015-02-02 23:05:52 +0900 (c0c7a9c)
@@ -25,11 +25,9 @@ set_source_files_properties(${GROONGA_SUGGEST_CREATE_DATASET_SOURCES}
   PROPERTIES
   COMPILE_FLAGS "${GRN_C_COMPILE_FLAGS}")
 target_link_libraries(groonga-suggest-create-dataset libgroonga)
-if(NOT MRN_GROONGA_BUNDLED)
-  install(
-    TARGETS groonga-suggest-create-dataset
-    DESTINATION ${BIN_DIR})
-endif()
+install(
+  TARGETS groonga-suggest-create-dataset
+  DESTINATION ${BIN_DIR})
 
 if(GRN_WITH_LIBEVENT AND GRN_WITH_ZEROMQ AND GRN_WITH_MESSAGE_PACK)
   set(GRN_WITH_SUGGEST_LEARNER TRUE)
@@ -82,9 +80,7 @@ if(GRN_WITH_SUGGEST_LEARNER)
     ${ZEROMQ_LIBRARIES}
     ${MESSAGE_PACK_LIBRARIES})
 
-  if(NOT MRN_GROONGA_BUNDLED)
-    install(
-      TARGETS groonga-suggest-learner groonga-suggest-httpd
-      DESTINATION ${BIN_DIR})
-  endif()
+  install(
+    TARGETS groonga-suggest-learner groonga-suggest-httpd
+    DESTINATION ${BIN_DIR})
 endif()
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index