void createDestDir() { std::string dest_folder = Settings::destFolder(); std::cout << "* Checking output directory " << dest_folder.c_str() << std::endl; // ----------- check dest folder stuff ---------- bool dest_exists = fileExists(dest_folder); if(dest_exists and Settings::canOverwriteDir()) { std::cout << "* Erasing old output directory " << dest_folder.c_str() << std::endl; std::string command = std::string("rm -r ") + dest_folder; if( systemp( command ) != 0) { std::cerr << "\n\nError : An error occured while attempting to override dest folder." << std::endl; exit(1); } dest_exists = false; } if(!dest_exists) { if(Settings::canCreateDir()) { std::cout << "* Creating output directory " << dest_folder.c_str() << std::endl; std::string command = std::string("mkdir -p ") + dest_folder; if( systemp( command ) != 0) { std::cerr << "\n\nError : An error occured while creating dest folder." << std::endl; exit(1); } } else { std::cerr << "\n\nError : Dest folder does not exist. Create it or pass the appropriate flag for automatic dest dir creation." << std::endl; exit(1); } } }
void fixRpathsOnFile(const std::string& original_file, const std::string& file_to_fix) { std::vector<std::string> rpaths_to_fix; std::map<std::string, std::vector<std::string> >::iterator found = rpaths_per_file.find(original_file); if (found != rpaths_per_file.end()) { rpaths_to_fix = found->second; } for (size_t i=0; i < rpaths_to_fix.size(); ++i) { std::string command = std::string("install_name_tool -rpath ") + rpaths_to_fix[i] + " " + Settings::inside_lib_path() + " " + file_to_fix; if ( systemp(command) != 0) { std::cerr << "\n\nError : An error occured while trying to fix depencies of " << file_to_fix << std::endl; exit(1); } } }