With the Makefile generator one can use `cd $subdir; make all` to build
all targets associated with a given subdirectory. This is not possible
to do with the Ninja generator since there is only one `build.ninja`
file at the top of the build tree. However, we can approximate it by
allowing one to run `ninja $subdir/all` at the top of the tree to build
the targets in the corresponding subdirectory.
Port logic from cmGlobalUnixMakefileGenerator3::WriteDirectoryRule2 to
cmGlobalNinjaGenerator in order to produce equivalent directory-level
targets.
c089485d Utilities/Release: Skip spurious Qt5Autogen test for nightly binary
e903a9fc Utilities/Release: Create a Windows 64-bit binary
dd630075 Utilities/Release: Rename scripts to match target platform
6a6e5d89 GenerateExportHeader: Allow common NO_DEPRECATED_MACRO_NAME for multiple libs
be5a8973 GenerateExportHeader: Do not define DEFINE_NO_DEPRECATED (#16022)
In commit v3.5.0-rc1~232^2 (CPackDMG: Add support for multilingual SLAs,
2015-10-19) we added use of the Carbon framework in order to get access
to its APIs to convert Script Manager RegionCode values. This is not
necessary. Instead we can use CoreServices.
While at it, replace individual CoreFoundation includes with including
the entire framework, which is the correct way.
Previously we allowed this definition to persist outside our header.
This would cause conflicts across multiple such headers because the name
was always the same. Fix this by avoiding the definition altogether.
Fix the DebuggerTool RemoteExecutable value added by commit a22f9967
(VS: Optionally generate remote directory for WinCE projects,
2016-02-15) to account for the configuration when computing the target
name.
This test fails spuriously too often and prevents the nightly binary
from finishing. Simply skip it for the nightly binary to allow it
to complete more regularly.
Compile with `-D_WIN32_WINNT=0x502` to use a WinXP-compatible API.
Compile with `-D_USING_V110_SDK71_` to tell the VS standard library
headers that we are building with a WinXP-compatible Windows SDK. Link
executables with `-subsystem:console,5.02` to make them runnable on
Windows XP 64-bit. Ideally `cmake-gui` should instead be linked with
`-subsystem:windows,5.02` but with the Ninja and Makefile generators
CMake adds `-subsystem:windows` after our `-subsystem:console,5.02` flag
and the linker seems to interpret this combination as we need.
We run `cmake --help-*-list` to get a list of items for completion.
Since CMake < 3.0 always printed "cmake version ..." on the first line
of the output we have previously ignored the first line. However, CMake
3.0 and above do not print the version line so we should not ignore the
first line or we miss one item.
Ideally we should filter the first line out if it is "cmake version ..."
in order to support CMake < 3.0 cleanly, but at worst the version line
will show up as a completion option so simply including the first line
is good enough for now.
Use cmSystemTools::GetCMakeRoot() which always knows the location of our
resources. Do not depend on CMAKE_ROOT because the user could unset it
from the cache.
Teach the VS 2008 and 2005 generators to set the `RemoteDirectory`
in `DeploymentTool` and the `RemoteExecutable` in `DebuggerTool`.
Use a `DEPLOYMENT_REMOTE_DIRECTORY` target property to specify the
value.
When system-provided packages are upgraded we must re-compile sources
depending on their headers. Use `-MD` instead of `-MMD` so that the
generated depfiles do not exclude system headers.
Suggested-by: Jussi Judin
If list of valid target architectures is empty for given SDK then there will
be no VALID_ARCHS build setting returned by Xcode. Return "" (empty string)
explicitly in this case. This may happens if CMAKE_IOS_INSTALL_COMBINED is ON
but only one architecture used in target.
Depending upon the configuration, certain components may or may not
be installed, for example Boost.Regex, but other components may
still have header dependencies upon these components which will
obviously fail to work. Since we can't make a sensible
determination with the hardcoded dependency information, we
choose to interpret these dependencies less strictly.
97149ff8 update-third-party: read attributes from the worktree
a35f4be6 update-third-party: Add license notice
afac3d10 update-third-party: remove empty directories as well
491b41dd Help: Add notes for topic 'vs-clang-cl'
ad6d27ac Tests: do not build PrecompiledHeader on Clang/C2
a0f0541f Tests: fix PDBDirectoryAndName on Clang/C2
3541af67 Tests: fix Plugin building on Clang/C2
1902c293 Tests: fix complexOneConfig building on Clang/C2
cab2ec11 Tests: fix Complex building on Clang/C2
ada3736c Tests: fix Module.GenerateExportHeader building on Clang/C2
123b7e13 Tests: fix AliasTarget building on Clang/C2
445d4d4b VS 14: Add flag map for -std= to CppLanguageStandard tag in project files
0a785eb4 Features: Clang has no cxx_decltype_incomplete_return_type in MSVC sim mode
2c2ec488 VS: in Clang/C2 toolset, setup correct compiler settings
37afe00f CMakeDetermineCompilerId: Add detection of clang.exe bundled with VS