-
February 4th, 2013, 03:02 AM
#1
MSBUILD commands for C++ VS2010
Hi All,
I'm working on project migration in which a VS2003 C++ project is migrated to VS2010. The VS2003 project was built using NMAKE whereas the VS2010 project should use MSBUILD.
Based on the NMAKE commands I'm trying to create the respective MSBUILD file.
Below is a "compiling and linking command" in NMAKE file.
#macro DEFINE_FORCE_BUILD_VERSION
!ifdef FORCE_BUILD_VERSION
DEFINE_FORCE_BUILD_VERSION=/DFORCE_BUILD_VERSION=$(FORCE_BUILD_VERSION)
!else
DEFINE_FORCE_BUILD_VERSION=
!endif
cl /GX /MD /Zm800 /I..\..\include /I"$(PBASE_ANCHOR)\hs_regex\include" $(DEFINE_FORCE_BUILD_VERSION) /Fecode_generator.exe code_generator.cpp /link /LIBPATH:"$(PBASE_ANCHOR)\hs_regex\lib" hs_regex_static.lib
I'm trying to write its corresponding msbuild command.
<ItemGroup>
<ClInclude Include="$(PBASE_ANCHOR)\hs_regex\lib\hs_regex.lib" />
<ClInclude Include="$(PBASE_ANCHOR)\hs_regex\lib\hs_regex_static.lib" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(CODEGEN_DIR)\uff_code_generator.cpp" />
<ClCompile Include="$(CODEGEN_DIR)\cg_bootstrap.cpp" />
</ItemGroup>
<Target Name="build" >
<MSBuild Projects="@(ClCompile)" Targets="$(DEVENV_OPTION)" Properties="Configuration=$(CONFIGURATION)"/>
</Target>
This is what I have written to compile-n-link the code_generator.cpp and \cg_bootstrap.cpp.
Am I missing any targets or properties to get the .exe file, .obj file for code_generator.cpp and cg_bootstrap.cpp??
Any help would be appreciated.. :-)
-
March 13th, 2013, 01:54 AM
#2
Re: MSBUILD commands for C++ VS2010
Finally I got it solved.
---- NMAKE command -----
cl /GX /MD /Zm800 /I..\..\include /I"$(PBASE_ANCHOR)\hs_regex\include" $(DEFINE_FORCE_BUILD_VERSION) /Fecode_generator.exe code_generator.cpp /link /LIBPATH:"$(PBASE_ANCHOR)\hs_regex\lib" hs_regex_static.lib
--MSBUILD Command----
<UsingTask TaskName="CL" AssemblyFile="C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Build.CPPTasks.Win32.dll" />
<UsingTask TaskName="Link" AssemblyFile="C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Build.CPPTasks.Win32.dll" />
<ItemGroup>
<ClCompile Include="$(CODEGEN_DIR)\cg_bootstrap.cpp" />
</ItemGroup>
<ItemGroup>
<Compile Include="$(CODEGEN_DIR)\uff_code_generator.cpp" />
</ItemGroup>
<Target Name="build">
<Message Text="$(PDB_CMD_GLOBAL_TRACE_TARGET)"/>
<CL Sources="@(ClCompile);" AdditionalOptions="/EHsc" />
<Link Sources="@(ClCompile -> '%(Filename).obj')" />
<Exec Command="cg_bootstrap.exe cg_validators.inc" />
<CL Sources="@(Compile)" AdditionalOptions="/EHsc /MD /Zm800 /Feuff_code_generator.exe uff_code_generator.cpp" AdditionalIncludeDirectories="..\..\include;$(PBASE_ANCHOR)\hs_regex\include" />
<Link Sources="@(Compile -> '%(Filename).obj')" ForceFileOutput="UndefinedSymbolOnly" AdditionalDependencies="hs_regex_static.lib" AdditionalLibraryDirectories="$(PBASE_ANCHOR)\hs_regex\lib" />
<Exec Command="copy /y %22$(CODEGEN_DIR)\uff_code_generator.exe%22 %22$(BUILDBIN)%22" />
</Target>
Thanks,
Dinesh Sundaram
Tags for this Thread
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|