summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* CTest: Implement message(STATUS) output for 'ctest -S' scriptsBrad King2014-07-021-0/+11
| | | | | | Send status messages to the CTest HANDLER_OUTPUT log since they are part of the script handler output. This also ensures they appear inline with other test command handler output.
* Merge topic 'ExternalProject_test'Brad King2014-07-021-54/+0
|\ | | | | | | | | 7269e69f ExternalProject test: remove unused file
| * ExternalProject test: remove unused fileRolf Eike Beer2014-07-011-54/+0
| |
* | Merge topic 'memcheck-test-no-lang'Brad King2014-07-021-1/+1
|\ \ | | | | | | | | | | | | 5217ad26 CTestTestMemcheck: do not search for compilers
| * | CTestTestMemcheck: do not search for compilersRolf Eike Beer2014-07-011-1/+1
| |/
* | Merge topic 'tests-add_test-NAME'Brad King2014-07-021-1/+1
|\ \ | | | | | | | | | | | | 902c9063 Tests: Use add_test(NAME) signature in add_test_macro
| * | Tests: Use add_test(NAME) signature in add_test_macroBen Boeckel2014-07-011-1/+1
| |/ | | | | | | This will allow generator expressions to be used in test arguments.
* | Merge topic 'fix-circular-transitive-properties-segfault'Brad King2014-07-0222-0/+171
|\ \ | | | | | | | | | | | | | | | 65aa5442 Target: Return null when a transitive property is not defined. 61ce6547 Genex: Fix stack overflow in transitive property evaluation.
| * | Target: Return null when a transitive property is not defined.Stephen Kelly2014-07-011-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit v2.8.11~310^2~1 (Keep track of INCLUDE_DIRECTORIES as a vector of structs., 2012-11-19) added special case of INCLUDE_DIRECTORIES for the purpose of origin-tracking of individual entries in the property. It introduced a bug in that it returned an empty string instead of '0' in the case that no includes have been set. Commit v2.8.11~289^2~2 (Handle INTERFACE properties transitively for includes and defines., 2012-09-23) introduced transitive handling of the property through the link implementation, together with a whitelist of properties which would be evaluated transitively. Because of the bug introduced previously, the 'prop' in TargetPropertyNode is non-null, meaning that the content (the empty string) would be evaluated as a generator expression. This was harmless as the follow-up code was only for 'INTERFACE_' variants of target properties, so the effect was the same. Commits v2.8.11~280^2~2 (Keep track of properties used to determine linker libraries., 2012-11-05) and v2.8.11~280^2~1 (Add API to calculate link-interface-dependent bool properties or error., 2013-01-06) added a way to track and report errors on properties which both determine and are determined by the link implementation. This was later used in generator expression evaluation by commit v2.8.11~252^2~2 (Make INTERFACE determined properties readable in generator expressions., 2013-01-19). If a property is unset (null), and the link implementation of the target was not being evaluated, this commit made it possible to evaluate the property from the link implementation instead. If the link implementation was being evaluated, an empty string was returned from the generator expression evaluation, which might be later reported as an error. The above logic was written for 'compatible interface' properties, but in fact it should have also included other properties. Because of the empty-string-instead-of-null bug, this code block is not entered for the INCLUDE_DIRECTORIES property. At this point, however, the bug still does not significantly affect behavior, because the follow-up code is still a no-op for the INCLUDE_DIRECTORIES property, and an empty string is returned regardless. Commit v2.8.11~189^2~6 (Use the link information as a source of compile definitions and includes., 2013-02-12) refactored the logic, but also without a change in behavior. Commit v2.8.11~156^2~2 (Expand includes and defines transitively in 'external' genexes., 2013-02-13) refactored the logic again, this time with a change of behavior. The INCLUDE_DIRECTORIES property was then mapped to INTERFACE_INCLUDE_DIRECTORIES during transitive generator expression evaluation. Because the transitive evaluation involved evaluation of the link implementation, this introduced a recursive loop and a segfault with code like: add_library(empty1 ...) add_library(empty2 ...) target_link_libraries(empty1 PRIVATE $<$<STREQUAL:$<TARGET_PROPERTY:INCLUDE_DIRECTORIES>,/foo/bar>:empty2> ) As there is no real use-case for reading a target property like that while evaluating the link implementation, this went unnoticed. The same pattern was followed for other special-cased reads of transitive target properties such as COMPILE_DEFINITIONS. The segfault was fixed in the parent commit, but change the property to return null when appropriate for other future uses.
| * | Genex: Fix stack overflow in transitive property evaluation.Stephen Kelly2014-07-0121-0/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit v2.8.11~156^2~2 (Expand includes and defines transitively in 'external' genexes., 2013-02-13) introduced a recursive loop and a stack overflow during evaluation of a link implementation which depends on a transitive property, such as add_library(empty1 ...) add_library(empty2 ...) target_link_libraries(empty1 PRIVATE $<$<STREQUAL:$<TARGET_PROPERTY:INCLUDE_DIRECTORIES>,/foo/bar>:empty2> ) There is no use-case for code like that currently, but it should not cause a stack overflow. Avoid the recursion by reporting an error early if a case like this is found.
* | | Merge topic 'ninja-link-order-only-dependencies'Brad King2014-07-022-1/+12
|\ \ \ | | | | | | | | | | | | | | | | ac8879ce Ninja: Add order-only dependencies to link commands (#14728)
| * | | Ninja: Add order-only dependencies to link commands (#14728)Ben Boeckel2014-07-012-1/+12
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A library or executable target that consists only of a reference to an object library may have no sources to compile or custom commands to run. The command in the target is the link (or archive) command. Add missing order-only dependencies to link commands so that target ordering dependencies are satisfied for it without depending on an intermediate compilation rule. Extend the ObjectLibrary test to cover this case. Co-Author: Brad King <brad.king@kitware.com>
* | | Merge topic 'encoding-bugs'Brad King2014-07-022-15/+5
|\ \ \ | | | | | | | | | | | | | | | | 9571214e Encoding: Replace some system calls with kwsys calls which handle unicode.
| * | | Encoding: Replace some system calls with kwsys calls which handle unicode.Clinton Stimpson2014-07-012-15/+5
| | | |
* | | | Merge topic 'FindJNI-ppc64le'Brad King2014-07-021-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 18ac6713 FindJNI: search for ppc64 on ppc64le as well
| * | | | FindJNI: search for ppc64 on ppc64le as wellDinar Valeev2014-07-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IcedTea 2.5 have changed libarch for ppc64le to ppc64. Adjust FindJNI to look for both for backward compatibility. Signed-off-by: Dinar Valeev <dvaleev@suse.com>
* | | | | Merge topic 'libarchive-encoding'Brad King2014-07-022-8/+56
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 71c981a2 Encoding: Fix potential encoding issues with libarchive on Windows.
| * | | | | Encoding: Fix potential encoding issues with libarchive on Windows.Clinton Stimpson2014-07-022-8/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because the 8bit string encoding in libarchive can be different than the 8bit string encoding in CMake, change to call the wide version of libarchive functions. They are different if CMake is configured to use UTF-8 as the internal encoding. Create helper functions for some libarchive calls to use wstring internally on platforms supporting it.
* | | | | | CMake Nightly Date StampKitware Robot2014-07-021-1/+1
| |_|_|/ / |/| | | |
* | | | | Merge topic 'test-speedup-RunCMake.include_directories'Brad King2014-07-0119-44/+55
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9998d78d Tests: Speed up RunCMake.include_directories test 6eee5d74 Tests: Drop broken and now unused RunCMake_TEST_FILE option f0f15b93 Tests: Refactor RunCMake.include_directories to drop RunCMake_TEST_FILE 8707814e Tests: Refactor RunCMake.File_Generate to drop RunCMake_TEST_FILE
| * | | | | Tests: Speed up RunCMake.include_directories testBrad King2014-06-3011-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove unnecessary language initializations. Change the main CMakeLists.txt project() call to specify NONE. Use enable_language(CXX) instead of project() in cases that need it to avoid enabling C too.
| * | | | | Tests: Drop broken and now unused RunCMake_TEST_FILE optionBrad King2014-06-301-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We cannot use -DRunCMake_TEST=${RunCMake_TEST_FILE} because test cases use project(${RunCMake_TEST}) and the project name cannot be a path to a file. The parent and grandparent commits removed the only uses of the option. Drop it now.
| * | | | | Tests: Refactor RunCMake.include_directories to drop RunCMake_TEST_FILEBrad King2014-06-304-24/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drop use of RunCMake_TEST_FILE and pass the test file in through a definition in RunCMake_TEST_OPTIONS.
| * | | | | Tests: Refactor RunCMake.File_Generate to drop RunCMake_TEST_FILEBrad King2014-06-304-5/+8
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | Drop use of RunCMake_TEST_FILE and pass the test file in through a definition in RunCMake_TEST_OPTIONS.
* | | | | Merge topic 'ninja-no-phony-sources'Brad King2014-07-014-44/+44
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 93371ed5 Ninja: Skip generating empty phony rules 7243c951 Ninja: Don't limit custom cmd side-effects to build folder (#14972) a33cf6d0 Ninja: Consider only custom commands deps as side-effects (#14972)
| * | | | | Ninja: Skip generating empty phony rulesAdam Strzelecki2014-06-302-14/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ninja generator ensures that all custom commands being target dependencies are run before other source compilations. However in case there are no such dependencies it currently generates empty phony rules which clutter the build graph. Teach the Ninja generator to produce such rules only when necessary.
| * | | | | Ninja: Don't limit custom cmd side-effects to build folder (#14972)Adam Strzelecki2014-06-301-16/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Actually custom command can write wherever it wants to, such as temporary folder or source folder, possibly violating rules that only build folder should be affected. Therefore we should consider custom command dependency at any path as possible side effect adding phony rule. We avoid adding phony rules for regular source files (since the paraent commit) so we no longer need the in-build-tree test to avoid them.
| * | | | | Ninja: Consider only custom commands deps as side-effects (#14972)Adam Strzelecki2014-06-302-14/+17
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v2.8.12~248^2 (Ninja: Custom Command file depends don't need to exist before building, 2013-06-07) all explicit dependencies inside build folder were considered as possible build command side-effects and phony rules were produced for them in case they don't exist when starting to build. This is unnecessary since regular compile inputs need to exist or cmake will fail. Moreover the exception for sources having GENERATED property that can be missing is already handled by WriteAssumedSourceDependencies. This fixes unwanted phony rules for all regular source files when doing in-source build, causing Ninja not complain when such files gets missing, i.e. during development. Also this reduces number of rules in ninja.build. Now only custom command dependencies are considered as possible side-effects.
* | | | | Merge topic 'cuda_osx_clang'Brad King2014-07-012-4/+14
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 32bcec5f FindCUDA: Fix OSX Clang & no C language enabled
| * | | | | FindCUDA: Fix OSX Clang & no C language enabledAdam Strzelecki2014-06-302-4/+14
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When setting default CUDA_HOST_COMPILER we must dereference CMAKE_C_COMPILER, i.e. /usr/bin/clang should be used instead /usr/bin/cc which is symlink. Otherwise CUDA thinks it is GCC and issues -dumpspecs which is unknown option to Clang. Also in case neither CMAKE_C_COMPILER is defined (project does not use C language) nor CUDA_HOST_COMPILER is specified manually we should skip -ccbin and let nvcc use its own default C compiler.
* | | | | Merge topic 'FindVTK-drop-4.0-support'Brad King2014-07-012-101/+17
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | 117e7e11 FindVTK: Drop support for finding VTK 4.0
| * | | | FindVTK: Drop support for finding VTK 4.0Brad King2014-07-012-101/+17
| |/ / / | | | | | | | | | | | | | | | | Convert to a simple thin-wrapper around the find_package(VTK NO_MODULE). This makes the code much simpler and improves error messages.
* | | | CMake Nightly Date StampKitware Robot2014-07-011-1/+1
| | | |
* | | | Merge topic 'FindQt4-ignore-qt5'Brad King2014-06-301-1/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 567d4d8d FindQt4: Don't further process qmake if it does not belong to Qt4
| * | | | FindQt4: Don't further process qmake if it does not belong to Qt4Nils Gladitz2014-06-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the only qmake that can be found belongs to Qt5 the find module would otherwise still further interrogate it and issue diagnostics which are specific to Qt4.
* | | | | Merge topic 'vs14-generator'Brad King2014-06-3030-55/+968
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f0e298ad Help: Add notes for topic 'vs14-generator' 5c105140 Tests: Simplify LoadCommand tests b1cbd577 FindBoost: Add -vc140 mangling for VS 14 bdc7d9c8 VS14: Fix Cl and Link flag tables as previous versions d96b3f68 VS14: Generate flag tables from MSBuild v140 tool files 65624c39 VS14: Add Visual Studio 14 generator (#14982) 8635ac23 Tests/Preprocess: Remove unnecessary VS version tests
| * | | | | Help: Add notes for topic 'vs14-generator'Brad King2014-06-271-0/+4
| | | | | |
| * | | | | Tests: Simplify LoadCommand testsBrad King2014-06-256-34/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drop out-of-place coverage of CheckFunctionExists module. The "printf" symbol is not available on VS 14 without including the <stdio.h> header to get a definition.
| * | | | | FindBoost: Add -vc140 mangling for VS 14Brad King2014-06-251-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Co-Author: Pawel Stopinski <diokhan@go2.pl>
| * | | | | VS14: Fix Cl and Link flag tables as previous versionsBrad King2014-06-252-11/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply the flag table fixes from: commit 9c7f234c (VS: Fix /MANIFESTUAC:NO linker option mapping, 2014-05-07) commit e8633e66 (VS: Fix /analyze:log flag mapping, 2014-04-01) commit f2caf795 (VS: Fix /MAP:mapfile flag mapping, 2013-07-09) to the VS 14 flag tables.
| * | | | | VS14: Generate flag tables from MSBuild v140 tool filesBrad King2014-06-255-3/+759
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Run cmparseMSBuildXML.py on cl.xml, lib.xml, and link.xml to generate our flag tables: python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/V140/1033/cl.xml" > cmVS14CLFlagTable.h python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/V140/1033/lib.xml" > cmVS14LibFlagTable.h python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/V140/1033/link.xml" > cmVS14LinkFlagTable.h Fix up the declaration names at the top of each file. Finally, teach cmVisualStudio10TargetGenerator to select the version of the table matching the version of VS. Co-Author: Pawel Stopinski <diokhan@go2.pl>
| * | | | | VS14: Add Visual Studio 14 generator (#14982)Brad King2014-06-2516-9/+209
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call the generator "Visual Studio 14" without any year because this version of VS does not provide a year in the product name. Copy cmGlobalVisualStudio12Generator to cmGlobalVisualStudio14Generator and update version numbers accordingly. Add the VS14 enumeration value. Teach the platform module Windows-MSVC to set MSVC14 and document the variable. Teach module InstallRequiredSystemLibraries to look for the VS 14 runtime libraries. Teach tests CheckCompilerRelatedVariables, VSExternalInclude, and RunCMake.GeneratorToolset to treat VS 14 as they do VS 10, 11, and 12. Co-Author: Pawel Stopinski <diokhan@go2.pl>
| * | | | | Tests/Preprocess: Remove unnecessary VS version testsBrad King2014-06-241-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v2.8.12~436^2 (VS 10: Escape ; as %3B in preprocessor definitions, 2013-04-11) the Tests/Preprocessor/CMakeLists.txt file no longer uses the PP_VS1XX values, so stop setting them.
* | | | | | Merge topic 'FindOpenMP-intel-qopenmp'Brad King2014-06-301-1/+4
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4671f3ab FindOpenMP: ICC 15 deprecates -openmp, use -qopenmp
| * | | | | | FindOpenMP: ICC 15 deprecates -openmp, use -qopenmpAdam Strzelecki2014-06-271-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Intel Composer XE 2015 Beta 2 deprecates all options starting with -o for sake of compatibility with other compilers expecting anything goes after -o... is output file name.
* | | | | | | Merge topic 'FindJPEG-new-windows-name'Brad King2014-06-301-1/+1
|\ \ \ \ \ \ \ | |_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | 115811dc FindJPEG: Add alternative name 'libjpeg'
| * | | | | | FindJPEG: Add alternative name 'libjpeg'Sebastian Elsner2014-06-271-1/+1
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Newer versions of jpeglib build the .lib file on Windows with a different name by default. Its now called libjpeg.lib instead of jpeg.lib.
* | | | | | CMake Nightly Date StampKitware Robot2014-06-301-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2014-06-291-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2014-06-281-1/+1
| |_|_|/ / |/| | | |