You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@mesos.apache.org by Andrew Schwartzmeyer <an...@schwartzmeyer.com> on 2017/05/10 20:37:43 UTC

Review Request 59157: Windows: Fixed toolset handling.

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/59157/
-----------------------------------------------------------

Review request for mesos, Jeff Coffler, John Kordich, Joseph Wu, and Li Li.


Bugs: MESOS-7498
    https://issues.apache.org/jira/browse/MESOS-7498


Repository: mesos


Description
-------

Mesos must be built with the 64-bit tools. Previously, we added a
dependency which checked if a certain environment variable was set. When
it failed, the message would be a cryptic message:

    error MSB6006: "cmd.exe" exited with code 255.

As the environment variable had to be picked up by every toolchain
(Visual Studio Code, CMake, MSBuild, Visual Studio), it was a frequent
cause of build frustrations.

This patch removes the `ENSURE_TOOL_ARCH` custom command, and instead
asserts at configuration time that the toolset matches `host=x64`. With
this toolset, CMake embeds the preferred tool architecture in the
generated solutions, eliminating the need for an environment variable to
be set, or for `/p:PreferredToolArchitecture=x64` to be passed to the
build tool directly.


Diffs
-----

  cmake/CompilationConfigure.cmake 7b2669f0c54abf9b5e0fd60f8af01e97e1f0f86a 
  src/CMakeLists.txt 40d921ee7026f5ac47efbf0243e1cafab57825f9 
  src/slave/cmake/AgentConfigure.cmake 2e7ae6eaf4212b728eccf0bee957bbf88ff8f3e3 


Diff: https://reviews.apache.org/r/59157/diff/1/


Testing
-------

Clean build on Windows, with environment variable explicitly unset. Tested with VS Code CMake extension, and with `cmake --build .` manually, and with `msbuild` manually, and with Visual Studio manually.


Thanks,

Andrew Schwartzmeyer


Re: Review Request 59157: Windows: Fixed toolset handling.

Posted by Joseph Wu <jo...@mesosphere.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/59157/#review174557
-----------------------------------------------------------


Fix it, then Ship it!




I'll delete the below before committing.


src/slave/cmake/AgentConfigure.cmake
Lines 48-50 (original), 48-50 (patched)
<https://reviews.apache.org/r/59157/#comment247707>

    This block can simply be removed.


- Joseph Wu


On May 10, 2017, 1:37 p.m., Andrew Schwartzmeyer wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/59157/
> -----------------------------------------------------------
> 
> (Updated May 10, 2017, 1:37 p.m.)
> 
> 
> Review request for mesos, Jeff Coffler, John Kordich, Joseph Wu, and Li Li.
> 
> 
> Bugs: MESOS-7498
>     https://issues.apache.org/jira/browse/MESOS-7498
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Mesos must be built with the 64-bit tools. Previously, we added a
> dependency which checked if a certain environment variable was set. When
> it failed, the message would be a cryptic message:
> 
>     error MSB6006: "cmd.exe" exited with code 255.
> 
> As the environment variable had to be picked up by every toolchain
> (Visual Studio Code, CMake, MSBuild, Visual Studio), it was a frequent
> cause of build frustrations.
> 
> This patch removes the `ENSURE_TOOL_ARCH` custom command, and instead
> asserts at configuration time that the toolset matches `host=x64`. With
> this toolset, CMake embeds the preferred tool architecture in the
> generated solutions, eliminating the need for an environment variable to
> be set, or for `/p:PreferredToolArchitecture=x64` to be passed to the
> build tool directly.
> 
> 
> Diffs
> -----
> 
>   cmake/CompilationConfigure.cmake 7b2669f0c54abf9b5e0fd60f8af01e97e1f0f86a 
>   src/CMakeLists.txt 40d921ee7026f5ac47efbf0243e1cafab57825f9 
>   src/slave/cmake/AgentConfigure.cmake 2e7ae6eaf4212b728eccf0bee957bbf88ff8f3e3 
> 
> 
> Diff: https://reviews.apache.org/r/59157/diff/1/
> 
> 
> Testing
> -------
> 
> Clean build on Windows, with environment variable explicitly unset. Tested with VS Code CMake extension, and with `cmake --build .` manually, and with `msbuild` manually, and with Visual Studio manually.
> 
> 
> Thanks,
> 
> Andrew Schwartzmeyer
> 
>


Re: Review Request 59157: Windows: Fixed toolset handling.

Posted by Jeff Coffler <je...@taltos.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/59157/#review174558
-----------------------------------------------------------


Ship it!




Ship It!

- Jeff Coffler


On May 10, 2017, 8:37 p.m., Andrew Schwartzmeyer wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/59157/
> -----------------------------------------------------------
> 
> (Updated May 10, 2017, 8:37 p.m.)
> 
> 
> Review request for mesos, Jeff Coffler, John Kordich, Joseph Wu, and Li Li.
> 
> 
> Bugs: MESOS-7498
>     https://issues.apache.org/jira/browse/MESOS-7498
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Mesos must be built with the 64-bit tools. Previously, we added a
> dependency which checked if a certain environment variable was set. When
> it failed, the message would be a cryptic message:
> 
>     error MSB6006: "cmd.exe" exited with code 255.
> 
> As the environment variable had to be picked up by every toolchain
> (Visual Studio Code, CMake, MSBuild, Visual Studio), it was a frequent
> cause of build frustrations.
> 
> This patch removes the `ENSURE_TOOL_ARCH` custom command, and instead
> asserts at configuration time that the toolset matches `host=x64`. With
> this toolset, CMake embeds the preferred tool architecture in the
> generated solutions, eliminating the need for an environment variable to
> be set, or for `/p:PreferredToolArchitecture=x64` to be passed to the
> build tool directly.
> 
> 
> Diffs
> -----
> 
>   cmake/CompilationConfigure.cmake 7b2669f0c54abf9b5e0fd60f8af01e97e1f0f86a 
>   src/CMakeLists.txt 40d921ee7026f5ac47efbf0243e1cafab57825f9 
>   src/slave/cmake/AgentConfigure.cmake 2e7ae6eaf4212b728eccf0bee957bbf88ff8f3e3 
> 
> 
> Diff: https://reviews.apache.org/r/59157/diff/1/
> 
> 
> Testing
> -------
> 
> Clean build on Windows, with environment variable explicitly unset. Tested with VS Code CMake extension, and with `cmake --build .` manually, and with `msbuild` manually, and with Visual Studio manually.
> 
> 
> Thanks,
> 
> Andrew Schwartzmeyer
> 
>