version(1);
project_name = "4coder";
patterns = {
"*.c",
"*.cpp",
"*.h",
"*.m",
"*.bat",
"*.sh",
"*.4coder",
"*.txt",
};
blacklist_patterns = {
".*",
};
load_paths_only = {
 {"."},
 { "../../one_time_code", .relative = true, .recursive = true, },
};
load_paths = {
 { load_paths_only, .os = "win"  },
 { load_paths_only, .os = "linux"},
 { load_paths_only, .os = "mac"  },
};

build_x86_win32 = "echo build: x86 & build.bat /DDEV_BUILD_X86";
build_x86_linux = "echo build: x86 & ./build.sh -DDEV_BUILD_X86";
build_x86_mac   = "echo build: x86 & ./build.sh -DDEV_BUILD_X86";

command_list = {
 { .name = "build x64",
   .out = "*compilation*", .footer_panel = true, .save_dirty_files = true,
   .cmd = { {"echo build: x64 & build.bat" , .os = "win"  },
            {"echo build: x64 & ./build.sh", .os = "linux"},
            {"echo build: x64 & ./build.sh", .os = "mac"  }, }, },
 { .name = "build x86",
   .out = "*compilation*", .footer_panel = true, .save_dirty_files = true,
   .cmd = { {build_x86_win32, .os = "win"  },
            {build_x86_linux, .os = "linux"},
            {build_x86_mac  , .os = "mac"  }, }, },
 { .name = "build metadata",
   .out = "*compilation*", .footer_panel = true, .save_dirty_files = true,
   .cmd = { {"build_metadata.bat" , .os = "win"  },
            {"./build_metadata.sh", .os = "linux"},
            {"./build_metadata.sh", .os = "mac"  }, }, },
 { .name = "package",
   .out = "*package*", .footer_panel = false, .save_dirty_files = true,
   .cmd = { {"package.bat" , .os = "win"  },
            {"./package.sh", .os = "linux"},
            {"./package.sh", .os = "mac"  }, }, },
 { .name = "build config parser generator",
   .out = "*compilation*", .footer_panel = true, .save_dirty_files = true,
   .cmd = { {"build_config_parser_generator.bat" , .os = "win"  },
            {"./build_config_parser_generator.sh", .os = "linux"},
            {"./build_config_parser_generator.sh", .os = "mac"  }, }, },
 { .name = "generate config parser",
   .out = "*gen*", .footer_panel = false, .save_dirty_files = true,
   .cmd = { {"..\\build\\generate_config_parser", .os = "win"  },
            {"../build/generate_config_parser"  , .os = "linux"},
            {"../build/generate_config_parser"  , .os = "mac"  }, }, },

 { .name = "build one time",
   .out = "*compilation*", .footer_panel = true, .save_dirty_files = true,
   .cmd = { { "pushd ..\\..\\one_time_code & build.bat" , .os = "win"   }, }, },
 { .name = "run one time",
   .out = "*run*", .footer_panel = false, .save_dirty_files = false,
   .cmd = { { "pushd ..\\..\\one_time_code\\build & one_time", .os = "win"   }, }, },

 { .name = "build pinky one time",
   .out = "*compilation*", .footer_panel = true, .save_dirty_files = true,
   .cmd = { { "pushd ..\\..\\pinky\\code & build.bat" , .os = "win"   }, }, },
 { .name = "run pinky one time",
   .out = "*run*", .footer_panel = false, .save_dirty_files = false,
   .cmd = { { "pushd ..\\..\\pinky\\build & one_time", .os = "win"   }, }, },
};

fkey_command[1]  = "build x64";
fkey_command[3]  = "build x86";
fkey_command[4]  = "build metadata";
fkey_command[5]  = "build config parser generator";
fkey_command[6]  = "generate config parser";
fkey_command[9]  = "build one time";
fkey_command[10] = "run one time";
fkey_command[12] = "package";