summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'install-interface-relative'Brad King2013-07-262-0/+8
|\ | | | | | | | | d777b8e Genex: Allow relative paths in INSTALL_INTERFACE.
| * Genex: Allow relative paths in INSTALL_INTERFACE.Stephen Kelly2013-07-252-0/+8
| | | | | | | | | | | | | | These paths can be prepended with the ${_IMPORT_PREFIX} generated in the export file. Such relative paths were previously an error.
* | Merge topic 'install-interface-includes'Brad King2013-07-266-1/+31
|\ \ | |/ | | | | | | 650e61f Add a convenient way to add the includes install dir to the INTERFACE.
| * Add a convenient way to add the includes install dir to the INTERFACE.Stephen Kelly2013-07-246-1/+31
| | | | | | | | | | | | | | Export the INCLUDES DESTINATION without appending to the INTERFACE_INCLUDE_DIRECTORIES of the target itself. That way, a target can be exported multiple times with different INCLUDES DESTINATION without unintended cross-pollution of export sets.
* | Merge topic 'dev/export-target-without-language'Brad King2013-07-256-0/+16
|\ \ | | | | | | | | | | | | 5837f19 export: Error when exporting a target without a language
| * | export: Error when exporting a target without a languageBen Boeckel2013-07-256-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | First, it prevents a NULL dereference and second it reiterates that targets without languages are not supported by CMake. Add a RunCMake.ExportWithoutLanguage test exporting a library without a languages.
* | | Merge topic 'doc-RunCMake-strips-expected'Brad King2013-07-251-1/+1
|\ \ \ | |/ / |/| | | | | | | | c80a4f9 Tests/RunCMake: Document stripping of expected output
| * | Tests/RunCMake: Document stripping of expected outputBen Boeckel2013-07-251-1/+1
| | | | | | | | | | | | | | | Document that trailing newlines are stripped from the -stdout.txt and -stderr.txt content before using as a regular expression.
* | | Merge topic 'tll-new-signatures'Brad King2013-07-2524-0/+175
|\ \ \ | | | | | | | | | | | | | | | | b655865 target_link_libraries: Add PUBLIC/PRIVATE/INTERFACE keyword signature
| * | | target_link_libraries: Add PUBLIC/PRIVATE/INTERFACE keyword signatureStephen Kelly2013-07-2424-0/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new signature to help populate INTERFACE_LINK_LIBRARIES and LINK_LIBRARIES cleanly in a single call. Add policy CMP0023 to control whether the keyword signatures can be mixed with uses of the plain signatures on the same target.
* | | | Merge topic 'compile-defs-debugging'Brad King2013-07-251-0/+13
|\ \ \ \ | |/ / / |/| | | | | | | | | | | a43e5e0 Test COMPILE_DEFINITIONS target property get/set/get round-trip
| * | | Test COMPILE_DEFINITIONS target property get/set/get round-tripBrad King2013-07-241-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach the Preprocess test to get, set, and then get the same value for the COMPILE_DEFINITIONS target property and verify that the value is not changed. This ensures the internal structured storage of the property value can reproduce the original string value.
* | | | Merge topic 'framework-interface-includes'Brad King2013-07-245-0/+27
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | f5ca872 Use linked frameworks as a source of include directories.
| * | | | Use linked frameworks as a source of include directories.Stephen Kelly2013-07-245-0/+27
| | | | |
* | | | | Merge topic 'dev/property-append-with-empty-string'Brad King2013-07-243-0/+11
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 31bd83e set_property: Do not remove a property when APPENDing nothing
| * | | | | set_property: Do not remove a property when APPENDing nothingBen Boeckel2013-07-243-0/+11
| | |_|/ / | |/| | |
* | | | | Merge topic 'fix-mapped-config-genex'Brad King2013-07-242-0/+43
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 10a069b Genex: Fix $<CONFIG> with IMPORTED targets and multiple locations.
| * | | | | Genex: Fix $<CONFIG> with IMPORTED targets and multiple locations.Stephen Kelly2013-07-242-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old code checked only that there was a LOCATION for the specified config, but did not check whether the config actually mapped. Task-number: 14292
* | | | | | Merge topic 'remove-LINK_LANGUAGE-genex'Brad King2013-07-246-18/+28
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | 4f6bd70 Remove the LINK_LANGUAGE generator expression.
| * | | | | Remove the LINK_LANGUAGE generator expression.Stephen Kelly2013-07-246-18/+28
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It accepted an optional argument to test for equality, but no way to get the linker language of a particular target. TARGET_PROPERTY provides this flexibility and STREQUAL provides the necessary API for equality test. Extend the CompileDefinitions test to cover accessing the property of another target.
* | | | | Merge topic 'rpath-on-mac'Brad King2013-07-224-1/+32
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 603bc59 OS X: Fix regression handling frameworks for Ninja e645ff0 OS X: Enable rpath support on Mac OS X when find_library() is used.
| * | | | | OS X: Enable rpath support on Mac OS X when find_library() is used.Clinton Stimpson2013-07-164-1/+32
| | |/ / / | |/| | |
* | | | | Merge topic 'SelectLibraryConfigurations'Brad King2013-07-221-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 04d4dc3 SelectLibraryConfigurations: Use -NOTFOUND instead of copying the vars 07b44e7 SelectLibraryConfigurations: Do not cache the _LIBRARY variable
| * | | | | SelectLibraryConfigurations: Use -NOTFOUND instead of copying the varsDaniele E. Domenichelli2013-07-221-1/+1
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If one of the libraries (_DEBUG or _RELEASE) is not set, the value is set to the value of the other one. FindQt4, from which the macro is extracted, sets the values to XXX_LIBRARY_{DEBUG,RELEASE}-NOTFOUND instead. In both cases the XXX_LIBRARY is correct, but using NOTFOUND makes it easier to understand which one is missing. Update Tests/CMakeOnly/SelectLibraryConfigurations with the new logic.
* | | | | Merge topic 'cpack-wix'Brad King2013-07-221-0/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bf23891 CPackWIX: Add support for custom WiX templates 155bb01 CMakeCPack: Provide an upgrade guid for WiX bfa2e29 CPackWIX: Add option to specify the language(s) of the installer 6e51ea9 CPackWIX: Handle multiple shortcuts in the start menu 6d77e1a CPackWIX: Fix MSI package layout regression from parent 8c0e325 CPackWIX: Handle CPACK_PACKAGE_EXECUTABLES (#13967)
| * | | | | CPackWIX: Handle CPACK_PACKAGE_EXECUTABLES (#13967)Fredrik Axelsson2013-07-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add start menu items including an uninstall shortcut. Add variable CPACK_WIX_PROGRAM_MENU_FOLDER to configure folder name.
* | | | | | Teach compiler ABI check to tolerate try_compile COPY_FILE failureBrad King2013-07-175-0/+26
| |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In CMakeDetermineCompilerABI we use try_compile with the COPY_FILE option to get a copy of the compiled binary used to detect the ABI information. We already tolerate the case when compilation fails. However, when compilation appears to succeed but does not produce the expected executable the try_compile command immediately reports an error because the COPY_FILE fails. Tolerate COPY_FILE failure without stopping the overall configuration process by using the try_compile COPY_FILE_ERROR option to capture the error message. Log the full error to CMakeError.log and simply report failure to detect the ABI as if compilation had failed. Teach the RunCMake.Configure test to cover this case and verify that the messages show up as expected both in stdout and in CMakeError.log.
* | | | | Merge topic 'INTERFACE_LINK_LIBRARIES-prop'Brad King2013-07-171-0/+1
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | 295a42c Fix ExportImport test cmp0022NEW build on Watcom
| * | | | Fix ExportImport test cmp0022NEW build on WatcomBrad King2013-07-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test uses generate_export_header(cmp0022OLD ...) to generate the cmp0022_export.h header used by both cmp0022OLD and cmp0022NEW. In the latter the _EXPORTS symbol does not match what the header expects so the library does not export anything. The Watcom linker does not like to create shared libraries that do not export any symbols. Fix this by setting the DEFINE_SYMBOL property on cmp0022NEW to match that of cmp0022OLD as the header expects.
* | | | | Merge topic 'obsolete-qt4-macros'Brad King2013-07-1610-0/+47
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | cb7f32f Mark qt4_use_modules and qt4_automoc as obsolete.
| * | | | | Mark qt4_use_modules and qt4_automoc as obsolete.Stephen Kelly2013-07-1410-0/+47
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | The QT_QMAKE_EXECUTABLE has to be passed through the cmake calls because the executable may not be in the PATH.
* | | | | Merge topic 'tid-system-argument'Brad King2013-07-167-0/+82
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9cf3547 Add the INTERFACE_SYSTEM_INCLUDE_DIRECTORIES target property. 1925cff Add a SYSTEM parameter to target_include_directories (#14180) 286f227 Extend the cmTargetPropCommandBase interface property handling. 83498d4 Store system include directories in the cmTarget. f1fcbe3 Add Target API to determine if an include is a system include. 2679a34 Remove unused variable.
| * | | | Add the INTERFACE_SYSTEM_INCLUDE_DIRECTORIES target property.Stephen Kelly2013-07-167-0/+82
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unlike other target properties, this does not have a corresponding non-INTERFACE variant. This allows propagation of system attribute on include directories from link dependents.
* | | | Merge topic 'target-policies'Brad King2013-07-157-0/+36
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 484bb88 Genex: Make CMP0021 and CMP0022 usable with TARGET_POLICY
| * | | | Genex: Make CMP0021 and CMP0022 usable with TARGET_POLICYStephen Kelly2013-07-117-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use preprocessor loops and add a unit test for the appropriate policies. All policies whose value is recorded at target creation time should be part of this list.
* | | | | Merge topic 'INTERFACE_LINK_LIBRARIES-prop'Brad King2013-07-1570-0/+446
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3e30d9e TLL: Don't populate old link interface if CMP0022 is NEW. 574fec9 Export: Generate INTERFACE_LINK_LIBRARIES property on targets. d0a76ea Introduce the INTERFACE_LINK_LIBRARIES property. ddde61c Introduce the LINK_ONLY generator expression. 5aa9731 GenexEval: Add abstracted access to link interface for a target.
| * | | | TLL: Don't populate old link interface if CMP0022 is NEW.Stephen Kelly2013-07-0816-0/+99
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Always populate the INTERFACE_LINK_LIBRARIES for interface entries. Don't populate the old interface properties matching (IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)? if CMP0022 is NEW. Because the INTERFACE_LINK_LIBRARIES property is now populated by the target_link_libraries when operating on a static library, make an equivalent change which populates the property with the same value when the old link_libraries() command is used. This silences the policy warning in that case.
| * | | Export: Generate INTERFACE_LINK_LIBRARIES property on targets.Stephen Kelly2013-07-0819-0/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This property is generated only for targets which have recorded policy CMP0022 as NEW, and a compatibility mode is added to additionally export the old interfaces in that case too. If the old interfaces are not exported, the generated export files require CMake 2.8.12. Because the unit tests use a version which is not yet called 2.8.12, temporarily require a lower version.
| * | | Introduce the INTERFACE_LINK_LIBRARIES property.Stephen Kelly2013-07-0837-0/+232
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This property replaces the properties which match (IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?, and is enabled for IMPORTED targets, and for non-IMPORTED targets only with a policy. For static libraries, the INTERFACE_LINK_LIBRARIES property is also used as the source of transitive usage requirements content. Static libraries still require users to link to all entries in their LINK_LIBRARIES, but usage requirements such as INCLUDE_DIRECTORIES COMPILE_DEFINITIONS and COMPILE_OPTIONS can be restricted to only certain interface libraries. Because the INTERFACE_LINK_LIBRARIES property is populated unconditionally, we need to compare the evaluated result of it with the link implementation to determine whether to issue the policy warning for static libraries. For shared libraries, the policy warning is issued if the contents of the INTERFACE_LINK_LIBRARIES property differs from the contents of the relevant config-specific old LINK_INTERFACE_LIBRARIES property.
* | | Merge topic 'try_compile-COPY_FILE_ERROR'Brad King2013-07-158-0/+33
|\ \ \ | | | | | | | | | | | | | | | | c28715b try_compile: Add COPY_FILE_ERROR option to capture failure
| * | | try_compile: Add COPY_FILE_ERROR option to capture failureBrad King2013-07-158-0/+33
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the COPY_FILE operation fails optionally capture the error message with a COPY_FILE_ERROR option instead of reporting the error immediately. This gives callers a chance to do something else or report the error. Teach the RunCMake.try_compile test to cover bad argument combinations involving COPY_FILE_ERROR. Teach the TryCompile test to cover the case of a COPY_FILE error message captured by COPY_FILE_ERROR.
* | | Merge topic 'cmake-error-advice'Brad King2013-07-157-0/+18
|\ \ \ | | | | | | | | | | | | | | | | 18e1bfb cmake: On configure error suggest looking at CMake*.log files
| * | | cmake: On configure error suggest looking at CMake*.log filesBrad King2013-07-097-0/+18
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | When CMake reports failure to configure a project, especially when the toolchain does not initialize properly, the true reason may be clear from reading the CMakeFiles/CMake(Output|Error).log files. Advise users to look at these files if they exist when configuration fails. Add RunCMake.Configure test to check that the log files are mentioned when configuration fails.
* | | Merge topic 'try_compile-escape-flags'Brad King2013-07-152-0/+22
|\ \ \ | | | | | | | | | | | | | | | | 290857b try_compile: Escape CMAKE_<lang>_FLAGS in test projects (#14268)
| * | | try_compile: Escape CMAKE_<lang>_FLAGS in test projects (#14268)Brad King2013-07-152-0/+22
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | If CMAKE_<lang>_FLAGS contains quotes or other CMake language characters they must be escaped when written into the generated CMakeLists.txt file so that the test project parses them properly. Teach the TryCompile test to cover this case by adding a flag with quotes into CMAKE_C_FLAGS during a C language try_compile.
* | | Merge topic 'IMPORTED-build-dependencies'Brad King2013-07-156-0/+65
|\ \ \ | |/ / |/| | | | | | | | | | | 4f7ceb5 Test non-IMPORTED libraries in the INTERFACE of IMPORTED libraries. 3405351 Add entire link interface transitive closure as target depends.
| * | Test non-IMPORTED libraries in the INTERFACE of IMPORTED libraries.Stephen Kelly2013-07-026-0/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a non-IMPORTED library is added to the INTERFACE_LINK_LIBRARIES of a IMPORTED target, the non-IMPORTED target needs to become a target dependency and link dependency of the consuming target. This is already the case since commit 30962029 (Make targets depend on the link interface of their dependees, 2012-12-26), and fixed in the parent commit, so test that it works.
* | | Merge topic 'vs12-generator'Brad King2013-07-015-6/+18
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9a76d83 VS12: Find proper MSBuild for VSProjectInSubdir test 4e5cb39 Merge branch 'master' into vs12-generator 78fdbbc FindBoost: Add -vc120 mangling for VS 12 e99d7b1 VS12: Generate flag tables from MSBuild v120 tool files 77ac9b8 VS12: Add Visual Studio 12 generator (#14251)
| * | | VS12: Find proper MSBuild for VSProjectInSubdir testBrad King2013-06-281-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | If the CTest make program is not msbuild we find the msbuild corresponding to the current test generator. In the case of VS 12 search for the msbuild it provides.
| * | | Merge branch 'master' into vs12-generatorBrad King2013-06-28284-689/+3161
| |\ \ \ | | | | | | | | | | | | | | | | | | | | Resolve conflicts in Tests/Preprocess/CMakeLists.txt by keeping the side from 'master'.