#include #include #include "cms_util.h" #include "cms_err.h" #include "cms_files.h" int main(int argc, char** argv) { if (argc < 2) { fprintf(stderr, "Usage: %s \n", argv[0]); return 1; } //Initiate if (strcmp(argv[1], "init") == 0) { if (argc != 3) { fprintf(stderr, "Usage: %s init \n", argv[0]); return 1; } char* dirname = argv[2]; //Get the path of .cmsinited, which tells us //whether or not the directory is already inited char* initedPath = cms_util_path_join(dirname, CMS_FILE_INITED); //Panic if the directory is already initiated if (cms_util_file_exists(initedPath)) cms_err_panic(CMS_ERR_INITED, NULL); //Copy files from resources cms_err err; err = cms_util_dir_copy_recursive(CMS_FILE_RESOURCES, dirname); if (err) cms_err_panic(err, dirname); //Create .cmsinited file err = cms_util_file_create(initedPath); if (err) cms_err_panic(err, initedPath); } //Build else if (strcmp(argv[1], "build") == 0) { if (argc != 3) { fprintf(stderr, "Usage: %s build \n", argv[0]); return 1; } char* dirname = argv[2]; //Get the path of .cmsinited, which tells us //whether or not the directory is already inited char* initedPath = cms_util_path_join(dirname, CMS_FILE_INITED); //Panic if the directory isn't initiated if (!cms_util_file_exists(initedPath)) cms_err_panic(CMS_ERR_NOTINITED, NULL); } }