void setup_vc_clanlib_workspace( const std::list<std::string> &defines_list, const std::string &input_lib_dir, const std::string &input_include_dir, const std::string &output_lib_dir, const std::string &output_include_dir ) { Workspace workspace; // setup workspace paths workspace.input_lib_dir = input_lib_dir; workspace.input_include_dir = input_include_dir; workspace.output_lib_dir = output_lib_dir; workspace.output_include_dir = output_include_dir; // Write all library project files: std::list<std::string> libs_list_shared; std::list<std::string> libs_list_release; std::list<std::string> libs_list_debug; Project clanCore("Core", "clanCore", "core.h", libs_list_shared, libs_list_release, libs_list_debug, defines_list); Project clanSignals("Signals", "clanSignals", "signals.h", libs_list_shared, libs_list_release, libs_list_debug, defines_list); Project clanApp("Application", "clanApp", "application.h", libs_list_shared, libs_list_release, libs_list_debug, defines_list); Project clanNetwork("Network", "clanNetwork", "network.h", libs_list_shared, libs_list_release, libs_list_debug, defines_list); Project clanDisplay("Display", "clanDisplay", "display.h", libs_list_shared, libs_list_release, libs_list_debug, defines_list); Project clanSound("Sound", "clanSound", "sound.h", libs_list_shared, libs_list_release, libs_list_debug, defines_list); Project clanGL("GL", "clanGL", "gl.h", libs_list_shared, libs_list_release, libs_list_debug, defines_list); Project clanSDL("SDL", "clanSDL", "sdl.h", libs_list_shared, libs_list_release, libs_list_debug, defines_list); Project clanGUI("GUI", "clanGUI", "gui.h", libs_list_shared, libs_list_release, libs_list_debug, defines_list); Project clanGUIStyleSilver("GUIStyleSilver", "clanGUIStyleSilver", "guistylesilver.h", libs_list_shared, libs_list_release, libs_list_debug, defines_list); Project clanVorbis("Vorbis", "clanVorbis", "vorbis.h", libs_list_shared, libs_list_release, libs_list_debug, defines_list); Project clanMikMod("MikMod", "clanMikMod", "mikmod.h", libs_list_shared, libs_list_release, libs_list_debug, defines_list); // Add projects to workspace: workspace.projects.push_back(clanSignals); workspace.projects.push_back(clanCore); workspace.projects.push_back(clanApp); workspace.projects.push_back(clanNetwork); workspace.projects.push_back(clanDisplay); workspace.projects.push_back(clanSound); workspace.projects.push_back(clanGL); workspace.projects.push_back(clanSDL); workspace.projects.push_back(clanGUI); workspace.projects.push_back(clanGUIStyleSilver); workspace.projects.push_back(clanVorbis); workspace.projects.push_back(clanMikMod); std::list<Project>::iterator iter; for (iter = workspace.projects.begin(); iter != workspace.projects.end(); iter++) (*iter).defines_list.push_back("DIRECTINPUT_VERSION=0x0800"); // generate workspace. gen_workspace("ClanLib", "Sources", workspace); for (iter = workspace.projects.begin(); iter != workspace.projects.end(); iter++) gen_vc_project(*iter, workspace); }
/** * Move operator. * @param v The gen_workspace to move. * @return A reference to this. */ gen_workspace& operator=( gen_workspace&& v ){ gen_workspace( std::move( v ) ).swap( *this ); return *this; }