On 01/20/2015 03:40 PM, Paul Smith wrote:
> Where can I go to find out more about how cmake --build chooses whether
> to use msbuild vs. devenv?

The behavior was updated in 3.0 and is now described here:

 http://www.cmake.org/cmake/help/v3.0/variable/CMAKE_MAKE_PROGRAM.html

In 2.8.12 and below we always stored CMAKE_MAKE_PROGRAM in CMakeCache.txt
instead of waiting until build time to choose it.  This was problematic
because it was initialized before configuring the project so we could not
know whether devenv had to be chosen for Intel Fortran support or not,
so it always chose devenv if available.  However, devenv does not work
when using an alternative PlatformToolset with CMAKE_GENERATOR_TOOLSET:

 
http://thread.gmane.org/gmane.comp.programming.tools.cmake.user/46795/focus=46969

Therefore we had to switch to build-time selection of the build tool.
The change was mentioned in the 3.0 release notes:

 http://www.cmake.org/cmake/help/v3.0/release/3.0.0.html#other-changes
 "Selection of the proper msbuild or devenv tool is now performed as
  late as possible when the solution (.sln) file is available so it
  can depend on project content."

On 01/21/2015 05:53 AM, Yves Frederix wrote:
> options like  'cmake --build . --config Release -- /m'. I checked and
> this indeed works as expected.

Yes.

> The above explains all my initial observations. However, the fix is
> not very handy. As I understood, one does not know until build time
> what exact build (devenv or msbuild) will be used by CMake

MSBuild will be used for VS >= 10 unless Fortran code is involved.  You
can also add -DCMAKE_MAKE_PROGRAM=/path/to/msbuild.exe to explicitly
specify it.  Once that is in CMakeCache.txt then it will always be used
by "cmake --build".

-Brad

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Reply via email to