@@ -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