set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules/")
+if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+ set(LINUX ON)
+ FIND_PACKAGE(Threads)
+elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
+ set(FREEBSD ON)
+ FIND_PACKAGE(Threads)
+elseif(APPLE)
+ set(OperatingSystem "Mac OS X")
+else()
+ message(STATUS "No systemtype selected for building")
+endif(CMAKE_SYSTEM_NAME MATCHES "Linux")
+
option(WITH_CCACHE "Build with ccache.")
if(WITH_CCACHE)
find_program(CCACHE_FOUND ccache)
${OFED_PREFIX}/lib
${LEVELDB_PREFIX}/lib
)
+if(FREEBSD)
+ include_directories(/usr/local/include)
+ link_directories(/usr/local/lib)
+ list(APPEND CMAKE_REQUIRED_INCLUDES /usr/local/include)
+endif(FREEBSD)
+
#put all the libs and binaries in one place
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
CHECK_INCLUDE_FILES("sys/vfs.h" HAVE_SYS_VFS_H)
CHECK_INCLUDE_FILES("sys/prctl.h" HAVE_SYS_PRCTL_H)
CHECK_INCLUDE_FILES("execinfo.h" HAVE_EXECINFO_H)
-CHECK_INCLUDE_FILES("sched.h" HAVE_SCHED)
+if(LINUX)
+ CHECK_INCLUDE_FILES("sched.h" HAVE_SCHED)
+endif(LINUX)
CHECK_INCLUDE_FILES("valgrind/helgrind.h" HAVE_VALGRIND_HELGRIND_H)
include(CheckTypeSize)
find_package(execinfo)
-find_package(udev REQUIRED)
-set(HAVE_UDEV ${UDEV_FOUND})
-
-option(WITH_AIO "AIO is here ON" ON)
-if(${WITH_AIO})
-find_package(aio REQUIRED)
-set(HAVE_LIBAIO ${AIO_FOUND})
-message(STATUS "${AIO_LIBS}")
-endif(${WITH_AIO})
+if(LINUX)
+ find_package(udev REQUIRED)
+ set(HAVE_UDEV ${UDEV_FOUND})
+
+ find_package(aio REQUIRED)
+ set(HAVE_LIBAIO ${AIO_FOUND})
+ message(STATUS "${AIO_LIBS}")
+
+ find_package(blkid REQUIRED)
+ set(HAVE_BLKID ${BLKID_FOUND})
+else()
+ set(HAVE_UDEV OFF)
+ message(STATUS "Not using udev")
+ set(HAVE_LIBAIO OFF)
+ message(STATUS "Not using AIO")
+ set(HAVE_BLKID OFF)
+ message(STATUS "Not using BLKID")
+endif(LINUX)
option(WITH_OPENLDAP "OPENLDAP is here" ON)
if(${WITH_OPENLDAP})
set(HAVE_SPDK TRUE)
endif(WITH_SPDK)
-find_package(blkid REQUIRED)
-
# needs mds and? XXX
option(WITH_LIBCEPHFS "libcephfs client library" ON)
endif(Tcmalloc_FOUND)
endif(ALLOCATOR)
-find_package(keyutils REQUIRED)
+if(NOT FREEBSD)
+ # XXX keyutils is available, but not yet recognised
+ find_package(keyutils REQUIRED)
+endif(NOT FREEBSD)
find_package(libuuid REQUIRED)
option(ENABLE_COVERAGE "Coverage is enabled" OFF)
option(PG_DEBUG_REFS "PG Ref debugging is enabled" OFF)
-add_definitions(-D__linux__)
+if(LINUX)
+ add_definitions(-D__linux__)
+endif(LINUX)
if(ENABLE_SHARED)
set(Boost_USE_STATIC_LIBS OFF)
add_subdirectory(selinux)
endif(WITH_SELINUX)
-# find out which platform we are building on
-if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
- set(LINUX ON)
- set(UNIX ON)
- FIND_PACKAGE(Threads)
-endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
-
-# find out which platform we are building on
-if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-set(OperatingSystem "Mac OS X")
-endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-
# enables testing and creates Make check command
add_custom_target(tests
COMMENT "Building tests")