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": [
|
||||
"target_defaults.gypi",
|
||||
"realm.gypi"
|
||||
"binding.gypi"
|
||||
],
|
||||
"targets": [
|
||||
{
|
||||
"target_name": "realm",
|
||||
"dependencies": [
|
||||
"object-store"
|
||||
],
|
||||
"sources": [
|
||||
"src/node/platform.cpp",
|
||||
"src/js_realm.cpp"
|
||||
],
|
||||
"dependencies": [ "realm-js" ],
|
||||
"include_dirs": [
|
||||
"src"
|
||||
],
|
||||
"conditions": [
|
||||
["realm_node_build_as_library", {
|
||||
"type": "static_library",
|
||||
"export_dependent_settings": [ "object-store" ]
|
||||
}, {
|
||||
"sources": [
|
||||
"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",
|
||||
"type": "none",
|
||||
"dependencies": [ "<(module_name)" ],
|
||||
"dependencies": [ "realm" ],
|
||||
"copies": [
|
||||
{
|
||||
"files": [ "<(PRODUCT_DIR)/<(module_name).node" ],
|
||||
"files": [ "<(PRODUCT_DIR)/realm.node" ],
|
||||
"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": {
|
||||
"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": [
|
||||
["OS=='mac'", {
|
||||
|
@ -85,7 +87,7 @@
|
|||
},
|
||||
{
|
||||
"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",
|
||||
"type": "none",
|
||||
|
@ -111,9 +113,9 @@
|
|||
"actions": [
|
||||
{
|
||||
"action_name": "download-realm",
|
||||
"inputs": [ "<(module_root_dir)/scripts/download-realm.js" ],
|
||||
"inputs": [ "<(realm_js_dir)/scripts/download-realm.js" ],
|
||||
"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