Reputation: 163
I am trying to build a visual studio solution from the windows command line as follows:
msbuild solution.sln /t:Build /p:Configuration=Release
But I need to exclude a certain directory from one of the projects, and include another one. How do I do that?
Upvotes: 2
Views: 9167
Reputation: 28086
In the project dir, add two folders "CppFilesForDebug" and "CppFilesForRelease".
The "CppFilesForDebug" folder contains "Debug1.cpp,Debug2.cpp,Debug3.cpp" while "CppFilesForRelease" folder contains "Release1.cpp,Release2.cpp,Release3.cpp ".
Then add statement in the bottom of the vcxproj file like red rectangle below:
The red rectangle means we build and compile cpp files in "CppFileForDebug" folder when using Debug mode. And in release mode, we only compile cpp files in "CppFilesForRelease" folder insteat of cpp files in "CppFilesForDebug" folder.
I test it with C++ projects in VS2015 and VS2017 and it works. I think it can go well with your command "msbuild solution.sln /t:Build /p:Configuration=Release"
. Please it a try and any feedback would be great.
Update: IF your issue results from QT conflicts, In vs, go QT menu ->Qt Project Settings->MocDirectory-> change it to
.\GeneratedFiles
Note: Don forget the "." before \GenerateFiles. Hope it helps. Any update you can share here.
Upvotes: 1
Reputation: 5801
Use this in your project csproj
file:
<Compile Include="Folder1/*" Condition=" '$(Configuration)' == 'Release' " />
<Compile Exclude="Folder2/*" Condition=" '$(Configuration)' == 'Release' " />
Of course, you already set up the Configuration
property, but you can replace it with your own property and set him from command line same as Configuration
.
Upvotes: 3