Adding Common versioning to managed and Native components of coreclr
authorJose Perez Rodriguez <joperezr@microsoft.com>
Mon, 4 Apr 2016 23:59:41 +0000 (16:59 -0700)
committerJose Perez Rodriguez <joperezr@microsoft.com>
Wed, 6 Apr 2016 20:26:41 +0000 (13:26 -0700)
CMakeLists.txt
build.cmd
dir.props
src/mscorlib/mscorlib.csproj
src/pal/prebuilt/inc/fxver.rc

index d301a86..5c86e4e 100644 (file)
@@ -698,6 +698,7 @@ set(CMAKE_CXX_STANDARD_LIBRARIES "") # do not link against standard win32 libs i
 
 # Include the basic prebuilt headers - required for getting fileversion resource details.
 include_directories("src/pal/prebuilt/inc")
+include_directories("bin/obj")
 
 if (CLR_CMAKE_PLATFORM_UNIX)
   include_directories("src/pal/inc")
index 754c986..81a9577 100644 (file)
--- a/build.cmd
+++ b/build.cmd
@@ -268,6 +268,9 @@ REM === Start the build steps
 REM ===
 REM =========================================================================================
 
+:: Generate _version.h
+if exist "%__RootBinDir%\obj\_version.h" del "%__RootBinDir%\obj\_version.h"
+%_msbuildexe% "%__ProjectFilesDir%\build.proj" /t:GenerateVersionHeader /p:NativeVersionHeaderFile="%__RootBinDir%\obj\_version.h" /p:GenerateVersionHeader=true
 if defined __MscorlibOnly goto PerformMScorlibBuild
 
 if defined __SkipNativeBuild (
index 8b599ca..320b566 100644 (file)
--- a/dir.props
+++ b/dir.props
 
   <!-- Output paths -->
   <PropertyGroup>
-    <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)' == ''">$(RootBinDir)obj</BaseIntermediateOutputPath>
+    <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)' == ''">$(RootBinDir)obj/</BaseIntermediateOutputPath>
     <IntermediateOutputPath Condition="'$(IntermediateOutputPath)' == ''">$(BaseIntermediateOutputPath)\$(BuildOS).$(BuildArch).$(BuildType)</IntermediateOutputPath>
     <OutputPath Condition="'$(OutputPath)' == ''">$(BaseIntermediateOutputPath)\$(BuildOS).$(BuildArch).$(BuildType)</OutputPath>
     <FinalOutputPath Condition="'$(FinalOutputPath)' == ''">$(BinDir)</FinalOutputPath>
   </PropertyGroup>
+
+  <Import Condition="Exists('$(ToolsDir)BuildVersion.targets')" Project="$(ToolsDir)BuildVersion.targets" />
   
   <!-- Import Build tools common props file where repo-independent properties are found -->  
   <Import Condition="Exists('$(ToolsDir)Build.Common.props')" Project="$(ToolsDir)Build.Common.props" />  
index 8a1c0b4..271487b 100644 (file)
   </PropertyGroup>
 
   <Import Project="$(MSBuildThisFileDirectory)Tools\Versioning\GenerateVersionInfo.targets"/>
+  <!-- Override versioning targets -->
+  <Import Project="$(ToolsDir)versioning.targets" />
   <Import Project="GenerateSplitStringResources.targets"/>
   <Import Project="GenerateCompilerResponseFile.targets"/>
   <Import Project="$(PostProcessingToolsPath)" />
index 0ede4c8..a341041 100644 (file)
 /*                                                               */
 /*---------------------------------------------------------------*/
 
+#ifdef _WIN32
+#include <_version.h>
+#endif //_WIN32
+
 #ifdef RC_INVOKED
 
 VS_VERSION_INFO VERSIONINFO