/ build_msvc / common.init.vcxproj.in
common.init.vcxproj.in
  1  <?xml version="1.0" encoding="utf-8"?>
  2  <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  3  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  4  
  5    <PropertyGroup Label="Globals">
  6      <VCProjectVersion>16.0</VCProjectVersion>
  7      <UseNativeEnvironment>true</UseNativeEnvironment>
  8     </PropertyGroup>
  9  
 10     <PropertyGroup Label="Vcpkg">
 11      <VcpkgEnabled>true</VcpkgEnabled>
 12      <VcpkgEnableManifest>true</VcpkgEnableManifest>
 13      <VcpkgManifestInstall>true</VcpkgManifestInstall>
 14      <VcpkgUseStatic>true</VcpkgUseStatic>
 15      <VcpkgAutoLink>true</VcpkgAutoLink>
 16      <VcpkgConfiguration>$(Configuration)</VcpkgConfiguration>
 17      <VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
 18    </PropertyGroup>
 19  
 20    <PropertyGroup Condition="'$(WindowsTargetPlatformVersion)'=='' and !Exists('$(WindowsSdkDir)\DesignTime\CommonConfiguration\Neutral\Windows.props')">
 21       <WindowsTargetPlatformVersion_10 Condition="'$(WindowsTargetPlatformVersion_10)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@ProductVersion)</WindowsTargetPlatformVersion_10>
 22       <WindowsTargetPlatformVersion_10 Condition="'$(WindowsTargetPlatformVersion_10)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0@ProductVersion)</WindowsTargetPlatformVersion_10>
 23       <!-- Sometimes the version in the registry has to .0 suffix, and sometimes it doesn't. Check and add it -->
 24       <WindowsTargetPlatformVersion_10 Condition="'$(WindowsTargetPlatformVersion_10)' != '' and !$(WindowsTargetPlatformVersion_10.EndsWith('.0'))">$(WindowsTargetPlatformVersion_10).0</WindowsTargetPlatformVersion_10>
 25       <WindowsTargetPlatformVersion>$(WindowsTargetPlatformVersion_10)</WindowsTargetPlatformVersion>
 26     </PropertyGroup>
 27  
 28    <ItemGroup Label="ProjectConfigurations">
 29      <ProjectConfiguration Include="Release|x64">
 30        <Configuration>Release</Configuration>
 31        <Platform>x64</Platform>
 32      </ProjectConfiguration>
 33      <ProjectConfiguration Include="Debug|x64">
 34        <Configuration>Debug</Configuration>
 35        <Platform>x64</Platform>
 36      </ProjectConfiguration>
 37    </ItemGroup>
 38  
 39    <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
 40      <LinkIncremental>false</LinkIncremental>
 41      <UseDebugLibraries>false</UseDebugLibraries>
 42      <PlatformToolset>@TOOLSET@</PlatformToolset>
 43      <CharacterSet>Unicode</CharacterSet>
 44      <GenerateManifest>No</GenerateManifest>
 45      <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
 46      <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
 47    </PropertyGroup>
 48  
 49    <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
 50      <LinkIncremental>true</LinkIncremental>
 51      <UseDebugLibraries>true</UseDebugLibraries>
 52      <PlatformToolset>@TOOLSET@</PlatformToolset>
 53      <CharacterSet>Unicode</CharacterSet>
 54      <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
 55      <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
 56    </PropertyGroup>
 57  
 58  <ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
 59      <ClCompile>
 60        <Optimization>MaxSpeed</Optimization>
 61        <WholeProgramOptimization>false</WholeProgramOptimization>
 62        <FunctionLevelLinking>true</FunctionLevelLinking>
 63        <IntrinsicFunctions>true</IntrinsicFunctions>
 64        <SDLCheck>true</SDLCheck>
 65        <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
 66        <DebugInformationFormat>None</DebugInformationFormat>
 67      </ClCompile>
 68      <Link>
 69        <EnableCOMDATFolding>false</EnableCOMDATFolding>
 70        <OptimizeReferences>false</OptimizeReferences>
 71        <AdditionalOptions>/LTCG:OFF</AdditionalOptions>
 72      </Link>
 73    </ItemDefinitionGroup>
 74  
 75    <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
 76      <ClCompile>
 77        <Optimization>Disabled</Optimization>
 78        <WholeProgramOptimization>false</WholeProgramOptimization>
 79        <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 80        <SDLCheck>true</SDLCheck>
 81        <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
 82        <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
 83      </ClCompile>
 84    </ItemDefinitionGroup>
 85  
 86    <ItemDefinitionGroup>
 87      <ClCompile>
 88        <WarningLevel>Level3</WarningLevel>
 89        <PrecompiledHeader>NotUsing</PrecompiledHeader>
 90        <AdditionalOptions>/utf-8 /Zc:__cplusplus /std:c++20 %(AdditionalOptions)</AdditionalOptions>
 91        <DisableSpecificWarnings>4018;4244;4267;4715;4805</DisableSpecificWarnings>
 92        <TreatWarningAsError>true</TreatWarningAsError>
 93        <PreprocessorDefinitions>_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING;SECP256K1_STATIC;ZMQ_STATIC;NOMINMAX;WIN32;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_CONSOLE;_WIN32_WINNT=0x0601;_WIN32_IE=0x0501;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 94        <AdditionalIncludeDirectories>..\..\src;..\..\src\minisketch\include;..\..\src\univalue\include;..\..\src\secp256k1\include;..\..\src\leveldb\include;..\..\src\leveldb\helpers\memenv;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 95      </ClCompile>
 96      <Link>
 97        <SubSystem>Console</SubSystem>
 98        <AdditionalDependencies>Iphlpapi.lib;ws2_32.lib;Shlwapi.lib;kernel32.lib;user32.lib;gdi32.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
 99        <RandomizedBaseAddress>true</RandomizedBaseAddress>
100      </Link>
101    </ItemDefinitionGroup>
102    <Import Project="common.init.vcxproj.user" Condition="Exists('common.init.vcxproj.user')" />
103  </Project>