|
@@ -74,6 +74,7 @@ namespace ToolCore
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
NETCSProject::NETCSProject(Context* context, NETProjectGen* projectGen) : NETProjectBase(context, projectGen),
|
|
NETCSProject::NETCSProject(Context* context, NETProjectGen* projectGen) : NETProjectBase(context, projectGen),
|
|
|
|
|
+ atomicNETProject_(false),
|
|
|
genAssemblyDocFile_(false),
|
|
genAssemblyDocFile_(false),
|
|
|
playerApplication_(false),
|
|
playerApplication_(false),
|
|
|
androidApplication_(false)
|
|
androidApplication_(false)
|
|
@@ -177,6 +178,24 @@ namespace ToolCore
|
|
|
|
|
|
|
|
compile.CreateChild("Link").SetValue(link);
|
|
compile.CreateChild("Link").SetValue(link);
|
|
|
|
|
|
|
|
|
|
+ // For shared projects, ensure that the folder for the link exists, otherwise VS complains
|
|
|
|
|
+ // with little red x's and Resharper (potentially other tools) have issues
|
|
|
|
|
+ if (outputType_ == "Shared")
|
|
|
|
|
+ {
|
|
|
|
|
+ String pathName, fileName, extension;
|
|
|
|
|
+
|
|
|
|
|
+ SplitPath(link, pathName, fileName, extension);
|
|
|
|
|
+
|
|
|
|
|
+ if (extension == ".cs")
|
|
|
|
|
+ {
|
|
|
|
|
+ if (!fs->Exists(projectPath_ + pathName))
|
|
|
|
|
+ {
|
|
|
|
|
+ fs->CreateDirs(projectPath_, pathName);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
@@ -406,8 +425,19 @@ namespace ToolCore
|
|
|
|
|
|
|
|
pgroup.CreateChild("Optimize").SetValue("true");
|
|
pgroup.CreateChild("Optimize").SetValue("true");
|
|
|
|
|
|
|
|
|
|
+ String config = "Release";
|
|
|
|
|
+
|
|
|
|
|
+#ifdef ATOMIC_DEV_BUILD
|
|
|
|
|
+
|
|
|
|
|
+ // If we're a core AtomicNET assembly and a project is included in solution
|
|
|
|
|
+ // output to Lib so that development changes will be picked up by project reference
|
|
|
|
|
+ if (atomicNETProject_ && projectGen_->GetAtomicProjectPath().Length())
|
|
|
|
|
+ config = "Lib";
|
|
|
|
|
+
|
|
|
|
|
+#endif
|
|
|
|
|
+
|
|
|
String outputPath = assemblyOutputPath_;
|
|
String outputPath = assemblyOutputPath_;
|
|
|
- outputPath.Replace("$ATOMIC_CONFIG$", "Release");
|
|
|
|
|
|
|
+ outputPath.Replace("$ATOMIC_CONFIG$", config);
|
|
|
|
|
|
|
|
if (IsAbsolutePath(outputPath))
|
|
if (IsAbsolutePath(outputPath))
|
|
|
{
|
|
{
|
|
@@ -510,11 +540,21 @@ namespace ToolCore
|
|
|
else
|
|
else
|
|
|
pgroup.SetAttribute("Condition", " '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ");
|
|
pgroup.SetAttribute("Condition", " '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ");
|
|
|
|
|
|
|
|
-
|
|
|
|
|
pgroup.CreateChild("Optimize").SetValue("false");
|
|
pgroup.CreateChild("Optimize").SetValue("false");
|
|
|
|
|
|
|
|
|
|
+ String config = "Debug";
|
|
|
|
|
+
|
|
|
|
|
+#ifdef ATOMIC_DEV_BUILD
|
|
|
|
|
+
|
|
|
|
|
+ // If we're a core AtomicNET assembly and a project is included in solution
|
|
|
|
|
+ // output to Lib so that development changes will be picked up by project reference
|
|
|
|
|
+ if (atomicNETProject_ && projectGen_->GetAtomicProjectPath().Length())
|
|
|
|
|
+ config = "Lib";
|
|
|
|
|
+
|
|
|
|
|
+#endif
|
|
|
|
|
+
|
|
|
String outputPath = assemblyOutputPath_;
|
|
String outputPath = assemblyOutputPath_;
|
|
|
- outputPath.Replace("$ATOMIC_CONFIG$", "Debug");
|
|
|
|
|
|
|
+ outputPath.Replace("$ATOMIC_CONFIG$", config);
|
|
|
|
|
|
|
|
if (IsAbsolutePath(outputPath))
|
|
if (IsAbsolutePath(outputPath))
|
|
|
{
|
|
{
|
|
@@ -1307,6 +1347,8 @@ namespace ToolCore
|
|
|
|
|
|
|
|
outputType_ = root["outputType"].GetString();
|
|
outputType_ = root["outputType"].GetString();
|
|
|
|
|
|
|
|
|
|
+ atomicNETProject_ = root["atomicNET"].GetBool();
|
|
|
|
|
+
|
|
|
androidApplication_ = root["androidApplication"].GetBool();
|
|
androidApplication_ = root["androidApplication"].GetBool();
|
|
|
playerApplication_ = root["playerApplication"].GetBool();
|
|
playerApplication_ = root["playerApplication"].GetBool();
|
|
|
genAssemblyDocFile_ = root["assemblyDocFile"].GetBool();
|
|
genAssemblyDocFile_ = root["assemblyDocFile"].GetBool();
|