1use serde::{Deserialize, Serialize};
6
7use crate::base::fileset::FileSet;
8use crate::base::utils::default_true;
9
10#[derive(Debug, Clone, Deserialize, Serialize)]
11pub struct AppImageConfig {
12 pub exe_files: Vec<String>,
15
16 #[serde(default = "default_true")]
20 pub embed_libs: bool,
21
22 pub files: Option<Vec<FileSet>>,
24
25 #[serde(default = "default_exclude_libs")]
27 pub exclude_libs: Vec<String>,
28}
29
30impl Default for AppImageConfig {
31 fn default() -> Self {
32 Self {
33 exe_files: Vec::new(),
34 embed_libs: true,
35 files: None,
36 exclude_libs: default_exclude_libs(),
37 }
38 }
39}
40
41const fn default_exclude_libs() -> Vec<String> {
42 vec![]
43}