CMake.Build.targets 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  2. <PropertyGroup>
  3. <CMakeProjName>enet</CMakeProjName>
  4. <CMakeSourceDir>$(SlnDir)Source\Native</CMakeSourceDir>
  5. <CMakeBinaryDir>$(SlnDir)build_cmake_enet</CMakeBinaryDir>
  6. <CMakeBuildType Condition="'$(CMakeBuildType)' == ''">Debug</CMakeBuildType>
  7. <CMakeBuildType Condition="'$(Configuration)' == 'Release'">Release</CMakeBuildType>
  8. <CMakeOpts>$(CMakeOpts) -DENET_SHARED=ON</CMakeOpts>
  9. <CMakeOpts Condition="'$(CMakeBuildType)' == 'Debug'">$(CMakeOpts) -DENET_DEBUG=ON</CMakeOpts>
  10. <CMakeGenerator></CMakeGenerator>
  11. <CMakeConfigBuildType></CMakeConfigBuildType>
  12. </PropertyGroup>
  13. <PropertyGroup Condition="'$(OSPlatformWindows)' == 'true'">
  14. <CMakeVSArch></CMakeVSArch>
  15. <CMakeVSArch Condition="'$(Configuration)' == 'x86'">-A WIN32</CMakeVSArch>
  16. <CMakeVSToolset></CMakeVSToolset>
  17. <!--<CMakeVSToolset>-T v141</CMakeVSToolset>-->
  18. <CMakeGenerator>-G"Visual Studio 15 2017" $(CMakeVSArch) $(CMakeVSToolset)</CMakeGenerator>
  19. </PropertyGroup>
  20. <PropertyGroup Condition="'$(OSPlatformWindows)' != 'true'">
  21. <CMakeConfigBuildType>-DCMAKE_BUILD_TYPE=$(CMakeBuildType)</CMakeConfigBuildType>
  22. </PropertyGroup>
  23. <Target Name="CMakeBuildClean" BeforeTargets="Clean">
  24. <Message Text="CMake -- cleaning project: $(CMakeProjName)" Importance="high" />
  25. <RemoveDir Directories="$(CMakeBinaryDir)"/>
  26. <MakeDir Directories="$(CMakeBinaryDir)"/>
  27. <OnError ExecuteTargets="CMakeCleanFailed" />
  28. </Target>
  29. <Target Name="CMakeConfigTarget" BeforeTargets="Build;VSTest">
  30. <Message Text="CMake -- configuring $(CMakeBuildType) $(Platform): $(CMakeProjName)" Importance="high" />
  31. <MakeDir Directories="$(CMakeBinaryDir)" />
  32. <Exec Command="cmake $(CMakeGenerator) $(CMakeConfigBuildType) $(CMakeOpts) $(CMakeSourceDir)" WorkingDirectory="$(CMakeBinaryDir)" StandardOutputImportance="low" StandardErrorImportance="high" />
  33. <OnError ExecuteTargets="CMakeBuildFailed" />
  34. </Target>
  35. <Target Name="CMakeBuildTarget" BeforeTargets="Build;VSTest">
  36. <Message Text="CMake -- building project: $(CMakeProjName)" Importance="high" />
  37. <Exec Command="cmake --build . --config $(CMakeBuildType)" WorkingDirectory="$(CMakeBinaryDir)" StandardOutputImportance="low" StandardErrorImportance="high" />
  38. <OnError ExecuteTargets="CMakeBuildFailed" />
  39. </Target>
  40. <Target Name="CMakeBuildSuccess" BeforeTargets="Build;VSTest">
  41. <Message Text="CMake -- build succeeded: $(CMakeProjName)" Importance="high" />
  42. </Target>
  43. <Target Name="CMakeCleanFailed">
  44. <Warning Text="CMake -- the most common cause of CMake clean errors is file locking (eg. windows console in the build dir)" />
  45. <Warning Text="CMake -- please unlock or reboot and try cleaning again before filing an issue on github:" />
  46. <Warning Text="CMake -- https://github.com/cburns/socklynx" />
  47. <Error Text="CMake -- build failed: $(CMakeProjName)" />
  48. </Target>
  49. <Target Name="CMakeBuildFailed">
  50. <Warning Text="CMake -- the most common cause of CMake build errors is changing config without cleaning" />
  51. <Warning Text="CMake -- please try cleaning and building again before filing an issue on github:" />
  52. <Warning Text="CMake -- https://github.com/cburns/socklynx" />
  53. <Error Text="CMake -- build failed: $(CMakeProjName)" />
  54. </Target>
  55. </Project>