build.rs 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. // Copyright 2019-2021 Tauri Programme within The Commons Conservancy
  2. // SPDX-License-Identifier: Apache-2.0
  3. // SPDX-License-Identifier: MIT
  4. use cfg_aliases::cfg_aliases;
  5. fn main() {
  6. cfg_aliases! {
  7. custom_protocol: { feature = "custom-protocol" },
  8. dev: { not(feature = "custom-protocol") },
  9. updater: { any(feature = "updater", feature = "__updater-docs") },
  10. api_all: { feature = "api-all" },
  11. // fs
  12. fs_all: { any(api_all, feature = "fs-all") },
  13. fs_read_file: { any(fs_all, feature = "fs-read-file") },
  14. fs_write_file: { any(fs_all, feature = "fs-write-file") },
  15. fs_write_binary_file: { any(fs_all, feature = "fs-write-binary-file") },
  16. fs_read_dir: { any(fs_all, feature = "fs-read-dir") },
  17. fs_copy_file: { any(fs_all, feature = "fs-copy-file") },
  18. fs_create_dir: { any(fs_all, feature = "fs-create_dir") },
  19. fs_remove_dir: { any(fs_all, feature = "fs-remove-dir") },
  20. fs_remove_file: { any(fs_all, feature = "fs-remove-file") },
  21. fs_rename_file: { any(fs_all, feature = "fs-rename-file") },
  22. // window
  23. window_all: { any(api_all, feature = "window-all") },
  24. window_create: { any(window_all, feature = "window-create") },
  25. window_center: { any(window_all, feature = "window-center") },
  26. window_request_user_attention: { any(window_all, feature = "window-request-user-attention") },
  27. window_set_resizable: { any(window_all, feature = "window-set-resizable") },
  28. window_set_title: { any(window_all, feature = "window-set-title") },
  29. window_maximize: { any(window_all, feature = "window-maximize") },
  30. window_unmaximize: { any(window_all, feature = "window-unmaximize") },
  31. window_minimize: { any(window_all, feature = "window-minimize") },
  32. window_unminimize: { any(window_all, feature = "window-unminimize") },
  33. window_show: { any(window_all, feature = "window-show") },
  34. window_hide: { any(window_all, feature = "window-hide") },
  35. window_close: { any(window_all, feature = "window-close") },
  36. window_set_decorations: { any(window_all, feature = "window-set-decorations") },
  37. window_set_always_on_top: { any(window_all, feature = "window-set-always-on-top") },
  38. window_set_size: { any(window_all, feature = "window-set-size") },
  39. window_set_min_size: { any(window_all, feature = "window-set-min-size") },
  40. window_set_max_size: { any(window_all, feature = "window-set-max-size") },
  41. window_set_position: { any(window_all, feature = "window-set-position") },
  42. window_set_fullscreen: { any(window_all, feature = "window-set-fullscreen") },
  43. window_set_focus: { any(window_all, feature = "window-set-focus") },
  44. window_set_icon: { any(window_all, feature = "window-set-icon") },
  45. window_set_skip_taskbar: { any(window_all, feature = "window-set-skip-taskbar") },
  46. window_start_dragging: { any(window_all, feature = "window-start-dragging") },
  47. window_print: { any(window_all, feature = "window-print") },
  48. // shell
  49. shell_all: { any(api_all, feature = "shell-all") },
  50. shell_execute: { any(shell_all, feature = "shell-execute") },
  51. shell_sidecar: { any(shell_all, feature = "shell-sidecar") },
  52. shell_open: { any(shell_all, feature = "shell-open") },
  53. // helper for the shell scope functionality
  54. shell_scope: { any(shell_execute, shell_sidecar, feature = "shell-open-api") },
  55. // dialog
  56. dialog_all: { any(api_all, feature = "dialog-all") },
  57. dialog_open: { any(dialog_all, feature = "dialog-open") },
  58. dialog_save: { any(dialog_all, feature = "dialog-save") },
  59. dialog_message: { any(dialog_all, feature = "dialog-message") },
  60. dialog_ask: { any(dialog_all, feature = "dialog-ask") },
  61. dialog_confirm: { any(dialog_all, feature = "dialog-confirm") },
  62. // http
  63. http_all: { any(api_all, feature = "http-all") },
  64. http_request: { any(http_all, feature = "http-request") },
  65. // cli
  66. cli: { feature = "cli" },
  67. // notification
  68. notification_all: { any(api_all, feature = "notification-all") },
  69. // global shortcut
  70. global_shortcut_all: { any(api_all, feature = "global_shortcut-all") },
  71. // os
  72. os_all: { any(api_all, feature = "os-all") },
  73. // path
  74. path_all: { any(api_all, feature = "path-all") },
  75. // protocol
  76. protocol_all: { any(api_all, feature = "protocol-all") },
  77. protocol_asset: { any(protocol_all, feature = "protocol-asset") },
  78. // process
  79. process_all: { any(api_all, feature = "process-all") },
  80. process_relaunch: { any(protocol_all, feature = "process-relaunch") },
  81. process_relaunch_dangerous_allow_symlink_macos: { feature = "process-relaunch-dangerous-allow-symlink-macos" },
  82. process_exit: { any(protocol_all, feature = "process-exit") },
  83. // clipboard
  84. clipboard_all: { any(api_all, feature = "clipboard-all") },
  85. clipboard_write_text: { any(protocol_all, feature = "clipboard-write-text") },
  86. clipboard_read_text: { any(protocol_all, feature = "clipboard-read-text") },
  87. }
  88. }