Commit Graph

33553 Commits

Author SHA1 Message Date
Brad King 61758bf4b9 Merge topic 'intel-compile-features-windows'
881585f9 Intel: Fix compiler extension flags on Windows
2016-10-25 09:09:01 -04:00
Brad King 3062b8a046 Merge topic 'st2-fix-regex'
9f1429e2 Sublime: Update generated diagnostic matching expression for MSVC
2016-10-25 09:08:58 -04:00
Brad King 644ff572f7 Merge topic 'android-pic'
4c272adb Android: Link position-independent executables with proper flags
6205f179 Android: Set CMAKE_POSITION_INDEPENDENT_CODE automatically
2016-10-25 09:08:55 -04:00
Brad King 9430125511 Merge topic 'ninja-subdir-binary-dir'
87cc9bfc Merge branch 'backport-ninja-subdir-binary-dir' into ninja-subdir-binary-dir
e983bd32 Ninja: Use binary dir for `$subdir/all` targets
42db2ebc Ninja: Use binary dir for `$subdir/all` targets
2016-10-25 09:08:51 -04:00
Brad King 9a399c27a8 Merge topic 'cmake-server-message-quoting'
9b8dc79c cmake-server: Change message wrapper to avoid ambiguity with content
2016-10-25 09:08:49 -04:00
Kitware Robot c1a520513d CMake Nightly Date Stamp 2016-10-25 00:01:04 -04:00
Brad King 9b8dc79cc8 cmake-server: Change message wrapper to avoid ambiguity with content
Change our message wrapper from

    [== CMake Server ==[ ... ]== CMake Server ==]

to

    [== "CMake Server" ==[ ... ]== "CMake Server" ==]

to guarantee that no JSON content can ever contain the ending string
(because it would be encoded as `]== \"CMake Server\" ==]`).
2016-10-24 14:36:13 -04:00
Brad King 881585f975 Intel: Fix compiler extension flags on Windows
The extension flags enabled by commit v3.6.0-rc1~120^2~1 (Features:
Record standard flags for Intel C/C++ on Windows, 2016-04-18) of the
form `-Qstd=gnu++11` are not supported by the Intel C/C++ Compiler for
Windows.  Fall back to using the non-extension form of the flags.

Issue: #16384
2016-10-24 14:29:40 -04:00
Bruno Pedrosa 9f1429e274 Sublime: Update generated diagnostic matching expression for MSVC
Update the generated `file_regex` to match MSVC-style messages in
addition to the GCC-style messages already matched.  Use non-capturing
sub-patterns to tolerate the differences in message formats while still
capturing the four pieces of information in proper group numbers (file
name, line number, column number, message).

Closes: #16375
2016-10-24 14:02:52 -04:00
Brad King 4c272adbe1 Android: Link position-independent executables with proper flags
Add `-fPIE -pie` to the default executable link flags when
`CMAKE_POSITION_INDEPENDENT_CODE` is enabled.  This is required by
Android 16 and above for executables to run on the device.

Closes: #16382
2016-10-24 11:45:18 -04:00
Brad King 6205f1797e Android: Set CMAKE_POSITION_INDEPENDENT_CODE automatically
If the toolchain file or cache does not set this, enable it
automatically based on the Android API version.  Versions 16
and above expect position independent code.

Use the main `CMAKE_POSITION_INDEPENDENT_CODE` setting in favor of
hard-coding `-fpic` or `-fPIC` in the compiler flags for each ABI.
This allows CMake to use `-fpie` or `-fPIE` as needed when sources
are meant for executables, and `-fpic` or `-fPIC` for other sources.
2016-10-24 11:40:53 -04:00
Brad King 87cc9bfc3c Merge branch 'backport-ninja-subdir-binary-dir' into ninja-subdir-binary-dir 2016-10-24 10:30:52 -04:00
Alexis Murzeau e983bd326a Ninja: Use binary dir for $subdir/all targets
The targets added by commit v3.6.0-rc1~240^2~2 (Ninja: Add `$subdir/all`
targets, 2016-03-11) use as `$subdir` the relative path from the top of
the source tree to the current source directory.  This is not correct
when using `add_subdirectory(test test_bin)`.  Instead we need to use
the relative path from the top of the binary tree to the current binary
directory as was done for related targets by commit v3.7.0-rc1~268^2
(Ninja: Add `$subdir/{test,install,package}` targets, 2016-08-05).
2016-10-24 10:30:02 -04:00
Brad King f660832999 Merge topic 'doc-cmake-server-typos'
48189697 Help: Fix cmake-server documentation
2016-10-24 10:28:19 -04:00
Brad King 92be048b7f Merge topic 'cmcommand-no-disable'
c401f958 Remove cmCommand::Enabled and all related accessors
2016-10-24 10:20:50 -04:00
Daniel Pfeifer c401f95888 Remove cmCommand::Enabled and all related accessors
Enabled is never set to false.  Remove the member variable and all
related getters and setters.
2016-10-24 10:19:09 -04:00
Brad King 21f449214d Merge topic 'parallel-boostrap-test'
e3770c56 BootstrapTest: Use --parallel=... argument.
2016-10-24 10:16:47 -04:00
Brad King c1b96fddf8 Merge topic 'remove-cmobject-uses'
2214011f Make cmCPackGenerator not inherit from cmObject
7f9a8d53 Make cmCPackGeneratorFactory not inherit from cmObject
fb0b087c Make cmCTestGenericHandler not inherit from cmObject
2169b0fa Make cmCPackLog not inherit from cmObject
9855ebf1 Make cmCommand not inherit from cmObject
2016-10-24 10:16:43 -04:00
Brad King b899c0a92f Merge topic 'separate-compilation'
569509f4 Fix newly discovered clang-tidy issues
6c9b3b5c cmCommand: implement functions in cxx file
8483dab8 bootstrap: Sort source files lexicographically
4fb70919 Create all commands from a single function
608afd4f Separate compilation for commands included in cmBootstrapCommands2
64f9c282 Separate compilation for commands included in cmBootstrapCommands1
f69e768d Separate compilation for commands included in cmCommands
2016-10-24 10:16:40 -04:00
Brad King 3d5ec790ee Merge topic 'android-link-exe'
295c8efa Android: Add missing link flags for device executables
2016-10-24 10:16:37 -04:00
Brad King 1ae2c232b6 Merge topic 'cm_unordered_map'
1a74e719 Introduce CM_UNORDERED_MAP
2016-10-24 10:16:33 -04:00
Daniel Pfeifer 1a74e71906 Introduce CM_UNORDERED_MAP
Avoid duplicating switch among std::unordered_map, cmsys::hash_map, and
std::map.
2016-10-24 09:58:52 -04:00
Alexis Murzeau 42db2ebc75 Ninja: Use binary dir for $subdir/all targets
The targets added by commit v3.6.0-rc1~240^2~2 (Ninja: Add `$subdir/all`
targets, 2016-03-11) use as `$subdir` the relative path from the top of
the source tree to the current source directory.  This is not correct
when using `add_subdirectory(test test_bin)`.  Instead we need to use
the relative path from the top of the binary tree to the current binary
directory as was done for related targets by commit v3.7.0-rc1~268^2
(Ninja: Add `$subdir/{test,install,package}` targets, 2016-08-05).
2016-10-24 09:49:23 -04:00
Kitware Robot 9a901dc78d CMake Nightly Date Stamp 2016-10-24 00:01:13 -04:00
Kitware Robot aae5a9feb1 CMake Nightly Date Stamp 2016-10-23 00:01:03 -04:00
Daniel Pfeifer 2214011f7b Make cmCPackGenerator not inherit from cmObject 2016-10-23 01:12:26 +02:00
Daniel Pfeifer 7f9a8d53aa Make cmCPackGeneratorFactory not inherit from cmObject 2016-10-23 01:01:34 +02:00
Daniel Pfeifer fb0b087c4d Make cmCTestGenericHandler not inherit from cmObject 2016-10-23 00:59:55 +02:00
Daniel Pfeifer 2169b0faa4 Make cmCPackLog not inherit from cmObject 2016-10-23 00:48:09 +02:00
Daniel Pfeifer 9855ebf11a Make cmCommand not inherit from cmObject 2016-10-23 00:45:08 +02:00
Kitware Robot af782d0213 CMake Nightly Date Stamp 2016-10-22 00:01:04 -04:00
Daniel Pfeifer 569509f4bf Fix newly discovered clang-tidy issues
Clang-tidy reports some issues only from the currently compiled source
file and its associated header file.  Separating the compilation of
commands exposed some clang-tidy issues that were not reported previously.
Fix them.
2016-10-21 21:32:43 +02:00
Tobias Hunger 48189697eb Help: Fix cmake-server documentation
Some information was not updated to reflect the latest implementation.

Reported-by: Sylvain Joubert <joubert.sy@gmail.com>
2016-10-21 13:37:10 -04:00
Daniel Pfeifer e3770c56a8 BootstrapTest: Use --parallel=... argument.
Determine the number of processors and provide it to the bootstrap
script.  Also make sure this test does not run parallel with other
tests.
2016-10-21 18:22:44 +02:00
Daniel Pfeifer 6c9b3b5c03 cmCommand: implement functions in cxx file 2016-10-21 18:14:51 +02:00
Daniel Pfeifer 8483dab8e1 bootstrap: Sort source files lexicographically 2016-10-21 18:14:51 +02:00
Daniel Pfeifer 4fb70919a5 Create all commands from a single function 2016-10-21 18:14:51 +02:00
Daniel Pfeifer 608afd4f62 Separate compilation for commands included in cmBootstrapCommands2 2016-10-21 18:14:51 +02:00
Daniel Pfeifer 64f9c282f3 Separate compilation for commands included in cmBootstrapCommands1 2016-10-21 18:14:51 +02:00
Daniel Pfeifer f69e768d94 Separate compilation for commands included in cmCommands 2016-10-21 18:14:50 +02:00
Brad King 295c8efa35 Android: Add missing link flags for device executables
See `${ndk}/build/core/default-build-commands.mk` for link flags the NDK
uses for executables.  Add them to our default executable link flags.
Suppress `nocopyreloc` on `arm64-v8a` because it does not work with
some STL types.

Closes: #16380
2016-10-21 10:43:45 -04:00
Brad King 1e555a44aa Merge topic 'ninja-encoding'
ced77d2b Ninja: Use ANSI encoding for Ninja build files on Windows
2016-10-21 08:59:42 -04:00
Brad King dd7f9d8393 Merge topic 'allow-fallback-config-mapping'
587ab322 Tests: Add test for MAP_IMPORTED_CONFIG_<CONFIG> empty fallback
149d49ea Teach MAP_IMPORTED_CONFIG_<CONFIG> to support configuration-less import
60d73393 Help: Format MAP_IMPORTED_CONFIG_<CONFIG> documentation
2016-10-21 08:59:37 -04:00
Brad King e094c8fa0a Merge topic 'ninja-diagnose-missing-tool'
010560be Ninja: Fail early on when ninja build tool does not run
2d3aa942 cmGlobalGenerator: Allow FindMakeProgram to fail
2016-10-21 08:59:30 -04:00
Brad King 97670dbf2f Merge topic 'android-armeabi-c++_static'
43f4326e Android: Fix support for armeabi with c++_static
2016-10-21 08:59:07 -04:00
Brad King 43f4326ece Android: Fix support for armeabi with c++_static
Add missing "unwind" and "atomic" libraries needed for this combination.
See `${ndk}/sources/cxx-stl/llvm-libc++/libs/armeabi/libc++.a` for the
libraries the NDK uses.

Issue: #16380
2016-10-21 08:42:25 -04:00
Kitware Robot ac394fddab CMake Nightly Date Stamp 2016-10-21 00:01:05 -04:00
Dāvis Mosāns ced77d2bbd Ninja: Use ANSI encoding for Ninja build files on Windows
Pass ANSI encoding to cmGeneratedFileStream for use with Ninja
generator.
2016-10-20 13:13:48 -04:00
Brad King 587ab32213 Tests: Add test for MAP_IMPORTED_CONFIG_<CONFIG> empty fallback 2016-10-20 11:51:11 -04:00
Jens Weggemann 149d49ea7c Teach MAP_IMPORTED_CONFIG_<CONFIG> to support configuration-less import
If this property has an empty list entry, check for `IMPORTED_LOCATION`
instead of `IMPORTED_LOCATION_<CONFIG>`.  This allows custom imported
targets to have some configurations mapped and others fall back to a
default location.

Closes: #16280
2016-10-20 11:51:10 -04:00