- 23 Nov, 2015 1 commit
-
-
Brad King authored
In commit v3.4.0-rc1~18^2 (Disable shared library support when compiler links statically, 2015-09-30) we tried to detect when the compiler is not capable of linking shared libraries (possibly due to flags in use). However, the approach is not robust against flags like `-nostdlib`. Revert it for now pending another solution to the original problem.
-
- 30 Sep, 2015 5 commits
-
-
Brad King authored
When a user or a compiler wrapper adds '-static' to the compiler flags then it will always link static binaries. Detect this from the compiler id binary and disable TARGET_SUPPORTS_SHARED_LIBS. This will prevent projects from accidentally adding shared libraries when the toolchain does not support them. It also helps CMake avoid linking with flags that require shared libraries to be supported.
-
Chuck Atkins authored
Instead of always adding CMAKE_SHARED_LIBRARY_LINK_<LANG>_FLAGS to executables, or just when the ENABLE_EXPORTS property is set (CMP0065), make sure that the target platform also actually supports shared libraries. If not, then the executable cannot possibly provide symbols to them anyway.
-
Kitware Robot authored
-
- 29 Sep, 2015 13 commits
-
-
Konstantin Podsvirov authored
-
Brad King authored
-
Kitware Robot authored
Extract upstream KWSys using the following shell commands. $ git archive --prefix=upstream-kwsys/ 2089567a | tar x $ git shortlog --no-merges --abbrev=8 --format='%h %s' dc4e4a55..2089567a Vitaly Baranov (1): 2089567a SystemTools: Fix GetPath to not affect existing output vector entries
-
Brad King authored
1fe39020 QtAutogen: Port away from cmLocalGenerator. 59a729b2 QtAutogen: Split initializer class into separate file. 1e83a963 QtAutogen: Split initializer methods into separate class. 12f0e13c QtAutogen: Simplify generator initialization API. 65ff75d3 QtAutogen: Remove unnecessary dereference. 64b78c14 QtAutogen: Move Source initialization to prior loop. c3c20d3c QtAutogen: Add _automoc.cpp sources before initializing. 8b6ec29d QtAutogen: Move initialization condition to caller. 9470b056 QtAutogen: Move condition to prior loop. b7491b1c QtAutogen: Move condition to prior loop. e791c854 QtAutogen: Make some methods static. 6210ec64 QtAutogen: Make internal method private. a3ceb998 QtAutogen: Don't use members to initialize automoc targets. dced2fe1 QtAutogen: Rename variable. f9a77e76 QtAutogen: Don't use a member to store skipped uic files. c3633e7a QtAutogen: Add missing includes and forward declarations.
-
Brad King authored
da7276cf Replace http://www.cmake.org URLs with https://cmake.org
-
Stephen Kelly authored
The Ninja generator and Visual Studio generators are special-cased for the QtAutogen feature. In order to reduce the number of custom targets, the Visual Studio generators prefer to create custom commands instead, and in order to create appropriate Ninja files, generated rcc files are listed as byproducts. This requires the use of the GetConfigCommonSourceFiles API of the cmGeneratorTarget for those generators when initializing the autogen target. The initializer method is called from Compute() after the cmGeneratorTarget objects are created, however the initialization of the object directory occurs later in the InitGeneratorTargets method. That means that the resulting object locations are computed incorrectly and cached before the object directory is determined, so the generated buildsystem can not find the object files. The initialization of the object directory was split from the creation of cmGeneratorTarget instances in commit 0e0258c8 (cmGlobalGenerator: Split creation of generator object from initialization., 2015-07-25). The motivation for the split was to do only what is essential to do early in cases where cmGeneratorTargets need to be created at configure-time. That is required for the purpose of implementing policies CMP0024 and CMP0026, and for try_compile(LINK_LIBRARIES). However, the split was not really necessary. Compute the object directory in the cmGeneratorTarget constructor instead. The QtAutogen unit test already tests the use of TARGET_OBJECTS with AUTOMOC, and that test already passes on Ninja. The reason it already passes is that the QtAutogen target also uses the AUTORCC feature, and specifies several qrc files in its SOURCES. Later in the Compute algorithm (after the InitGeneratorTargets call), the rcc files are determined and target->AddSource is called. The AddSource call clears the previously mentioned cache of source files, causing it to be regenerated when next queried, this time taking account of the object directory. Extend the test suite with a new target which does not make use of AUTORCC with qrc files so that the test added alone would break without the fix in this commit.
-
Stephen Kelly authored
-
Stephen Kelly authored
-
Kitware Robot authored
-
- 28 Sep, 2015 17 commits
-
-
Domen Vrankar authored
-
Domen Vrankar authored
On windows FILE_FLAG_BACKUP_SEMANTICS enables us to read/write time both on files and directories.
-
Domen Vrankar authored
On Windows if file permissions are read only FILE_WRITE_ATTRIBUTES will enables us to get file handle and change file time.
-
Raffi Enficiaud authored
-
Marc Chevrier authored
-
Mike Pagel authored
When we generate a ".rule" file to attach a custom command in a VS IDE project, set the file timestamp to be old enough to prevent the rule from re-running due to its timestamp.
-
Brad King authored
51e48637 VS: Remove impossible condition. 203eada6 cmMakefile: Remove Configured state. 5642449a cmCommand: Remove IsDiscouraged interface. 77c6a339 cmSetCommand: Re-use local named variable. 732f5511 cmSetCommand: Fix typo in comment. 8544f16d cmGlobalGenerator: Devirtualize method. 9096daaf Ninja: Remove unused variable.
-
Stefan Kislinskiy authored
Some commands on Windows do not understand forward slash paths and require backslashes. In order to help projects generate shell invocations of such commands, provide a generator expression to convert paths to the shell-preferred path format for the current generator. This will allow custom commands to generate paths the same way CMake does for compiler command invocations.
-
Kitware Robot authored
-
- 27 Sep, 2015 4 commits
-
-
Stephen Kelly authored
-
Stephen Kelly authored
It is vestigial.
-
Stephen Kelly authored
This used to affect documentation, but does not affect the Sphinx documentation.
-
Stephen Kelly authored
-