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:
Ykkrosh 2004-12-31 13:50:53 +00:00
parent 1c2acfed8c
commit fb14adc68b
6 changed files with 49 additions and 11 deletions

Binary file not shown.

View File

@ -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")

View File

@ -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;

View File

@ -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;

View File

@ -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));

View File

@ -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);