forked from 0ad/0ad
Added the ScEd project into the default solution/workspace (but set to not be built)
This was SVN commit r1603.
This commit is contained in:
parent
1c2acfed8c
commit
fb14adc68b
Binary file not shown.
@ -15,11 +15,12 @@ function setuppackage (projectname)
|
||||
if (projectname == "sced") then
|
||||
package.name = "sced"
|
||||
exename = "sced"
|
||||
objdirprefix = "ScEd_"
|
||||
objdirprefix = "obj/ScEd_"
|
||||
package.build = 0 -- Don't build Sced by default
|
||||
else
|
||||
package.name = "pyrogenesis"
|
||||
exename = "ps"
|
||||
objdirprefix = ""
|
||||
objdirprefix = "obj/"
|
||||
end
|
||||
|
||||
-- Windowed executable on windows, "exe" on all other platforms
|
||||
@ -32,7 +33,6 @@ function setuppackage (projectname)
|
||||
package.config["Release"].target = exename
|
||||
package.config["Testing"].target = exename.."_test"
|
||||
|
||||
-- TODO: Implement objdir in Premake
|
||||
package.config["Debug"].objdir = objdirprefix.."Debug"
|
||||
package.config["Release"].objdir = objdirprefix.."Release"
|
||||
package.config["Testing"].objdir = objdirprefix.."Testing"
|
||||
@ -225,4 +225,4 @@ function setuppackage (projectname)
|
||||
end
|
||||
|
||||
setuppackage("pyrogenesis")
|
||||
-- setuppackage("sced")
|
||||
setuppackage("sced")
|
@ -35,6 +35,7 @@ static int getDeepArraySize(int ref);
|
||||
static int getObjectFromArray(int ref, int i);
|
||||
static const char* getString(int ref, char* name);
|
||||
static const char* getStringFromArray(int ref, int index);
|
||||
static double getNumber(int ref, char* name);
|
||||
|
||||
static int addoption(lua_State* L);
|
||||
static int copyfile(lua_State* L);
|
||||
@ -337,6 +338,7 @@ static int finishProject()
|
||||
for (j = 0; j < package->numConfigs; ++j)
|
||||
{
|
||||
int cfg;
|
||||
const char* objdir;
|
||||
|
||||
Config* config = (Config*)malloc(sizeof(Config));
|
||||
package->config[j] = config;
|
||||
@ -349,6 +351,17 @@ static int finishProject()
|
||||
if (config->target == NULL) config->target = getString(pkg, "target");
|
||||
if (config->target == NULL) config->target = package->name;
|
||||
|
||||
objdir = getString(cfg, "objdir");
|
||||
if (objdir == NULL)
|
||||
{
|
||||
config->objdir = (char*)malloc(4+strlen(config->name)+1);
|
||||
sprintf(config->objdir, "obj\\%s", config->name);
|
||||
}
|
||||
else
|
||||
{
|
||||
config->objdir = strdup(translatePath(objdir, NATIVE));
|
||||
}
|
||||
|
||||
config->pchHeader = getString(cfg, "pchHeader");
|
||||
if (!config->pchHeader)
|
||||
config->pchHeader = getString(pkg, "pchHeader");
|
||||
@ -357,6 +370,13 @@ static int finishProject()
|
||||
if (!config->pchSource)
|
||||
config->pchSource = getString(pkg, "pchSource");
|
||||
|
||||
if (getString(cfg, "build"))
|
||||
config->build = (getNumber(cfg, "build") != 0.0);
|
||||
else if (getString(pkg, "build"))
|
||||
config->build = (getNumber(pkg, "build") != 0.0);
|
||||
else
|
||||
config->build = 1;
|
||||
|
||||
getConfigList(pkg, cfg, "buildflags", &config->buildFlags, &config->numBuildFlags);
|
||||
getConfigList(pkg, cfg, "buildoptions", &config->buildOptions, &config->numBuildOptions);
|
||||
getConfigList(pkg, cfg, "defines", &config->defines, &config->numDefines);
|
||||
@ -392,6 +412,7 @@ void closeProject()
|
||||
free((char**)config->linkFlags);
|
||||
free((char**)config->linkOptions);
|
||||
free((char**)config->links);
|
||||
free((char*)config->objdir);
|
||||
free(package->config[j]);
|
||||
}
|
||||
free(package->config);
|
||||
@ -487,6 +508,20 @@ static const char* getString(int ref, char* name)
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
static double getNumber(int ref, char* name)
|
||||
{
|
||||
double num;
|
||||
lua_getref(L, ref);
|
||||
lua_pushstring(L, name);
|
||||
lua_gettable(L, -2);
|
||||
num = lua_tonumber(L, -1);
|
||||
lua_pop(L, 2);
|
||||
|
||||
return num;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
static const char* goDeep(int ref, int* index)
|
||||
{
|
||||
int i;
|
||||
|
@ -23,6 +23,8 @@ typedef struct _Config
|
||||
const char** links;
|
||||
const char* pchHeader;
|
||||
const char* pchSource;
|
||||
char* objdir;
|
||||
int build; // 0 or 1, to indicate whether to include it in the default build
|
||||
int numBuildFlags;
|
||||
int numBuildOptions;
|
||||
int numDefines;
|
||||
|
@ -292,7 +292,7 @@ static int writeVcProject(Package* package)
|
||||
fprintf(file, reversePath(package->path, outdir, WIN32));
|
||||
insertPath(file, getDirectory(config->target), WIN32);
|
||||
fprintf(file, "\"\n");
|
||||
fprintf(file, "# PROP Intermediate_Dir \"obj\\%s\\\"\n", config->name);
|
||||
fprintf(file, "# PROP Intermediate_Dir \"%s\\\"\n", config->objdir);
|
||||
if (strcmp(package->kind, "lib") != 0)
|
||||
fprintf(file, "# PROP Ignore_Export_Lib %d\n", importlib ? 0 : 1);
|
||||
fprintf(file, "# PROP Target_Dir \"\"\n");
|
||||
@ -470,7 +470,7 @@ static int writeCsProject(Package* package)
|
||||
fprintf(file, reversePath(package->path, project->binaries, WIN32));
|
||||
insertPath(file, getDirectory(config->target), WIN32);
|
||||
fprintf(file, "\"\n");
|
||||
fprintf(file, "# PROP Intermediate_Dir \"obj\\%s\"\n", config->name);
|
||||
fprintf(file, "# PROP Intermediate_Dir \"%s\"\n", config->objdir);
|
||||
fprintf(file, "# PROP Target_Dir \"\"\n");
|
||||
fprintf(file, "# Begin Special Build Tool\n");
|
||||
fprintf(file, "SOURCE=\"$(InputPath)\"\n");
|
||||
@ -484,7 +484,7 @@ static int writeCsProject(Package* package)
|
||||
if (unsafe) fprintf(file, " /unsafe");
|
||||
fprintf(file, " /lib:\"%s\"", reversePath(package->path, project->binaries, WIN32));
|
||||
writeList(file, config->links, " /r:", ".dll", "", checkRef, &i);
|
||||
fprintf(file, " obj\\%s\\*.cs\n", config->name);
|
||||
fprintf(file, " %s\\*.cs\n", config->objdir);
|
||||
|
||||
fprintf(file, "# End Special Build Tool\n");
|
||||
fprintf(file, "\n");
|
||||
@ -512,7 +512,7 @@ static int writeCsProject(Package* package)
|
||||
fprintf(file, "!%s \"$(CFG)\" == \"%s - Win32 %s\"", (i == 0 ? "IF" : "ELSEIF"), replaceChars(package->name,"-"), config->name);
|
||||
fprintf(file, "\n");
|
||||
fprintf(file, "# Begin Custom Build - %s\n", source);
|
||||
fprintf(file, "IntDir=.\\obj\\%s\n", config->name);
|
||||
fprintf(file, "IntDir=.\\%s\n", config->objdir);
|
||||
fprintf(file, "InputPath=.\\%s\n", translatePath(source, WIN32));
|
||||
fprintf(file, "\n");
|
||||
fprintf(file, "\"$(INTDIR)\\%s\" : $(SOURCE) \"$(INTDIR)\" \"$(OUTDIR)\"\n", translatePath(source, WIN32));
|
||||
|
@ -205,7 +205,8 @@ static int writeSolution(int version)
|
||||
Config* config = package->config[j];
|
||||
PkgData* data = (PkgData*)package->data;
|
||||
fprintf(file, "\t\t{%s}.%s.ActiveCfg = %s|%s\n", data->projGuid, config->name, config->name, data->projType);
|
||||
fprintf(file, "\t\t{%s}.%s.Build.0 = %s|%s\n", data->projGuid, config->name, config->name, data->projType);
|
||||
if (config->build)
|
||||
fprintf(file, "\t\t{%s}.%s.Build.0 = %s|%s\n", data->projGuid, config->name, config->name, data->projType);
|
||||
}
|
||||
}
|
||||
fprintf(file, "\tEndGlobalSection\n");
|
||||
@ -411,7 +412,7 @@ static int writeVcProject(int version, Package* package)
|
||||
fprintf(file, reversePath(path, (configType != 4 ? project->binaries : project->libraries), WIN32));
|
||||
insertPath(file, getDirectory(config->target), WIN32);
|
||||
fprintf(file, "\"\n");
|
||||
fprintf(file, " IntermediateDirectory=\"obj\\%s\\\"\n", config->name);
|
||||
fprintf(file, " IntermediateDirectory=\"%s\\\"\n", config->objdir);
|
||||
fprintf(file, " ConfigurationType=\"%d\"\n", configType);
|
||||
fprintf(file, " CharacterSet=\"2\"");
|
||||
if (managed) fprintf(file, "\n ManagedExtensions=\"TRUE\"");
|
||||
@ -490,7 +491,7 @@ static int writeVcProject(int version, Package* package)
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(file, " ProgramDatabaseFile=\"obj\\%s\\%s.pdb\"\n", config->name, getFilename(config->target, 0));
|
||||
fprintf(file, " ProgramDatabaseFile=\"%s\\%s.pdb\"\n", config->objdir, getFilename(config->target, 0));
|
||||
}
|
||||
}
|
||||
fprintf(file, " SubSystem=\"%d\"\n", subsystem);
|
||||
|
Loading…
Reference in New Issue
Block a user