Enable building without sync

This is needed because the linux node binding needs to work without sync
This commit is contained in:
Radu Tutueanu 2016-11-09 16:47:17 +01:00
parent d5cd3d7266
commit ba48933561
3 changed files with 35 additions and 27 deletions

View File

@ -32,7 +32,7 @@
}, },
{ {
"target_name": "object-store", "target_name": "object-store",
"dependencies": [ "realm-core", "realm-sync" ], "dependencies": [ "realm-core" ],
"type": "static_library", "type": "static_library",
"include_dirs": [ "include_dirs": [
"src/object-store/src", "src/object-store/src",
@ -63,12 +63,6 @@
"src/object-store/src/parser/query_builder.cpp", "src/object-store/src/parser/query_builder.cpp",
"src/object-store/src/util/format.cpp", "src/object-store/src/util/format.cpp",
"src/object-store/src/util/thread_id.cpp", "src/object-store/src/util/thread_id.cpp",
"src/object-store/src/sync/sync_manager.cpp",
"src/object-store/src/sync/sync_user.cpp",
"src/object-store/src/sync/sync_session.cpp",
"src/object-store/src/sync/impl/sync_file.cpp",
"src/object-store/src/sync/impl/sync_metadata.cpp",
"src/object-store/src/impl/apple/keychain_helper.cpp"
], ],
"conditions": [ "conditions": [
["OS=='linux'", { ["OS=='linux'", {
@ -80,6 +74,17 @@
"sources": [ "sources": [
"src/object-store/src/impl/apple/external_commit_helper.cpp" "src/object-store/src/impl/apple/external_commit_helper.cpp"
] ]
}],
["realm_enable_sync", {
"dependencies": [ "realm-sync" ],
"sources": [
"src/object-store/src/sync/sync_manager.cpp",
"src/object-store/src/sync/sync_user.cpp",
"src/object-store/src/sync/sync_session.cpp",
"src/object-store/src/sync/impl/sync_file.cpp",
"src/object-store/src/sync/impl/sync_metadata.cpp",
"src/object-store/src/impl/apple/keychain_helper.cpp"
],
}] }]
], ],
"all_dependent_settings": { "all_dependent_settings": {

View File

@ -453,12 +453,15 @@ void RealmClass<T>::schema_version(ContextType ctx, ObjectType this_object, size
} }
} }
template<typename T> template<typename T>
void RealmClass<T>::clear_test_state(ContextType ctx, ObjectType this_object, size_t argc, const ValueType arguments[], ReturnValue &return_value) { void RealmClass<T>::clear_test_state(ContextType ctx, ObjectType this_object, size_t argc, const ValueType arguments[], ReturnValue &return_value) {
validate_argument_count(argc, 0); validate_argument_count(argc, 0);
#if REALM_ENABLE_SYNC
for(auto &user : SyncManager::shared().all_users()) { for(auto &user : SyncManager::shared().all_users()) {
user->log_out(); user->log_out();
} }
#endif
delete_all_realms(); delete_all_realms();
} }

View File

@ -18,7 +18,7 @@
] ]
}, },
"all_dependent_settings": { "all_dependent_settings": {
"defines": [ "REALM_HAVE_CONFIG", "REALM_PLATFORM_NODE=1", "REALM_ENABLE_SYNC=1" ] "defines": [ "REALM_HAVE_CONFIG", "REALM_PLATFORM_NODE=1", "REALM_ENABLE_SYNC=<(realm_enable_sync)" ]
}, },
"variables": { "variables": {
"prefix": "<!(echo $REALM_CORE_PREFIX)" "prefix": "<!(echo $REALM_CORE_PREFIX)"