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 if (projectname == "sced") then
package.name = "sced" package.name = "sced"
exename = "sced" exename = "sced"
objdirprefix = "ScEd_" objdirprefix = "obj/ScEd_"
package.build = 0 -- Don't build Sced by default
else else
package.name = "pyrogenesis" package.name = "pyrogenesis"
exename = "ps" exename = "ps"
objdirprefix = "" objdirprefix = "obj/"
end end
-- Windowed executable on windows, "exe" on all other platforms -- Windowed executable on windows, "exe" on all other platforms
@ -32,7 +33,6 @@ function setuppackage (projectname)
package.config["Release"].target = exename package.config["Release"].target = exename
package.config["Testing"].target = exename.."_test" package.config["Testing"].target = exename.."_test"
-- TODO: Implement objdir in Premake
package.config["Debug"].objdir = objdirprefix.."Debug" package.config["Debug"].objdir = objdirprefix.."Debug"
package.config["Release"].objdir = objdirprefix.."Release" package.config["Release"].objdir = objdirprefix.."Release"
package.config["Testing"].objdir = objdirprefix.."Testing" package.config["Testing"].objdir = objdirprefix.."Testing"
@ -225,4 +225,4 @@ function setuppackage (projectname)
end end
setuppackage("pyrogenesis") 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 int getObjectFromArray(int ref, int i);
static const char* getString(int ref, char* name); static const char* getString(int ref, char* name);
static const char* getStringFromArray(int ref, int index); static const char* getStringFromArray(int ref, int index);
static double getNumber(int ref, char* name);
static int addoption(lua_State* L); static int addoption(lua_State* L);
static int copyfile(lua_State* L); static int copyfile(lua_State* L);
@ -337,6 +338,7 @@ static int finishProject()
for (j = 0; j < package->numConfigs; ++j) for (j = 0; j < package->numConfigs; ++j)
{ {
int cfg; int cfg;
const char* objdir;
Config* config = (Config*)malloc(sizeof(Config)); Config* config = (Config*)malloc(sizeof(Config));
package->config[j] = 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 = getString(pkg, "target");
if (config->target == NULL) config->target = package->name; 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"); config->pchHeader = getString(cfg, "pchHeader");
if (!config->pchHeader) if (!config->pchHeader)
config->pchHeader = getString(pkg, "pchHeader"); config->pchHeader = getString(pkg, "pchHeader");
@ -357,6 +370,13 @@ static int finishProject()
if (!config->pchSource) if (!config->pchSource)
config->pchSource = getString(pkg, "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, "buildflags", &config->buildFlags, &config->numBuildFlags);
getConfigList(pkg, cfg, "buildoptions", &config->buildOptions, &config->numBuildOptions); getConfigList(pkg, cfg, "buildoptions", &config->buildOptions, &config->numBuildOptions);
getConfigList(pkg, cfg, "defines", &config->defines, &config->numDefines); getConfigList(pkg, cfg, "defines", &config->defines, &config->numDefines);
@ -392,6 +412,7 @@ void closeProject()
free((char**)config->linkFlags); free((char**)config->linkFlags);
free((char**)config->linkOptions); free((char**)config->linkOptions);
free((char**)config->links); free((char**)config->links);
free((char*)config->objdir);
free(package->config[j]); free(package->config[j]);
} }
free(package->config); 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) static const char* goDeep(int ref, int* index)
{ {
int i; int i;

View File

@ -23,6 +23,8 @@ typedef struct _Config
const char** links; const char** links;
const char* pchHeader; const char* pchHeader;
const char* pchSource; const char* pchSource;
char* objdir;
int build; // 0 or 1, to indicate whether to include it in the default build
int numBuildFlags; int numBuildFlags;
int numBuildOptions; int numBuildOptions;
int numDefines; int numDefines;

View File

@ -292,7 +292,7 @@ static int writeVcProject(Package* package)
fprintf(file, reversePath(package->path, outdir, WIN32)); fprintf(file, reversePath(package->path, outdir, WIN32));
insertPath(file, getDirectory(config->target), WIN32); insertPath(file, getDirectory(config->target), WIN32);
fprintf(file, "\"\n"); 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) if (strcmp(package->kind, "lib") != 0)
fprintf(file, "# PROP Ignore_Export_Lib %d\n", importlib ? 0 : 1); fprintf(file, "# PROP Ignore_Export_Lib %d\n", importlib ? 0 : 1);
fprintf(file, "# PROP Target_Dir \"\"\n"); fprintf(file, "# PROP Target_Dir \"\"\n");
@ -470,7 +470,7 @@ static int writeCsProject(Package* package)
fprintf(file, reversePath(package->path, project->binaries, WIN32)); fprintf(file, reversePath(package->path, project->binaries, WIN32));
insertPath(file, getDirectory(config->target), WIN32); insertPath(file, getDirectory(config->target), WIN32);
fprintf(file, "\"\n"); 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, "# PROP Target_Dir \"\"\n");
fprintf(file, "# Begin Special Build Tool\n"); fprintf(file, "# Begin Special Build Tool\n");
fprintf(file, "SOURCE=\"$(InputPath)\"\n"); fprintf(file, "SOURCE=\"$(InputPath)\"\n");
@ -484,7 +484,7 @@ static int writeCsProject(Package* package)
if (unsafe) fprintf(file, " /unsafe"); if (unsafe) fprintf(file, " /unsafe");
fprintf(file, " /lib:\"%s\"", reversePath(package->path, project->binaries, WIN32)); fprintf(file, " /lib:\"%s\"", reversePath(package->path, project->binaries, WIN32));
writeList(file, config->links, " /r:", ".dll", "", checkRef, &i); 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, "# End Special Build Tool\n");
fprintf(file, "\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, "!%s \"$(CFG)\" == \"%s - Win32 %s\"", (i == 0 ? "IF" : "ELSEIF"), replaceChars(package->name,"-"), config->name);
fprintf(file, "\n"); fprintf(file, "\n");
fprintf(file, "# Begin Custom Build - %s\n", source); 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, "InputPath=.\\%s\n", translatePath(source, WIN32));
fprintf(file, "\n"); fprintf(file, "\n");
fprintf(file, "\"$(INTDIR)\\%s\" : $(SOURCE) \"$(INTDIR)\" \"$(OUTDIR)\"\n", translatePath(source, WIN32)); 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]; Config* config = package->config[j];
PkgData* data = (PkgData*)package->data; 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.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"); 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)); fprintf(file, reversePath(path, (configType != 4 ? project->binaries : project->libraries), WIN32));
insertPath(file, getDirectory(config->target), WIN32); insertPath(file, getDirectory(config->target), WIN32);
fprintf(file, "\"\n"); 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, " ConfigurationType=\"%d\"\n", configType);
fprintf(file, " CharacterSet=\"2\""); fprintf(file, " CharacterSet=\"2\"");
if (managed) fprintf(file, "\n ManagedExtensions=\"TRUE\""); if (managed) fprintf(file, "\n ManagedExtensions=\"TRUE\"");
@ -490,7 +491,7 @@ static int writeVcProject(int version, Package* package)
} }
else 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); fprintf(file, " SubSystem=\"%d\"\n", subsystem);