Xcode: Switch to internal CMAKE_MAKE_PROGRAM lookup by generator (#15324)

The "cmakexbuild" wrapper is not needed for Xcode 4 and above, and the
path to it may change when CMake moves.  Avoid storing a specific path
to a build program in CMakeCache.txt and instead compute the value for
CMAKE_MAKE_PROGRAM on demand.  However, if a user does set the value
explicitly then honor it.

This does for Xcode what commit v3.0.0-rc1~260^2~4 (VS: Switch to
internal CMAKE_MAKE_PROGRAM lookup by generators, 2013-11-15) did for
Visual Studio generators.
This commit is contained in:
Brad King
2015-01-28 14:00:02 -05:00
parent 11e2e6cadf
commit ab9fa54d48
7 changed files with 33 additions and 29 deletions

View File

@@ -23,8 +23,15 @@ to configure the project:
otherwise undocumented ``cmakexbuild`` wrapper implementing some
workarounds).
This generator stores ``CMAKE_MAKE_PROGRAM`` in the CMake cache
so that it may be edited by the user.
This generator prefers to lookup the build tool at build time
rather than to store ``CMAKE_MAKE_PROGRAM`` in the CMake cache
ahead of time. This is because ``xcodebuild`` is easy to find,
the ``cmakexbuild`` wrapper is needed only for older Xcode versions,
and the path to ``cmakexbuild`` may be outdated if CMake itself moves.
For compatibility with versions of CMake prior to 3.2, if
a user or project explicitly adds ``CMAKE_MAKE_PROGRAM`` to
the CMake cache then CMake will use the specified value.
* The Visual Studio generators set this to the full path to
``MSBuild.exe`` (VS >= 10), ``devenv.com`` (VS 7,8,9),