You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.7 KiB
48 lines
1.7 KiB
cmake_minimum_required(VERSION 3.2.0)
|
|
|
|
if(REALM_PLATFORM STREQUAL "Android")
|
|
# This must be before project()
|
|
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/CMake/android.toolchain.cmake")
|
|
set(ANDROID_ABI "x86" CACHE STRING "")
|
|
set(ANDROID_NATIVE_API_LEVEL "android-16" CACHE STRING "")
|
|
endif()
|
|
|
|
set(CMAKE_BUILD_TYPE Debug CACHE STRING "")
|
|
project(realm-object-store)
|
|
|
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake")
|
|
|
|
include(CodeCoverage)
|
|
include(CompilerFlags)
|
|
include(Sanitizers)
|
|
|
|
# Sync is disabled unless -DREALM_ENABLE_SYNC=1 is specified when invoking CMake.
|
|
# FIXME: Flip the default once we can build against prebuilt sync binaries.
|
|
set(REALM_ENABLE_SYNC OFF CACHE BOOL "")
|
|
|
|
if(REALM_SYNC_PREFIX AND NOT REALM_CORE_PREFIX)
|
|
message(FATAL_ERROR "REALM_CORE_PREFIX must be set when specifying REALM_SYNC_PREFIX.")
|
|
endif()
|
|
if(REALM_SYNC_PREFIX AND NOT REALM_ENABLE_SYNC)
|
|
message(FATAL_ERROR "REALM_ENABLE_SYNC must be set when specifying REALM_SYNC_PREFIX.")
|
|
endif()
|
|
if(REALM_CORE_PREFIX AND REALM_ENABLE_SYNC AND NOT REALM_SYNC_PREFIX)
|
|
message(FATAL_ERROR "REALM_SYNC_PREFIX must be set when specifying REALM_CORE_PREFIX when REALM_ENABLE_SYNC is set.")
|
|
endif()
|
|
|
|
set(REALM_ENABLE_SERVER OFF CACHE BOOL "Enable the server-only functionality.")
|
|
if(REALM_ENABLE_SERVER AND NOT REALM_ENABLE_SYNC)
|
|
message(FATAL_ERROR "REALM_ENABLE_SERVER requires REALM_ENABLE_SYNC.")
|
|
endif()
|
|
|
|
include(RealmCore)
|
|
use_realm_core("${REALM_ENABLE_SYNC}" "${REALM_CORE_PREFIX}" "${REALM_SYNC_PREFIX}")
|
|
|
|
if(REALM_ENABLE_SYNC)
|
|
add_definitions(-DREALM_ENABLE_SYNC)
|
|
endif()
|
|
|
|
set(PEGTL_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/pegtl)
|
|
|
|
add_subdirectory(src)
|
|
add_subdirectory(tests)
|
|
|