Skip to content

Commit

Permalink
Add support for compiling with Visual Studio 2019
Browse files Browse the repository at this point in the history
  • Loading branch information
amato-gianluca committed Sep 30, 2019
1 parent 7488273 commit 14fd979
Show file tree
Hide file tree
Showing 10 changed files with 794 additions and 1 deletion.
202 changes: 202 additions & 0 deletions msvc/VS2019/autogtp.vcxproj

Large diffs are not rendered by default.

110 changes: 110 additions & 0 deletions msvc/VS2019/autogtp.vcxproj.filters
@@ -0,0 +1,110 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Generated Files">
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
<Extensions>cpp;c;cxx;moc;h;def;odl;idl;res;</Extensions>
</Filter>
<Filter Include="Generated Files">
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
<Extensions>cpp;c;cxx;moc;h;def;odl;idl;res;</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="Debug\moc_Worker.cpp">
<Filter>Generated Files</Filter>
</ClCompile>
<ClCompile Include="Release\moc_Worker.cpp">
<Filter>Generated Files</Filter>
</ClCompile>
<ClCompile Include="Debug\moc_Management.cpp">
<Filter>Generated Files</Filter>
</ClCompile>
<ClCompile Include="Release\moc_Management.cpp">
<Filter>Generated Files</Filter>
</ClCompile>
<ClCompile Include="Debug\moc_Job.cpp">
<Filter>Generated Files</Filter>
</ClCompile>
<ClCompile Include="Release\moc_Job.cpp">
<Filter>Generated Files</Filter>
</ClCompile>
<ClCompile Include="Debug\moc_Console.cpp">
<Filter>Generated Files</Filter>
</ClCompile>
<ClCompile Include="Release\moc_Console.cpp">
<Filter>Generated Files</Filter>
</ClCompile>
<ClCompile Include="..\..\autogtp\Game.cpp">
<Filter>Generated Files</Filter>
</ClCompile>
<ClCompile Include="..\..\autogtp\Job.cpp">
<Filter>Generated Files</Filter>
</ClCompile>
<ClCompile Include="..\..\autogtp\Order.cpp">
<Filter>Generated Files</Filter>
</ClCompile>
<ClCompile Include="..\..\autogtp\Management.cpp">
<Filter>Generated Files</Filter>
</ClCompile>
<ClCompile Include="..\..\autogtp\Worker.cpp">
<Filter>Generated Files</Filter>
</ClCompile>
<ClCompile Include="..\..\autogtp\main.cpp">
<Filter>Generated Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\autogtp\Game.h">
<Filter>Generated Files</Filter>
</ClInclude>
<ClInclude Include="..\..\autogtp\Order.h">
<Filter>Generated Files</Filter>
</ClInclude>
<ClInclude Include="..\..\autogtp\Result.h">
<Filter>Generated Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="debug\moc_predefs.h.cbt">
<Filter>Generated Files</Filter>
</CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt">
<Filter>Generated Files</Filter>
</CustomBuild>
<CustomBuild Include="..\curl.exe" />
<CustomBuild Include="..\gzip.exe" />
<CustomBuild Include="..\..\autogtp\Job.h">
<Filter>Generated Files</Filter>
</CustomBuild>
<CustomBuild Include="..\..\autogtp\Management.h">
<Filter>Generated Files</Filter>
</CustomBuild>
<CustomBuild Include="..\..\autogtp\Worker.h">
<Filter>Generated Files</Filter>
</CustomBuild>
<CustomBuild Include="..\..\autogtp\Console.h">
<Filter>Generated Files</Filter>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<None Include="..\..\autogtp\autogtp.pro" />
<None Include="..\..\autogtp\README.md" />
</ItemGroup>
</Project>
8 changes: 8 additions & 0 deletions msvc/VS2019/cmake_build.bat
@@ -0,0 +1,8 @@
set PKG_FOLDER="%cd%\msvc\packages"
git submodule update --init --recursive
mkdir build
cd build
set BLAS_HOME="..\msvc\packages\OpenBLAS.0.2.14.1\lib\native"
for /F %%f in ("%features%") do set DEFINES=%DEFINES% -D%%f=1
cmake -G "Visual Studio 15 2017 Win64" %DEFINES% -DCMAKE_PREFIX_PATH="%QTDIR%/lib/cmake/" -DBOOST_ROOT="C:/Libraries/boost_1_65_1" -DBOOST_LIBRARYDIR="C:/Libraries/boost_1_65_1/lib64-msvc-14.1" -DBoost_USE_STATIC_LIBS=ON -DZLIB_ROOT="%PKG_FOLDER%/zlib-msvc14-x64.1.2.11.7795/build/native" -DZLIB_LIBRARY="%PKG_FOLDER%/zlib-msvc14-x64.1.2.11.7795/build/native/zlib-msvc14-x64.targets" -DOpenCL_LIBRARY="%PKG_FOLDER%/opencl-nug.0.777.12/build/native/opencl-nug.targets" -DOpenCL_INCLUDE_DIR="%PKG_FOLDER%/opencl-nug.0.777.12/build/native/include" -DBLAS_LIBRARIES="%PKG_FOLDER%/OpenBLAS.0.2.14.1/build/native/openblas.targets" -Dgtest_force_shared_crt=ON ..
cmake --build . --config Release -- /maxcpucount:1
231 changes: 231 additions & 0 deletions msvc/VS2019/leela-zero.vcxproj
@@ -0,0 +1,231 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\CL\cl2.hpp" />
<ClInclude Include="..\..\src\config.h" />
<ClInclude Include="..\..\src\FastBoard.h" />
<ClInclude Include="..\..\src\FastState.h" />
<ClInclude Include="..\..\src\FullBoard.h" />
<ClInclude Include="..\..\src\GameState.h" />
<ClInclude Include="..\..\src\GTP.h" />
<ClInclude Include="..\..\src\Im2Col.h" />
<ClInclude Include="..\..\src\KoState.h" />
<ClInclude Include="..\..\src\Network.h" />
<ClInclude Include="..\..\src\NNCache.h" />
<ClInclude Include="..\..\src\ForwardPipe.h" />
<ClInclude Include="..\..\src\CPUPipe.h" />
<ClInclude Include="..\..\src\OpenCL.h" />
<ClInclude Include="..\..\src\OpenCLScheduler.h" />
<ClInclude Include="..\..\src\Random.h" />
<ClInclude Include="..\..\src\SGFParser.h" />
<ClInclude Include="..\..\src\SGFTree.h" />
<ClInclude Include="..\..\src\SMP.h" />
<ClInclude Include="..\..\src\ThreadPool.h" />
<ClInclude Include="..\..\src\TimeControl.h" />
<ClInclude Include="..\..\src\Timing.h" />
<ClInclude Include="..\..\src\Training.h" />
<ClInclude Include="..\..\src\Tuner.h" />
<ClInclude Include="..\..\src\UCTNode.h" />
<ClInclude Include="..\..\src\UCTNodePointer.h" />
<ClInclude Include="..\..\src\UCTSearch.h" />
<ClInclude Include="..\..\src\Utils.h" />
<ClInclude Include="..\..\src\Zobrist.h" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
<ClCompile Include="..\..\src\FastBoard.cpp" />
<ClCompile Include="..\..\src\FastState.cpp" />
<ClCompile Include="..\..\src\FullBoard.cpp" />
<ClCompile Include="..\..\src\GameState.cpp" />
<ClCompile Include="..\..\src\GTP.cpp" />
<ClCompile Include="..\..\src\KoState.cpp" />
<ClCompile Include="..\..\src\Leela.cpp" />
<ClCompile Include="..\..\src\Network.cpp" />
<ClCompile Include="..\..\src\NNCache.cpp" />
<ClCompile Include="..\..\src\CPUPipe.cpp" />
<ClCompile Include="..\..\src\OpenCL.cpp" />
<ClCompile Include="..\..\src\OpenCLScheduler.cpp" />
<ClCompile Include="..\..\src\Random.cpp" />
<ClCompile Include="..\..\src\SGFParser.cpp" />
<ClCompile Include="..\..\src\SGFTree.cpp" />
<ClCompile Include="..\..\src\SHA256.cpp" />
<ClCompile Include="..\..\src\SMP.cpp" />
<ClCompile Include="..\..\src\TimeControl.cpp" />
<ClCompile Include="..\..\src\Timing.cpp" />
<ClCompile Include="..\..\src\Training.cpp" />
<ClCompile Include="..\..\src\Tuner.cpp" />
<ClCompile Include="..\..\src\UCTNode.cpp" />
<ClCompile Include="..\..\src\UCTNodePointer.cpp" />
<ClCompile Include="..\..\src\UCTNodeRoot.cpp" />
<ClCompile Include="..\..\src\UCTSearch.cpp" />
<ClCompile Include="..\..\src\Utils.cpp" />
<ClCompile Include="..\..\src\Zobrist.cpp" />
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{7B887BFE-8D2C-46CD-B139-5213434BF218}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>leelazero</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<IncludePath>..\..\src\Eigen;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>leelaz</TargetName>
<IntDir>$(Platform)\$(Configuration)\leelaz\</IntDir>
<IncludePath>..\..\src\Eigen;$(IncludePath)</IncludePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
<Import Project="..\packages\OpenBLAS.0.2.14.1\build\native\openblas.targets" Condition="Exists('..\packages\OpenBLAS.0.2.14.1\build\native\openblas.targets')" />
<Import Project="..\packages\opencl-nug.0.777.12\build\native\opencl-nug.targets" Condition="Exists('..\packages\opencl-nug.0.777.12\build\native\opencl-nug.targets')" />
<Import Project="..\packages\zlib-msvc14-x64.1.2.11.7795\build\native\zlib-msvc14-x64.targets" Condition="Exists('..\packages\zlib-msvc14-x64.1.2.11.7795\build\native\zlib-msvc14-x64.targets')" />
<Import Project="..\packages\boost.1.68.0.0\build\boost.targets" Condition="Exists('..\packages\boost.1.68.0.0\build\boost.targets')" />
<Import Project="..\packages\boost_filesystem-vc141.1.68.0.0\build\boost_filesystem-vc141.targets" Condition="Exists('..\packages\boost_filesystem-vc141.1.68.0.0\build\boost_filesystem-vc141.targets')" />
<Import Project="..\packages\boost_program_options-vc141.1.68.0.0\build\boost_program_options-vc141.targets" Condition="Exists('..\packages\boost_program_options-vc141.1.68.0.0\build\boost_program_options-vc141.targets')" />
<Import Project="..\packages\boost_system-vc141.1.68.0.0\build\boost_system-vc141.targets" Condition="Exists('..\packages\boost_system-vc141.1.68.0.0\build\boost_system-vc141.targets')" />
</ImportGroup>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\OpenBLAS.0.2.14.1\build\native\openblas.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\OpenBLAS.0.2.14.1\build\native\openblas.targets'))" />
<Error Condition="!Exists('..\packages\opencl-nug.0.777.12\build\native\opencl-nug.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\opencl-nug.0.777.12\build\native\opencl-nug.targets'))" />
<Error Condition="!Exists('..\packages\zlib-msvc14-x64.1.2.11.7795\build\native\zlib-msvc14-x64.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\zlib-msvc14-x64.1.2.11.7795\build\native\zlib-msvc14-x64.targets'))" />
<Error Condition="!Exists('..\packages\boost.1.68.0.0\build\boost.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\boost.1.68.0.0\build\boost.targets'))" />
<Error Condition="!Exists('..\packages\boost_filesystem-vc141.1.68.0.0\build\boost_filesystem-vc141.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\boost_filesystem-vc141.1.68.0.0\build\boost_filesystem-vc141.targets'))" />
<Error Condition="!Exists('..\packages\boost_program_options-vc141.1.68.0.0\build\boost_program_options-vc141.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\boost_program_options-vc141.1.68.0.0\build\boost_program_options-vc141.targets'))" />
<Error Condition="!Exists('..\packages\boost_system-vc141.1.68.0.0\build\boost_system-vc141.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\boost_system-vc141.1.68.0.0\build\boost_system-vc141.targets'))" />
</Target>
</Project>

0 comments on commit 14fd979

Please sign in to comment.