Refactor gyp files
This makes it possible to build realm-js-private with the Visual Studio gyp generator
This commit is contained in:
parent
507556d1b8
commit
ffb0f84361
115
binding.gyp
115
binding.gyp
|
@ -1,135 +1,28 @@
|
||||||
{
|
{
|
||||||
"variables": {
|
|
||||||
"realm_node_build_as_library%": "0",
|
|
||||||
"realm_download_binaries%": "1"
|
|
||||||
},
|
|
||||||
"includes": [
|
"includes": [
|
||||||
"target_defaults.gypi",
|
"binding.gypi"
|
||||||
"realm.gypi"
|
|
||||||
],
|
],
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"target_name": "realm",
|
"target_name": "realm",
|
||||||
"dependencies": [
|
"dependencies": [ "realm-js" ],
|
||||||
"object-store"
|
|
||||||
],
|
|
||||||
"sources": [
|
|
||||||
"src/node/platform.cpp",
|
|
||||||
"src/js_realm.cpp"
|
|
||||||
],
|
|
||||||
"include_dirs": [
|
"include_dirs": [
|
||||||
"src"
|
"src"
|
||||||
],
|
],
|
||||||
"conditions": [
|
|
||||||
["realm_node_build_as_library", {
|
|
||||||
"type": "static_library",
|
|
||||||
"export_dependent_settings": [ "object-store" ]
|
|
||||||
}, {
|
|
||||||
"sources": [
|
"sources": [
|
||||||
"src/node/node_init.cpp"
|
"src/node/node_init.cpp"
|
||||||
]
|
]
|
||||||
}]
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"target_name": "object-store",
|
|
||||||
"dependencies": [ "realm-core" ],
|
|
||||||
"type": "static_library",
|
|
||||||
"include_dirs": [
|
|
||||||
"src/object-store/src",
|
|
||||||
"src/object-store/external/pegtl"
|
|
||||||
],
|
|
||||||
"defines": [ "REALM_PLATFORM_NODE=1" ],
|
|
||||||
"sources": [
|
|
||||||
"src/object-store/src/binding_callback_thread_observer.cpp",
|
|
||||||
"src/object-store/src/collection_notifications.cpp",
|
|
||||||
"src/object-store/src/index_set.cpp",
|
|
||||||
"src/object-store/src/list.cpp",
|
|
||||||
"src/object-store/src/object.cpp",
|
|
||||||
"src/object-store/src/placeholder.cpp",
|
|
||||||
"src/object-store/src/object_schema.cpp",
|
|
||||||
"src/object-store/src/object_store.cpp",
|
|
||||||
"src/object-store/src/results.cpp",
|
|
||||||
"src/object-store/src/schema.cpp",
|
|
||||||
"src/object-store/src/shared_realm.cpp",
|
|
||||||
"src/object-store/src/thread_safe_reference.cpp",
|
|
||||||
"src/object-store/src/impl/collection_change_builder.cpp",
|
|
||||||
"src/object-store/src/impl/collection_notifier.cpp",
|
|
||||||
"src/object-store/src/impl/list_notifier.cpp",
|
|
||||||
"src/object-store/src/impl/object_notifier.cpp",
|
|
||||||
"src/object-store/src/impl/primitive_list_notifier.cpp",
|
|
||||||
"src/object-store/src/impl/realm_coordinator.cpp",
|
|
||||||
"src/object-store/src/impl/results_notifier.cpp",
|
|
||||||
"src/object-store/src/impl/transact_log_handler.cpp",
|
|
||||||
"src/object-store/src/impl/weak_realm_notifier.cpp",
|
|
||||||
"src/object-store/src/parser/parser.cpp",
|
|
||||||
"src/object-store/src/parser/query_builder.cpp",
|
|
||||||
"src/object-store/src/util/format.cpp",
|
|
||||||
"src/object-store/src/util/uuid.cpp",
|
|
||||||
],
|
|
||||||
"conditions": [
|
|
||||||
["OS=='win'", {
|
|
||||||
"sources": [
|
|
||||||
"src/object-store/src/impl/windows/external_commit_helper.cpp",
|
|
||||||
]
|
|
||||||
}],
|
|
||||||
["OS=='linux'", {
|
|
||||||
"sources": [
|
|
||||||
"src/object-store/src/impl/epoll/external_commit_helper.cpp",
|
|
||||||
]
|
|
||||||
}],
|
|
||||||
["OS=='mac'", {
|
|
||||||
"sources": [
|
|
||||||
"src/object-store/src/impl/apple/external_commit_helper.cpp",
|
|
||||||
"src/object-store/src/impl/apple/keychain_helper.cpp",
|
|
||||||
"src/object-store/src/sync/impl/apple/network_reachability_observer.cpp",
|
|
||||||
"src/object-store/src/sync/impl/apple/system_configuration.cpp"
|
|
||||||
]
|
|
||||||
}],
|
|
||||||
["realm_enable_sync", {
|
|
||||||
"dependencies": [ "realm-sync" ],
|
|
||||||
"sources": [
|
|
||||||
"src/object-store/src/sync/partial_sync.cpp",
|
|
||||||
"src/object-store/src/sync/sync_config.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/sync_config.cpp",
|
|
||||||
"src/object-store/src/sync/impl/sync_file.cpp",
|
|
||||||
"src/object-store/src/sync/impl/sync_metadata.cpp"
|
|
||||||
],
|
|
||||||
}]
|
|
||||||
],
|
|
||||||
"all_dependent_settings": {
|
|
||||||
"defines": [ "REALM_PLATFORM_NODE=1" ],
|
|
||||||
"include_dirs": [
|
|
||||||
"src/object-store/src",
|
|
||||||
"src/object-store/src/impl",
|
|
||||||
"src/object-store/src/impl/apple",
|
|
||||||
"src/object-store/src/parser",
|
|
||||||
"src/object-store/external/pegtl"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"export_dependent_settings": [
|
|
||||||
"<@(_dependencies)" # re-export settings related to linking the realm binaries
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"conditions": [
|
|
||||||
["not realm_node_build_as_library", {
|
|
||||||
"targets": [
|
|
||||||
{
|
{
|
||||||
"target_name": "action_after_build",
|
"target_name": "action_after_build",
|
||||||
"type": "none",
|
"type": "none",
|
||||||
"dependencies": [ "<(module_name)" ],
|
"dependencies": [ "realm" ],
|
||||||
"copies": [
|
"copies": [
|
||||||
{
|
{
|
||||||
"files": [ "<(PRODUCT_DIR)/<(module_name).node" ],
|
"files": [ "<(PRODUCT_DIR)/realm.node" ],
|
||||||
"destination": "<(module_path)"
|
"destination": "<(module_path)"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,106 @@
|
||||||
|
{
|
||||||
|
"includes": [
|
||||||
|
"target_defaults.gypi",
|
||||||
|
"realm.gypi"
|
||||||
|
],
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"target_name": "realm-js",
|
||||||
|
"dependencies": [
|
||||||
|
"vendored-realm", "object-store"
|
||||||
|
],
|
||||||
|
"sources": [
|
||||||
|
"src/node/platform.cpp",
|
||||||
|
"src/js_realm.cpp"
|
||||||
|
],
|
||||||
|
"include_dirs": [
|
||||||
|
"src"
|
||||||
|
],
|
||||||
|
"type": "static_library",
|
||||||
|
"export_dependent_settings": [ "object-store" ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"target_name": "object-store",
|
||||||
|
"dependencies": [ "realm-core" ],
|
||||||
|
"type": "static_library",
|
||||||
|
"include_dirs": [
|
||||||
|
"src/object-store/src",
|
||||||
|
"src/object-store/external/pegtl"
|
||||||
|
],
|
||||||
|
"defines": [ "REALM_PLATFORM_NODE=1" ],
|
||||||
|
"sources": [
|
||||||
|
"src/object-store/src/binding_callback_thread_observer.cpp",
|
||||||
|
"src/object-store/src/collection_notifications.cpp",
|
||||||
|
"src/object-store/src/index_set.cpp",
|
||||||
|
"src/object-store/src/list.cpp",
|
||||||
|
"src/object-store/src/object.cpp",
|
||||||
|
"src/object-store/src/placeholder.cpp",
|
||||||
|
"src/object-store/src/object_schema.cpp",
|
||||||
|
"src/object-store/src/object_store.cpp",
|
||||||
|
"src/object-store/src/results.cpp",
|
||||||
|
"src/object-store/src/schema.cpp",
|
||||||
|
"src/object-store/src/shared_realm.cpp",
|
||||||
|
"src/object-store/src/thread_safe_reference.cpp",
|
||||||
|
"src/object-store/src/impl/collection_change_builder.cpp",
|
||||||
|
"src/object-store/src/impl/collection_notifier.cpp",
|
||||||
|
"src/object-store/src/impl/list_notifier.cpp",
|
||||||
|
"src/object-store/src/impl/object_notifier.cpp",
|
||||||
|
"src/object-store/src/impl/primitive_list_notifier.cpp",
|
||||||
|
"src/object-store/src/impl/realm_coordinator.cpp",
|
||||||
|
"src/object-store/src/impl/results_notifier.cpp",
|
||||||
|
"src/object-store/src/impl/transact_log_handler.cpp",
|
||||||
|
"src/object-store/src/impl/weak_realm_notifier.cpp",
|
||||||
|
"src/object-store/src/parser/parser.cpp",
|
||||||
|
"src/object-store/src/parser/query_builder.cpp",
|
||||||
|
"src/object-store/src/util/format.cpp",
|
||||||
|
"src/object-store/src/util/uuid.cpp"
|
||||||
|
],
|
||||||
|
"conditions": [
|
||||||
|
["OS=='win'", {
|
||||||
|
"sources": [
|
||||||
|
"src/object-store/src/impl/windows/external_commit_helper.cpp",
|
||||||
|
]
|
||||||
|
}],
|
||||||
|
["OS=='linux'", {
|
||||||
|
"sources": [
|
||||||
|
"src/object-store/src/impl/epoll/external_commit_helper.cpp",
|
||||||
|
]
|
||||||
|
}],
|
||||||
|
["OS=='mac'", {
|
||||||
|
"sources": [
|
||||||
|
"src/object-store/src/impl/apple/external_commit_helper.cpp",
|
||||||
|
"src/object-store/src/impl/apple/keychain_helper.cpp",
|
||||||
|
"src/object-store/src/sync/impl/apple/network_reachability_observer.cpp",
|
||||||
|
"src/object-store/src/sync/impl/apple/system_configuration.cpp"
|
||||||
|
]
|
||||||
|
}],
|
||||||
|
["realm_enable_sync", {
|
||||||
|
"dependencies": [ "realm-sync" ],
|
||||||
|
"sources": [
|
||||||
|
"src/object-store/src/sync/partial_sync.cpp",
|
||||||
|
"src/object-store/src/sync/sync_config.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/sync_config.cpp",
|
||||||
|
"src/object-store/src/sync/impl/sync_file.cpp",
|
||||||
|
"src/object-store/src/sync/impl/sync_metadata.cpp"
|
||||||
|
],
|
||||||
|
}]
|
||||||
|
],
|
||||||
|
"all_dependent_settings": {
|
||||||
|
"defines": [ "REALM_PLATFORM_NODE=1" ],
|
||||||
|
"include_dirs": [
|
||||||
|
"src/object-store/src",
|
||||||
|
"src/object-store/src/impl",
|
||||||
|
"src/object-store/src/impl/apple",
|
||||||
|
"src/object-store/src/parser",
|
||||||
|
"src/object-store/external/pegtl"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"export_dependent_settings": [
|
||||||
|
"<@(_dependencies)" # re-export settings related to linking the realm binaries
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
10
realm.gypi
10
realm.gypi
|
@ -1,6 +1,8 @@
|
||||||
{
|
{
|
||||||
"variables": {
|
"variables": {
|
||||||
"use_realm_debug%": "<!(node -p \"'REALMJS_USE_DEBUG_CORE' in process.env ? 1 : 0\")"
|
"realm_download_binaries%": "1",
|
||||||
|
"use_realm_debug%": "<!(node -p \"'REALMJS_USE_DEBUG_CORE' in process.env ? 1 : 0\")",
|
||||||
|
"realm_js_dir%": "<(module_root_dir)"
|
||||||
},
|
},
|
||||||
"conditions": [
|
"conditions": [
|
||||||
["OS=='mac'", {
|
["OS=='mac'", {
|
||||||
|
@ -85,7 +87,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"variables": {
|
"variables": {
|
||||||
"vendor_dir%": "<(module_root_dir)/vendor/realm-<(OS)-<(target_arch)<(debug_library_suffix)"
|
"vendor_dir": "<(realm_js_dir)/vendor/realm-<(OS)-<(target_arch)<(debug_library_suffix)"
|
||||||
},
|
},
|
||||||
"target_name": "vendored-realm",
|
"target_name": "vendored-realm",
|
||||||
"type": "none",
|
"type": "none",
|
||||||
|
@ -111,9 +113,9 @@
|
||||||
"actions": [
|
"actions": [
|
||||||
{
|
{
|
||||||
"action_name": "download-realm",
|
"action_name": "download-realm",
|
||||||
"inputs": [ "<(module_root_dir)/scripts/download-realm.js" ],
|
"inputs": [ "<(realm_js_dir)/scripts/download-realm.js" ],
|
||||||
"outputs": [ "<(vendor_dir)" ],
|
"outputs": [ "<(vendor_dir)" ],
|
||||||
"action": [ "node", "<(module_root_dir)/scripts/download-realm.js", "<(OS)", ">(download_realm_debug_flag)", ">(download_realm_sync_flag)", "--arch=<(target_arch)" ]
|
"action": [ "node", "<(realm_js_dir)/scripts/download-realm.js", "<(OS)", ">(download_realm_debug_flag)", ">(download_realm_sync_flag)", "--arch=<(target_arch)" ]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]
|
}]
|
||||||
|
|
Loading…
Reference in New Issue