Commit Graph
28539 Commits
Author SHA1 Message Date
Stephen Kelly 20e62f74c5 cmLocalGenerator: Simplify ConvertToLinkReference
Make conversion to output format the caller responsibility, so that the
method only 'converts to a link reference'.
2016-10-06 20:02:10 +02:00
Stephen Kelly fd93b3605b cmOutputConverter: Add a flag for IsUnix
Remove the need for method parameters to represent the distinction.
2016-10-06 20:02:10 +02:00
Stephen Kelly 1365e18b9b Convert: Inline platform-specific methods
They don't provide real value.
2016-10-06 20:02:09 +02:00
Stephen Kelly 1ed5f6b39b Makefiles: Introduce local RelativePath method
This makes it easier to remove directory-specific state from
cmOutputConverter where it doesn't belong.  Of course, this just
relocates the problem to the makefiles generator for now, but that's
better than affecting the core.
2016-10-06 20:02:08 +02:00
Stephen Kelly 8377d9e00b Fortran: Inline conversion to relative path
Don't use cmOutputConverter method which relies on directory-specific
state.
2016-10-06 20:02:08 +02:00
Stephen Kelly 00173b71d9 Fortran: Wrap path convert in a call with a more-suitable name 2016-10-06 20:02:07 +02:00
Stephen Kelly d5911ef014 Makefiles: Hardcode the relative location of the CMakeCache file
In this context, currentBinDir refers to the CMAKE_BINARY_DIR because it
comes from the first local generator.  GetHomeOutputDirectory is the
same as CMAKE_BINARY_DIR, so the computation here is unnecessary.
2016-10-06 20:02:07 +02:00
Stephen Kelly c3264f48c2 Convert: Extract method to determine if paths are in directory
The conditional early return can be moved to clients, which would have
many benefits, notably making cmOutputConverter independent of
directory-specific state.
2016-10-06 20:02:06 +02:00
Stephen Kelly 52168f3210 Convert: Remove asserts which are duplicated in delegate method
This means that we don't encounter the asserts in the case where we
early-return from here.
2016-10-06 20:02:05 +02:00
Stephen Kelly 5213f8936f Convert: Remove early return check
This function delegates to another function which does the same check.
2016-10-06 20:02:05 +02:00
Stephen Kelly b61c268bd0 Convert: Extract local variables for readability 2016-10-06 20:02:04 +02:00
Stephen Kelly e278f5a848 Convert: Extract local variables
Remove comment made obsolete by them.
2016-10-06 20:02:03 +02:00
Daniel Pfeifer 51bc6bddb9 cmOutputConverter: remove unused code
Remove old ConvertToRelativePath function now that all clients have
migrated to the new signature.
2016-10-06 18:45:18 +02:00
Stephen Kelly 8e0c1599a1 Xcode: Inline ConvertToRelativePath calls
Avoid violations of Interface Segregation Principle.  These two calls
now simply call different methods.
2016-10-06 18:45:18 +02:00
Stephen Kelly f59e877929 cmGlobalGenerator: Add API to get settings from top-level cmMakefile
At generate-time, definitions are sometimes read from a nearby cmMakefile,
making the value directory-specific because they are read once per
directory.  Often however, the intention is more
often to create a 'global' setting, such that the user writes for
example:

 set(CMAKE_IMPORT_LIBRARY_SUFFIX something)

once at the top level of their project.

Many of these are also set by internal platform files, such as
CMAKE_EXTRA_LINK_EXTENSIONS.

The set() definitions are not really suitable for 'global' settings
because they can be different for each directory, and code consuming the
settings must assume they are different for each directory, and read it
freshly each time with new allocations.

CMake has other variable types which are global in scope, such as global
properties, and cache variables.  These are less convenient to populate
for users, so establish a convention and API using the value as it is at
the end of the top-level CMakeLists file.
2016-10-06 18:41:06 +02:00
James Cowgill 72eb6a374e elf: add DynamicEntryList methods and rpath tag constants 2016-10-06 16:52:36 +01:00
James Cowgill 66c4d0820c elf: remove tag switch from ELF_Dyn ByteSwap function
sizeof(dyn.d_un.d_val) always equals sizeof(dyn.d_un.d_ptr) so every byte swap
call in this function is identical.
2016-10-06 16:52:34 +01:00
Dāvis Mosāns c666f8cbc6 NMake: Use ANSI encoding for NMake Makefiles
Set ANSI encoding to cmGeneratedFileStream for use with NMake Makefile
generator.
2016-10-06 10:56:00 -04:00
Dāvis Mosāns f00214aa4f cmGeneratedFileStream: Add optional encoding support
This allows to save file stream in different encoding than internal
encoding.
2016-10-06 10:56:00 -04:00
Dāvis Mosāns bb1d3370ce codecvt: Add class for encoding conversion
Add a `codecvt` class that can be used as facet for locale so that it's
possible to convert from internal UTF-8 encoding to other encodings such
as Windows ANSI codepage.
2016-10-06 10:55:59 -04:00
Brad King 45e13c8be8 Merge topic 'cmake-server-improve-shutdown'
68277e16 server-mode: Improve shutdown behavior
2016-10-06 10:08:07 -04:00
Brad King 1aaace3e54 Merge topic 'fix-VS-resources-pri-path'
646d01da VS: Use absolute target-specific directory for `resources.pri`
2016-10-06 10:08:04 -04:00
Brad King b12affd785 Merge topic 'no-define-cout-cerr'
53858177 Do not define cout/cerr preprocessor symbols
2016-10-06 10:07:58 -04:00
Kitware Robot 22605f1e23 CMake Nightly Date Stamp 2016-10-06 00:01:04 -04:00
Brad King 1bc8a66d07 Merge branch 'fix-VS-resources-pri-path' into release 2016-10-05 09:23:57 -04:00
Roman Wüger 646d01da95 VS: Use absolute target-specific directory for resources.pri
The change in commit v3.7.0-rc1~219^2 (VS: Use target-specific directory
for `resources.pri`, 2016-08-25) incorrectly specifies a relative path
for the `ProjectPriFullPath` value.  Fix it to use an absolute path.

Issue: #16106
2016-10-05 09:21:58 -04:00
Kitware Robot aa57f35ff5 CMake Nightly Date Stamp 2016-10-05 00:01:05 -04:00
Brad King 38642f4fb7 Merge topic 'qtifw-https-cmake.org'
eb1a57d7 QtIFW: Reference cmake.org via https in cmake.org.html
2016-10-04 12:59:48 -04:00
Brad King fb2a399528 Merge branch 'qtifw-https-cmake.org' into release 2016-10-04 11:40:25 -04:00
Brad King 5ffeb9bc13 Merge branch 'cmake-server-improve-shutdown' into release 2016-10-04 11:40:20 -04:00
Brad King eb1a57d7e7 QtIFW: Reference cmake.org via https in cmake.org.html 2016-10-04 11:40:01 -04:00
Brad King 5385817762 Do not define cout/cerr preprocessor symbols
Apply the change from commit bd3d0eaf (cmCTest: don't redefine cout and
cerr, 2016-09-01) to the rest of ctest and cpack.  These definitions
are no longer needed because our conventions are well established.
2016-10-04 09:34:37 -04:00
Brad King 834efe12bf Merge topic 'add-BUILD_RPATH'
dc6d8066 Add a BUILD_RPATH target property specifying build-tree RPATH entries
2016-10-04 09:23:06 -04:00
Tobias Hunger 68277e16c4 server-mode: Improve shutdown behavior
Add a signal handler to trigger shutdown and be more paranoid about
libuv doing things asynchronously.  This should fix test cases not
shutting down properly.
2016-10-04 09:15:32 -04:00
Kitware Robot 05d802a77e CMake Nightly Date Stamp 2016-10-04 00:01:05 -04:00
Ruslan Baratov dc6d806660 Add a BUILD_RPATH target property specifying build-tree RPATH entries
Users may need to add custom `RPATH` entries to be able to run binaries
from their build tree without setting `LD_LIBRARY_PATH`.  Provide a way
to do this that does not affect the install-tree `RPATH`.
2016-10-03 13:42:27 -04:00
Brad King 0c09a6ab1d Begin post-3.7 development 2016-10-03 09:09:50 -04:00
Brad King 46f3306f6a CMake 3.7.0-rc1 version update 2016-10-03 09:08:04 -04:00
Brad King bed8d6b887 Merge topic 'cmake-server-teardown-file-monitor'
1b43f9d1 cmake-server: Stop the file monitor on client disconnect
2016-10-03 09:01:51 -04:00
Kitware Robot 2d4aeb1ff1 CMake Nightly Date Stamp 2016-10-03 00:01:02 -04:00
Kitware Robot 52fb3d78d3 CMake Nightly Date Stamp 2016-10-02 00:01:04 -04:00
Brad King f564e4ab01 Merge topic 'autogen-fix-cmake-error'
a189d019 QtAutogen: Use cmSystemTools::Error instead of std::cerr
2016-10-01 08:20:36 -04:00
Brad King 8202816a36 Merge topic 'autogen-empty-qrc'
bcafc399 QtAutogen: Add test for empty qrc file
98b11f25 QtAutogen: Allow .qrc files that do not contain any file reference
2016-10-01 08:20:33 -04:00
Brad King de486a6895 Merge topic 'aux_source_directory-sort'
50b27de4 aux_source_directory: Sort results to make it deterministic
2016-10-01 08:20:30 -04:00
Kitware Robot 541394f30a CMake Nightly Date Stamp 2016-10-01 00:01:04 -04:00
Brad King 1b43f9d12d cmake-server: Stop the file monitor on client disconnect
When the client disconnects we need to remove all events from our loop.
Prior to the introduction of the file monitor we only needed to remove
the client pipes.  Now we need to remove the file monitor events too.

Without this the event loop may continue to block on file monitor
events.  If one does eventually come in then the event handler may try
to report it to the disconnected client and crash because our internal
structures for writing to the client have been freed.

This addresses a failure of the `Server` test on some machines.
2016-09-30 15:05:42 -04:00
Junghyun Kim 50b27de421 aux_source_directory: Sort results to make it deterministic
The change in commit v3.6.0-rc1~54^2 (file: Sort GLOB results to make it
deterministic, 2016-05-14) makes sense for `aux_source_directory` too.

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
2016-09-30 10:30:15 -04:00
Sebastian Holtermann a189d019dd QtAutogen: Use cmSystemTools::Error instead of std::cerr
We can use std::cerr only in the build-time tool, not during CMake
generation.
2016-09-30 10:12:59 -04:00
Sebastian Holtermann 98b11f252c QtAutogen: Allow .qrc files that do not contain any file reference 2016-09-30 10:02:48 -04:00
Brad King 8491a539cf Merge topic 'cmake-server-filewatcher'
4e34f042 server-mode: Watch CMakeLists.txt files
26250002 server-mode: Report watched files to client
0d96e193 server-mode: Add infrastructure to watch the filesystem
2016-09-30 08:07:29 -04:00