mariadb/storage/oqgraph/CMakeLists.txt
Alexander Barkov bc80fb07de ha_cassandra.so and ha_oqgraph.so can be build only if boost is installed
on the build machine. So put them into the deb packages optionally.
     
Additionally, fixing cassandra/CMakeLists.txt to work with thrift
installed in /opt/local and /opt. It was supposed to work, but did
not work actually. Only thrift installed in /usr or /usr/local worked.


renamed:
  debian/dist/Debian/mariadb-server-10.0.files => debian/dist/Debian/mariadb-server-10.0.files.in
  debian/dist/Ubuntu/mariadb-server-10.0.files => debian/dist/Ubuntu/mariadb-server-10.0.files.in
modified:
  .bzrignore
  CMakeLists.txt
  storage/cassandra/CMakeLists.txt
  storage/cassandra/cassandra_se.cc
  storage/cassandra/gen-cpp/Cassandra.h
  storage/cassandra/gen-cpp/cassandra_types.h
  storage/oqgraph/CMakeLists.txt
  debian/dist/Debian/mariadb-server-10.0.files.in
  debian/dist/Ubuntu/mariadb-server-10.0.files.in
2013-04-25 17:12:52 +04:00

39 lines
1.1 KiB
CMake

FIND_PACKAGE(Boost 1.40.0)
IF(NOT Boost_FOUND)
RETURN()
ENDIF()
INCLUDE_DIRECTORIES(BEFORE ${Boost_INCLUDE_DIRS})
SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${Boost_INCLUDE_DIRS})
IF(MSVC)
# lp:756966 OQGRAPH on Win64 does not compile
IF (CMAKE_SIZEOF_VOID_P EQUAL 8)
SET(BOOST_OK 0)
ELSE()
SET(BOOST_OK 1)
ENDIF()
ELSE()
# See if that works. On old gcc it'll fail because of -fno-rtti
CHECK_CXX_SOURCE_COMPILES(
"
#include <boost/config.hpp>
#include <boost/property_map/property_map.hpp>
int main() { return 0; }
" BOOST_OK)
ENDIF()
IF(BOOST_OK)
ADD_DEFINITIONS(-DHAVE_OQGRAPH)
IF(MSVC)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc")
ELSE(MSVC)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated -fno-strict-aliasing")
STRING(REPLACE "-fno-exceptions" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
STRING(REPLACE "-fno-implicit-templates" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
ENDIF(MSVC)
SET(OQGRAPH_DEB_FILES "usr/lib/mysql/plugin/ha_oqgraph.so" PARENT_SCOPE)
MYSQL_ADD_PLUGIN(oqgraph ha_oqgraph.cc graphcore.cc STORAGE_ENGINE
MODULE_ONLY)
ENDIF(BOOST_OK)