@@ -46,3 +46,42 @@ add_subdirectory(rs_loader) # Rust 1.55.0
46
46
add_subdirectory (rpc_loader) # cURL Remote Procedure Call
47
47
add_subdirectory (ts_loader) # TypeScript 3.9.7
48
48
add_subdirectory (wasm_loader) # WebAssembly Virtual Machine
49
+
50
+ # Optionally enable loader dependencies utility
51
+ macro (add_loader_dependencies target )
52
+ set (loaders_map_c_loader OPTION_BUILD_LOADERS_C)
53
+ set (loaders_map_cob_loader OPTION_BUILD_LOADERS_COB)
54
+ set (loaders_map_cr_loader OPTION_BUILD_LOADERS_CR)
55
+ set (loaders_map_dart_loader OPTION_BUILD_LOADERS_CS)
56
+ set (loaders_map_cs_loader OPTION_BUILD_LOADERS_DART)
57
+ set (loaders_map_file_loader OPTION_BUILD_LOADERS_FILE)
58
+ set (loaders_map_java_loader OPTION_BUILD_LOADERS_JAVA)
59
+ set (loaders_map_jl_loader OPTION_BUILD_LOADERS_JL)
60
+ set (loaders_map_jsm_loader OPTION_BUILD_LOADERS_JSM)
61
+ set (loaders_map_js_loader OPTION_BUILD_LOADERS_JS)
62
+ set (loaders_map_llvm_loader OPTION_BUILD_LOADERS_LLVM)
63
+ set (loaders_map_lua_loader OPTION_BUILD_LOADERS_LUA)
64
+ set (loaders_map_mock_loader OPTION_BUILD_LOADERS_MOCK)
65
+ set (loaders_map_node_loader OPTION_BUILD_LOADERS_NODE)
66
+ set (loaders_map_py_loader OPTION_BUILD_LOADERS_PY)
67
+ set (loaders_map_rb_loader OPTION_BUILD_LOADERS_RB)
68
+ set (loaders_map_rs_loader OPTION_BUILD_LOADERS_RS)
69
+ set (loaders_map_rpc_loader OPTION_BUILD_LOADERS_RPC)
70
+ set (loaders_map_ts_loader OPTION_BUILD_LOADERS_TS)
71
+ set (loaders_map_wasm_loader OPTION_BUILD_LOADERS_WASM)
72
+
73
+ set (LOADERS_LIST)
74
+
75
+ foreach (loader ${ARGN} )
76
+ if (${loaders_map_${loader} })
77
+ set (LOADERS_LIST
78
+ ${LOADERS_LIST}
79
+ ${loader}
80
+ )
81
+ endif ()
82
+ endforeach ()
83
+
84
+ if (LOADERS_LIST)
85
+ add_dependencies (${target} ${LOADERS_LIST} )
86
+ endif ()
87
+ endmacro ()
0 commit comments