Commit Graph
22306 Commits
Author SHA1 Message Date
Sebastian Holtermann db431ecfe3 Autogen: Merge FindInIncludeDirectories into FindIncludeFile 2017-03-01 15:30:28 +01:00
Brad King 86563cf7c8 Merge topic 'export-executable-symbols'
85e08370 bindexplib: Always export executable symbols, even they are also readable
2017-03-01 09:00:43 -05:00
Brad King 4fc64ce76d Merge topic 'find-libarch-not-symlink'
6f5aede7 find_library: Skip 'lib => lib<arch>' searches if one symlinks the other
e67963ed cmFindLibraryCommand: Refactor AddArchitecturePath logic
2017-03-01 09:00:40 -05:00
Kitware Robot e9cfe63dfc CMake Nightly Date Stamp 2017-03-01 00:01:04 -05:00
Brad King 6f5aede716 find_library: Skip 'lib => lib<arch>' searches if one symlinks the other
The `FIND_LIBRARY_USE_LIB<arch>_PATHS` global properties ask
`find_library` to look in `lib<arch>` directories automatically before
corresponding `lib` directories.  However, if `lib<arch>` is just a
symlink to `lib` (or vice-versa) then we should skip adding the
`lib<arch>` path.  Such symlinks typically only exist to satisfy
software that expects the `lib<arch>` path to be available.

Fixes: #16687
2017-02-28 14:56:54 -05:00
Brad King e67963ed73 cmFindLibraryCommand: Refactor AddArchitecturePath logic
Use boolean variables to save results and rename variables to more
closely represent their roles.
2017-02-28 14:56:13 -05:00
Zsolt Parragi 85e08370d0 bindexplib: Always export executable symbols, even they are also readable
Previously bindexplib discarded read-only non-function symbols even in
executable/code sections, but in some specific cases they could still mark
functions.

An example is provided by nop.asm in the AuoExportDll test, which exports
a function only marked by a label. This symbol can be used from C/C++
code, but without this change it would result in an unresolved external
symbol when built as a DLL on Windows.
2017-02-28 09:49:12 -05:00
Brad King 30243e7faf Merge topic '16607-error-out-on-non-seekable-input-files'
ded616bd cmListFileLexer: bail out on seek-errors
2017-02-28 09:39:21 -05:00
Brad King 322472e571 Merge topic 'cache-xaml-resx-headers'
73a6d456 VS: Cache the list of xaml and resx headers
2017-02-28 09:39:16 -05:00
Brad King 0aec4d3864 Merge topic 'cmake-xcode-schemes'
7238a052 Xcode: Add documentation for schema generator
ffb8817b Xcode: Write shared schemes based on the default files generated by Xcode
2017-02-28 09:39:12 -05:00
Gusts Kaksis ffb8817b37 Xcode: Write shared schemes based on the default files generated by Xcode
Issue: #15441
2017-02-28 09:21:54 -05:00
Brad King fd6b260c40 Merge topic 'cmake-host-system-name'
c1aaf8a6 Fix CMAKE_HOST_SYSTEM_NAME on SunOS
2017-02-28 09:11:40 -05:00
Kitware Robot 8bfa6a00ea CMake Nightly Date Stamp 2017-02-28 00:01:08 -05:00
Brad King c1aaf8a61d Fix CMAKE_HOST_SYSTEM_NAME on SunOS
In commit 0bbd993f (Make CMAKE_HOST_SYSTEM_NAME available in scripting
context, 2016-12-26) we added a call to `uname` that checks for a zero
return value.  However, on Solaris the `uname(2)` manual [1] says that
on success a non-negative value is returned.  Fix our return code check
so that we detect the `SunOS` name correctly.

[1] https://docs.oracle.com/cd/E53394_01/html/E54765/uname-2.html
2017-02-27 10:30:45 -05:00
Dmitry Kochkin 73a6d4566a VS: Cache the list of xaml and resx headers
Speed up VS project generation with many such headers.
2017-02-27 09:22:08 -05:00
Gregor Jasny ded616bdad cmListFileLexer: bail out on seek-errors
If we are given a FIFO, for example, we cannot seek back after trying to
read a Byte-Order-Mark.

Closes: #16607
2017-02-27 09:14:28 -05:00
Brad King e348d8db55 Merge topic 'object-library-compile-pdb'
feff52d4 Fix COMPILE_PDB_NAME when used on an OBJECT library
2017-02-27 09:11:22 -05:00
Brad King 73909e2421 Merge topic 'ninja-no-full-path'
666ad1df Revert "Ninja: Use full path for all source files"
2017-02-27 09:11:17 -05:00
Kitware Robot adcade6088 CMake Nightly Date Stamp 2017-02-27 00:01:03 -05:00
Kitware Robot da915157b0 CMake Nightly Date Stamp 2017-02-26 00:01:02 -05:00
Kitware Robot 160ebe58b5 CMake Nightly Date Stamp 2017-02-25 00:01:03 -05:00
Brad King feff52d42c Fix COMPILE_PDB_NAME when used on an OBJECT library
When `COMPILE_PDB_NAME` is used without `COMPILE_PDB_OUTPUT_DIRECTORY`
we cannot fall back on the link `PDB_OUTPUT_DIRECTORY` for an object
library because it has no link step.

Fixes: #16674
2017-02-24 11:26:52 -05:00
Brad King 666ad1df2d Revert "Ninja: Use full path for all source files"
This reverts commit v3.7.0-rc1~275^2 (Ninja: Use full path for all
source files, 2016-08-05).  Unfortunately using absolute paths can
cause incorrect rebuilds due to ninja limitations.  The ninja
manual [1] explains:

> ... using absolute paths, your depfile may result in a mixture of
> relative and absolute paths. Paths used by other build rules need
> to match exactly.

Passing an absolute path to a source file to the compiler while using a
relative path in the ninja build manifest can cause such mixture and
lead to incorrect rebuilds.  Simply revert the change for now.

Note that there was a follow-up to the original change in commit
v3.7.0-rc2~10^2 (Ninja: Fix RC language depfile generation with
cmcldeps, 2016-10-13).  We don't need to revert that because that
change made the relevant code cleverly adapt to whatever variable
we use to reference the source file.

[1] https://ninja-build.org/manual.html#_deps

Fixes: #16675
Issue: #13894
2017-02-24 10:15:50 -05:00
Brad King 32f13fbe09 Merge topic '16615-xcode-object-libraries-depends'
624021a0 Add test for object library dependencies
5da9266a Xcode: Always track object library dependencies via hacky Makefile
e80ac953 Xcode: Record dependency information also for object libraries
9293e57d Xcode: Collect dummy rules during iteration and emit afterwards
33a1d727 Makefile: Allow adding post-build rules to object libraries
2017-02-24 09:31:39 -05:00
Brad King 58ec4932e3 Merge topic 'dragndrop-format'
356068cd cmCPackDragNDropGenerator: Improving handling of temporary dmg images
2017-02-24 09:31:36 -05:00
Brad King 17c151965d Merge topic 'vcxproj-indentation'
2cb165e8 VS: Fix .vcxproj indentation
2017-02-24 09:31:33 -05:00
Brad King 31282e7854 Merge topic 'autogen_depends'
62a1e292 Autogen: Add hint to SKIP_AUTOMOC in error message
e98465cf Autogen: Add Quote function and use it for logging
96f6f392 Autogen: Add AUTOMOC_DEPEND_FILTERS documentation
94e3f82c Autogen: Add AUTOMOC_DEPEND_FILTERS test
70ebf35c Autogen: Add AUTOMOC_DEPEND_FILTERS support
2a6fd432 Autogen: Single point of return in Run() method
e9a8a207 Autogen: Log simplifications
2017-02-24 09:31:27 -05:00
Brad King f104fe45fc Merge topic 'cmake-server-aix'
0c14db25 cmServerConnection.h: Include cmConfigure.h first
2017-02-24 09:31:25 -05:00
Kitware Robot 32cb4172bd CMake Nightly Date Stamp 2017-02-24 00:01:05 -05:00
Clinton Stimpson 356068cd2e cmCPackDragNDropGenerator: Improving handling of temporary dmg images
Adjust the image format to create the initial `dmg`, and convert only
when necessary.  This eliminates spurious

    hdiutil create -format UDRW

failures I'm seeing which may be related to an anti-virus scanner.
Running

    hdiutil create -format UDRW -verbose

indicates a "resource is busy" issue when unmounting an image.
2017-02-23 14:12:52 -05:00
Brad King 2cb165e8c0 VS: Fix .vcxproj indentation
In commit v3.8.0-rc1~87^2~1 (VS: added support for C#, 2017-01-09) we
removed what looked like a no-op streaming operation but in fact it
is responsible for applying indentation.  Restore the line.
2017-02-23 13:38:47 -05:00
Sebastian Holtermann 62a1e292f2 Autogen: Add hint to SKIP_AUTOMOC in error message
Closes #15751
2017-02-23 14:14:29 +01:00
Sebastian Holtermann e98465cfed Autogen: Add Quote function and use it for logging 2017-02-23 14:14:29 +01:00
Brad King d23f4414c4 Merge topic 'clang-format-attrs'
d5f39a56 clang-format.bash: Use Git attributes to mark files for formatting
f6986ee4 Define a custom Git attribute to mark sources using our C style
2256c3a7 Define a custom Git attribute to mark source files as generated
2017-02-23 07:35:32 -05:00
Brad King 0c14db2558 cmServerConnection.h: Include cmConfigure.h first
We need this to make Large File Support definitions consistent with
other translation units.
2017-02-23 07:32:24 -05:00
Kitware Robot 77cbcb76bb CMake Nightly Date Stamp 2017-02-23 00:01:03 -05:00
Brad King d5f39a56a4 clang-format.bash: Use Git attributes to mark files for formatting 2017-02-22 16:59:26 -05:00
Brad King 2256c3a7db Define a custom Git attribute to mark source files as generated 2017-02-22 16:53:26 -05:00
Gregor Jasny 5da9266af5 Xcode: Always track object library dependencies via hacky Makefile
Always use the dependency tracker Makefile to ensure targets that
depend on object libraries are up-to-date.  For all other target
types we use the hack only for Xcode < 5.

Fixes: #16615
2017-02-22 15:20:11 -05:00
Sebastian Holtermann 70ebf35cda Autogen: Add AUTOMOC_DEPEND_FILTERS support 2017-02-22 21:13:48 +01:00
Sebastian Holtermann 2a6fd4328a Autogen: Single point of return in Run() method 2017-02-22 17:52:16 +01:00
Sebastian Holtermann e9a8a207ad Autogen: Log simplifications 2017-02-22 17:44:35 +01:00
Gregor Jasny e80ac95303 Xcode: Record dependency information also for object libraries
Xcode seems to have troubles to track target dependecies to
object files. This may lead to stale targets as reported in
issue #16615.

As a work-around the pre-Xcode 5 dependecy tracker hack with
post-build make files is extended to also take object libraries
into account.
2017-02-22 17:05:18 +01:00
Gregor Jasny 9293e57d9c Xcode: Collect dummy rules during iteration and emit afterwards 2017-02-22 17:05:17 +01:00
Gregor Jasny 33a1d727d5 Makefile: Allow adding post-build rules to object libraries 2017-02-22 17:05:17 +01:00
Brad King dfebdd6218 Merge topic 'autogen_json'
29d96633 Autogen: Don't use .moc include in Q_PLUGIN_METADATA test
d60f1ddc Autogen: Documentation update
cdb72127 Autogen: Add release notes for Q_PLUGIN_METADATA support
8b13a52c Autogen: Tests: Set different compression levels in rcc test
9d1db7d7 Autogen: Overhaul and simplify AutogenInfo.cmake file generation
0ab817fa Autogen: Optimize GetCompileDefinitionsAndDirectories function
754d4318 Autogen: Sort AutogenInfo.cmake.in
cd74daf0 Autogen: Tests: Add Q_PLUGIN_METADATA test
39c4819e Autogen: Tests: Add moc include tests
50805693 Autogen: Tests: Clean comments
c23206b6 Autogen: Log simplifications
347572cf Autogen: Only touch an unchanged moc_compilation.cpp
03df033b Autogen: Rebuild moc when Q_PLUGIN_METADATA json file changes
3ec230de Autogen: Use GetRealPath in central places only
41fb64e7 Autogen: Search moc includes in include directories
175c8900 Autogen: Sort includes before composing include options
...
2017-02-22 10:15:48 -05:00
Brad King dc32ad1988 Merge topic 'vs2017-fallback-sdk'
2da0838c VS2017: If Win 8.1 SDK is not available, use Win 10 SDK
2017-02-22 10:15:35 -05:00
Kitware Robot 28df39ca8e CMake Nightly Date Stamp 2017-02-22 00:01:03 -05:00
Brad King 2da0838c64 VS2017: If Win 8.1 SDK is not available, use Win 10 SDK
We try to choose the Windows SDK version based on the version of Windows
targeted by the build.  However, if using VS 2017 without the Windows
8.1 SDK installed then we must fall back to the Windows 10 SDK even when
targeting an older version of Windows.

Inspired-by: gnaggnoyil <gnaggnoyil@gmail.com>
2017-02-21 13:47:54 -05:00
Brad King 3ccad39000 Merge topic 'cmake-host-system-name'
717e1f30 Use looked up uname path for command execution
0bbd993f Make CMAKE_HOST_SYSTEM_NAME available in scripting context
2017-02-21 11:14:03 -05:00