diff options
Diffstat (limited to 'storage/mroonga/vendor/groonga/vendor/mruby/CMakeLists.txt')
-rw-r--r-- | storage/mroonga/vendor/groonga/vendor/mruby/CMakeLists.txt | 40 |
1 files changed, 32 insertions, 8 deletions
diff --git a/storage/mroonga/vendor/groonga/vendor/mruby/CMakeLists.txt b/storage/mroonga/vendor/groonga/vendor/mruby/CMakeLists.txt index f2b27aff7e8..826ea6e4ea2 100644 --- a/storage/mroonga/vendor/groonga/vendor/mruby/CMakeLists.txt +++ b/storage/mroonga/vendor/groonga/vendor/mruby/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright(C) 2013-2015 Brazil +# Copyright(C) 2013-2016 Brazil # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -14,10 +14,12 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA if(GRN_WITH_MRUBY) + set(MRUBY_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../mruby-source") + include_directories( - "${CMAKE_CURRENT_SOURCE_DIR}/../mruby-source/include" - "${CMAKE_CURRENT_SOURCE_DIR}/../mruby-source/src" - "${CMAKE_CURRENT_SOURCE_DIR}/../mruby-source/mrbgems/mruby-compiler/core" + "${MRUBY_SOURCE_DIR}/include" + "${MRUBY_SOURCE_DIR}/src" + "${MRUBY_SOURCE_DIR}/mrbgems/mruby-compiler/core" "${CMAKE_CURRENT_SOURCE_DIR}/../onigmo-source" ) @@ -30,6 +32,7 @@ if(GRN_WITH_MRUBY) set(mruby_pre_build_timestamp "${CMAKE_CURRENT_SOURCE_DIR}/mruby_build.timestamp") if(EXISTS "${mruby_pre_build_timestamp}") + set(MRUBY_LEGAL_FILE "${CMAKE_CURRENT_SOURCE_DIR}/LEGAL") string(REGEX REPLACE "([^;]+)" "${CMAKE_CURRENT_SOURCE_DIR}/\\1" MRUBY_BUILT_SOURCES "${MRUBY_BUILT_SOURCES}") include_directories( @@ -44,7 +47,7 @@ if(GRN_WITH_MRUBY) "${RUBY}" "${CMAKE_CURRENT_SOURCE_DIR}/mruby_build.rb" "${CMAKE_CURRENT_SOURCE_DIR}/build_config.rb" - "${CMAKE_CURRENT_SOURCE_DIR}/../mruby-source" + "${MRUBY_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/../mruby-build" "${CMAKE_CURRENT_SOURCE_DIR}/../onigmo-source" "${mruby_build_timestamp}" @@ -55,23 +58,44 @@ if(GRN_WITH_MRUBY) message(FATAL_ERROR "Failed to build mruby files") endif() endif() + set(MRUBY_LEGAL_FILE "${CMAKE_CURRENT_BINARY_DIR}/LEGAL") string(REGEX REPLACE "([^;]+)" "${CMAKE_CURRENT_BINARY_DIR}/\\1" MRUBY_BUILT_SOURCES "${MRUBY_BUILT_SOURCES}") include_directories( "${CMAKE_CURRENT_BINARY_DIR}/mruby-io/include" ) endif() + file(WRITE + "${CMAKE_CURRENT_BINARY_DIR}/mruby-file-stat/src/config.h" + "") set(MRUBY_ALL_SOURCES ${MRUBY_SOURCES} ${MRUBY_BUILT_SOURCES} ) add_library(mruby STATIC ${MRUBY_ALL_SOURCES}) - set_source_files_properties(${MRUBY_ALL_SOURCES} - PROPERTIES - COMPILE_FLAGS "${GRN_C_COMPILE_FLAGS}") set_target_properties( mruby PROPERTIES POSITION_INDEPENDENT_CODE ON) + + set(MRUBY_C_COMPILE_FLAGS "${GRN_C_COMPILE_FLAGS}") + if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANGCC) + set(MRUBY_C_COMPILE_FLAGS + "${MRUBY_C_COMPILE_FLAGS} -Wno-float-equal") + set(MRUBY_C_COMPILE_FLAGS + "${MRUBY_C_COMPILE_FLAGS} -Wno-bad-function-cast") + endif() + if(WIN32) + set(MRUBY_DEFINITIONS ${MRUBY_DEFINITIONS} MRB_BUILD_AS_DLL MRB_CORE) + endif() + set_source_files_properties(${MRUBY_ALL_SOURCES} + PROPERTIES + COMPILE_FLAGS "${MRUBY_C_COMPILE_FLAGS}") + set_property(SOURCE ${MRUBY_ALL_SOURCES} + PROPERTY COMPILE_DEFINITIONS ${MRUBY_DEFINITIONS}) + + install(FILES + "${MRUBY_LEGAL_FILE}" + DESTINATION "${GRN_DATA_DIR}/mruby") endif() |