Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
	/**
	 * 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;
	}