https://github.com/Microsoft/CNTK
Raw File
Tip revision: 536d98f0f1fe726c27510aa92e83c60f01b51cce authored by tian tan on 09 August 2016, 21:26:13 UTC
attention node
Tip revision: 536d98f
CNTK.Cpp.props
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <!-- Note: SolutionDir / RepoRootPath are the same in current setup -->
    <RepoRootPath>$(MSBuildThisFileDirectory)</RepoRootPath>
    <RelativeProjectPath>$(MSBuildProjectDirectory.Substring($(MSBuildThisFileDirectory.Length)))</RelativeProjectPath>

    <OutDir>$(RepoRootPath)$(Platform)\$(Configuration)\</OutDir>
    <IntDir>$(RepoRootPath)$(Platform)\.build\$(Configuration)\$(RelativeProjectPath)\</IntDir>

    <DebugBuild>false</DebugBuild>
    <DebugBuild Condition="$(Configuration.StartsWith('Debug'))">true</DebugBuild>

    <ReleaseBuild>false</ReleaseBuild>
    <ReleaseBuild Condition="!$(DebugBuild)">true</ReleaseBuild>

    <GpuBuild>true</GpuBuild>
    <GpuBuild Condition="$(Configuration.EndsWith('_CpuOnly'))">false</GpuBuild>

    <CpuOnlyBuild>true</CpuOnlyBuild>
    <CpuOnlyBuild Condition="$(GpuBuild)">false</CpuOnlyBuild>

    <NvmlInclude>"c:\Program Files\NVIDIA Corporation\GDK\gdk_win7_amd64_release\nvml\include"</NvmlInclude>
    <NvmlLibPath>"c:\Program Files\NVIDIA Corporation\GDK\gdk_win7_amd64_release\nvml\lib"</NvmlLibPath>

    <CudaVersion/>
    <CudaVersion Condition="Exists('$(CUDA_PATH_V7_5)') And '$(CudaVersion)' == ''">7.5</CudaVersion>
    <CudaVersion Condition="Exists('$(CUDA_PATH_V7_0)') And '$(CudaVersion)' == ''">7.0</CudaVersion>

    <HasOpenCv>false</HasOpenCv>
    <HasOpenCv Condition="Exists('$(OPENCV_PATH)') Or Exists('$(OPENCV_PATH_V31)')">true</HasOpenCv>

    <UseZip>false</UseZip>
    <UseZip Condition="Exists('$(ZLIB_PATH)')">true</UseZip>
  </PropertyGroup>

  <Choose>
    <When Condition="Exists('$(ACML_PATH)')">
      <PropertyGroup>
        <MathLibrary>ACML</MathLibrary>
        <MathLibraryName>ACML</MathLibraryName>
        <MathIncludePath>$(ACML_PATH)\include</MathIncludePath>
        <MathLibraryPath>$(ACML_PATH)\lib</MathLibraryPath>
        <MathLinkLibrary>libacml_mp_dll.lib</MathLinkLibrary>
        <MathDelayLoad>libacml_mp_dll.dll</MathDelayLoad>
        <MathPostBuildCopyPattern>$(ACML_PATH)\lib\*.dll</MathPostBuildCopyPattern>
        <UnitTestDlls>$(OutDir)libacml_mp_dll.dll;$(OutDir)libifcoremd.dll;$(OutDir)libifportmd.dll;$(OutDir)libiomp*.dll;$(OutDir)libmmd.dll;$(OutDir)svml_dispmd.dll;</UnitTestDlls>
        <MathDefine>USE_ACML</MathDefine>
      </PropertyGroup>
    </When>

    <!-- See https://github.com/Microsoft/CNTK/wiki/Setup-CNTK-on-Windows#optional-mkl on how to configure to build CNTK with MKL -->
    <When Condition="'$(CNTK_MKL)' == '1'">
      <PropertyGroup>
        <MathLibrary>MKL</MathLibrary>
        <CNTKCustomMKLVersion>1</CNTKCustomMKLVersion>
        <CNTKCustomMKLPath>$(CNTK_MKL_PATH)\$(CNTKCustomMKLVersion)</CNTKCustomMKLPath>
        <MathIncludePath>$(CNTKCustomMKLPath)\include</MathIncludePath>
        <MathDefine>USE_MKL</MathDefine>
      </PropertyGroup>
      <PropertyGroup Condition="'$(CNTK_MKL_SEQUENTIAL)' != '1'">
        <MathLibraryName>CNTK custom MKL Parallel (Version: $(CNTKCustomMKLVersion))</MathLibraryName>
        <MathLibraryPath>$(CNTKCustomMKLPath)\x64\parallel</MathLibraryPath>
        <MathLinkLibrary>mkl_cntk_p.lib</MathLinkLibrary>
        <MathDelayLoad>mkl_cntk_p.dll</MathDelayLoad>
        <MathPostBuildCopyPattern>$(MathLibraryPath)\*.dll</MathPostBuildCopyPattern>
        <UnitTestDlls>$(OutDir)mkl_cntk_p.dll;$(OutDir)libiomp5md.dll;</UnitTestDlls>
      </PropertyGroup>
      <PropertyGroup Condition="'$(CNTK_MKL_SEQUENTIAL)' == '1'">
        <MathLibraryName>CNTK custom MKL Sequential (Version: $(CNTKCustomMKLVersion))</MathLibraryName>
        <MathLibraryPath>$(CNTKCustomMKLPath)\x64\sequential</MathLibraryPath>
        <MathLinkLibrary>mkl_cntk_s.lib</MathLinkLibrary>
        <MathDelayLoad>mkl_cntk_s.dll</MathDelayLoad>
        <MathPostBuildCopyPattern>$(MathLibraryPath)\*.dll</MathPostBuildCopyPattern>
        <UnitTestDlls>$(OutDir)mkl_cntk_s.dll;</UnitTestDlls>
      </PropertyGroup>
    </When>
   </Choose>

  <PropertyGroup Condition="$(UseZip)">
    <ZipInclude>$(ZLIB_PATH)\include;$(ZLIB_PATH)\lib\libzip\include;</ZipInclude>
    <ZipDefine>USE_ZIP</ZipDefine>
    <ZipLibPath>$(ZLIB_PATH)\lib;</ZipLibPath>
    <ZipLibs>zlib.lib;zip.lib;</ZipLibs>
  </PropertyGroup>

  <PropertyGroup Condition="Exists('$(OPENCV_PATH)')">
    <OpenCvPath>$(OPENCV_PATH)</OpenCvPath>
    <OpenCvVersion>300</OpenCvVersion>
  </PropertyGroup>

  <PropertyGroup Condition="Exists('$(OPENCV_PATH_V31)')">
    <OpenCvPath>$(OPENCV_PATH_V31)</OpenCvPath>
    <OpenCvVersion>310</OpenCvVersion>
  </PropertyGroup>

  <PropertyGroup Condition="$(HasOpenCv)">
    <OpenCvInclude>$(OpenCvPath)\include;</OpenCvInclude>
    <OpenCvWorld Condition="$(ReleaseBuild)">opencv_world$(OpenCvVersion)</OpenCvWorld>
    <OpenCvWorld Condition="$(DebugBuild)">opencv_world$(OpenCvVersion)d</OpenCvWorld>
    <OpenCvLib>$(OpenCvWorld).lib</OpenCvLib>
    <OpenCvLibPath>$(OpenCvPath)\x64\vc12\lib</OpenCvLibPath>
    <OpenCvBinPath>$(OpenCvPath)\x64\vc12\bin</OpenCvBinPath>
  </PropertyGroup>

  <PropertyGroup Condition="'$(CudaVersion)' == '7.5'">
    <CudaPath>$(CUDA_PATH_V7_5)</CudaPath>
    <CudaRuntimeDll>cudart64_75.dll</CudaRuntimeDll>
    <CudaDlls>cublas64_75.dll;cusparse64_75.dll;curand64_75.dll;$(CudaRuntimeDll)</CudaDlls>
  </PropertyGroup>

  <PropertyGroup Condition="'$(CudaVersion)' == '7.0'">
    <CudaPath>$(CUDA_PATH_V7_0)</CudaPath>
    <CudaRuntimeDll>cudart64_70.dll</CudaRuntimeDll>
    <CudaDlls>cublas64_70.dll;cusparse64_70.dll;curand64_70.dll;$(CudaRuntimeDll)</CudaDlls>
  </PropertyGroup>

  <PropertyGroup>
    <CudaLibs>cudart.lib;cublas.lib;cusparse.lib;curand.lib</CudaLibs>
    <CudaInclude>$(CudaPath)\include</CudaInclude>
    <CudaLibPath>$(CudaPath)\lib\$(Platform)</CudaLibPath>
  </PropertyGroup>

  <!-- TODO warn if ConfigurationType not (yet) defined -->

  <PropertyGroup Condition="'$(ConfigurationType)' == 'StaticLibrary'">
    <UseDebugLibraries>$(DebugBuild)</UseDebugLibraries>
    <PlatformToolset>v120</PlatformToolset>
    <CharacterSet>Unicode</CharacterSet>
    <WholeProgramOptimization>$(ReleaseBuild)</WholeProgramOptimization>
    <LinkIncremental>$(DebugBuild)</LinkIncremental>
  </PropertyGroup>

  <ItemDefinitionGroup Condition="'$(ConfigurationType)' == 'StaticLibrary'">
    <ClCompile>
      <WarningLevel>Level4</WarningLevel>
      <TreatWarningAsError>true</TreatWarningAsError>
      <SDLCheck>true</SDLCheck>
      <OpenMPSupport>true</OpenMPSupport>
    </ClCompile>
    <Link>
      <SubSystem>Console</SubSystem>
      <GenerateDebugInformation>true</GenerateDebugInformation>
    </Link>
  </ItemDefinitionGroup>

  <ItemDefinitionGroup Condition="'$(ConfigurationType)' == 'StaticLibrary' And $(DebugBuild)">
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </ClCompile>
    <Link>
      <StackReserveSize>100000000</StackReserveSize>
    </Link>
  </ItemDefinitionGroup>

  <ItemDefinitionGroup Condition="'$(ConfigurationType)' == 'StaticLibrary' And $(ReleaseBuild)">
    <ClCompile>
      <Optimization>MaxSpeed</Optimization>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </ClCompile>
    <Link>
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
      <OptimizeReferences>true</OptimizeReferences>
      <Profile>true</Profile>
    </Link>
  </ItemDefinitionGroup>

</Project>
back to top