summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* 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 'vs14-generator'Brad King2014-06-301-2/+2
|\ \ | |/ |/| | | | | | | | | | | | | | | | | 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
| * VS14: Add Visual Studio 14 generator (#14982)Brad King2014-06-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge topic 'install-messages'Brad King2014-06-2718-0/+143
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | d19b64d6 install(DIRECTORY): Add MESSAGE_NEVER option to avoid output (#13761) c9568de5 install: Add CMAKE_INSTALL_MESSAGE variable (#13761) ec7cf7ea install: Thread message level setting through internal API abebcd23 file(INSTALL): Add undocumented options to control output verbosity 464567a5 file(INSTALL): Report existing DIRECTORY as Up-to-date f701b0b7 file(INSTALL): Do not pre-create DESTINATION for DIRECTORY f0a01962 cmInstallTargetGenerator: Drop default constructor arguments 67815894 Help: Add install() command document section headers
| * install(DIRECTORY): Add MESSAGE_NEVER option to avoid output (#13761)Brad King2014-06-246-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | Installing large directories, e.g., the output of a doxygen run, prints one line per file resulting in too much noise in the build output. Add an option to the install(DIRECTORY) command to not print anything upon make install. Extend the RunCMake.install test with cases covering MESSAGE_NEVER behavior of the install(DIRECTORY) command. Suggested-by: Stefan Eilemann <Stefan.Eilemann@epfl.ch>
| * install: Add CMAKE_INSTALL_MESSAGE variable (#13761)Brad King2014-06-244-0/+29
| | | | | | | | | | | | | | | | | | Create a variable to allow users to control which installation messages are printed. In particular, provide a "LAZY" setting that prints "Installing" messages but not "Up-to-date" messages. This is desirable for incremental re-installations. Suggested-by: J Decker <d3ck0r@gmail.com>
| * file(INSTALL): Add undocumented options to control output verbosityBrad King2014-06-246-0/+45
| | | | | | | | | | | | Create options "MESSAGE_ALWAYS", "MESSAGE_LAZY", and "MESSAGE_NEVER" to specify whether to print the "Installing" and "Up-to-date" messages. Extend the RunCMake.file test with cases covering these options.
| * file(INSTALL): Report existing DIRECTORY as Up-to-dateBrad King2014-06-248-0/+45
| | | | | | | | | | | | | | | | | | | | | | Teach cmFileCopier::InstallDirectory to detect whether the destination directory exists. If so, report it as "Up-to-date" instead of "Installing". This resolves message asymmetry with file installations. Extend the RunCMake.file and RunCMake.install tests to check the installation output on both the first and second run. Suggested-by: J Decker <d3ck0r@gmail.com>
* | cmake: Add '-E env' command-line toolBrad King2014-06-2311-0/+24
|/ | | | | | | | | | | | | Extend the cmake command-line interface to support cmake -E env [--unset=NAME]... [NAME=VALUE]... COMMAND [ARG]... This will be useful to run processes with modified environments without using a shell or a full "cmake -P" script to wrap it. Extend the RunCMake.CommandLine test to cover success and failure cases. Inspired-by: Jonathan Bohren <jbo@jhu.edu>
* Merge topic 'WriteCompilerDetectionHeader-compiler-versions'Brad King2014-06-101-1/+5
|\ | | | | | | | | | | | | | | ddec418a Features: Add compiler version support to WriteCompilerDetectionHeader. b7029576 Project: Add configurable name for version computation macros. 78acaafe Project: Separate simulated compiler id from version detection. 567af1a5 WCDH: Issue a better message for version compatibility.
| * WCDH: Issue a better message for version compatibility.Stephen Kelly2014-06-051-1/+5
| |
* | cmake: Do not open directories as scripts (#14966)Brad King2014-06-093-0/+4
| | | | | | | | | | Check if a file path is a directory before opening it. Extend the RunCMake.CommandLine test with a case running "cmake -P" on a directory.
* | Tests: Fix RunCMake.TargetSources on Xcode 1.5Brad King2014-06-063-5/+8
| | | | | | | | | | | | Xcode 1.5 does not support multiple configurations. The generator also adds some sources internally that cause extra OriginDebug output. Update the expected output to tolerate it.
* | Allow a toolchain file to specify a generator toolsetBrad King2014-06-0410-1/+61
|/ | | | | | | | | | | | | | | | | | | | Delay use of CMAKE_GENERATOR_TOOLSET until the CMakeSystem.cmake file has been configured and loaded during the first project() or enable_language() command. This gives the toolchain file named by CMAKE_TOOLCHAIN_FILE a chance to set CMAKE_GENERATOR_TOOLSET. This point is still early enough to set the generator toolset prior to the initialization of any languages that might use the toolset. The cmake::GeneratorToolset member variable remains an indication of what was specified by the -T option or loaded from the cache. It does not need to be updated based on the toolchain file setting. The cmMakefile::TryCompile can still pass cmake::GeneratorToolset into the inner instance because the try-compiled project will do platform and language initialization using the CMakeSystem module configured for the outer project. Extend the RunCMake.GeneratorToolset test with cases that use a toolchain file to set CMAKE_GENERATOR_TOOLSET.
* Merge topic 'fix-build-crash-on-bad-generator'Brad King2014-06-049-0/+14
|\ | | | | | | | | 44e2923f cmake: Fix --build crash on bad CMAKE_GENERATOR in cache
| * cmake: Fix --build crash on bad CMAKE_GENERATOR in cacheBrad King2014-06-039-0/+14
| | | | | | | | | | | | | | | | | | | | If we fail to create the generator named by CMAKE_GENERATOR, exit with an error message instead of crashing. While at it, fix the wording of the error message when CMAKE_GENERATOR is not set. Extend the RunCMake.CommandLine test with cases covering the "cmake --build" option when the named directory does not provide a CMakeCache.txt with a valid CMAKE_GENERATOR.
| * cmTarget: Evaluate CMP0026 in calling contextBrad King2014-05-093-0/+17
| | | | | | | | | | | | | | | | | | | | This policy should be checked at the call site that tries to access the LOCATION property, not the directory scope containing the target. Thread the caller context through cmTarget::GetProperty to use for checking the policy setting and emitting a diagnostic with proper backtrace. Extend the RunCMake.CMP0026 test with a cross-directory case.
* | Merge topic 'feature-extensions-by-default'Brad King2014-06-028-4/+4
|\ \ | | | | | | | | | | | | 60a981ea Features: Enable compiler extensions by default.
| * | Features: Enable compiler extensions by default.Stephen Kelly2014-05-318-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compilers enable their extensions by default, and disabling them implicitly can lead to results which are surprising or non-obvious to debug. http://public.kitware.com/pipermail/cmake-developers/2014-May/010575.html http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/10214 https://www.mail-archive.com/cmake-developers@cmake.org/msg10116.html (Compiler feature extensions by default, 29 May 2014)
* | | Genex: Clarify error message on use with non-binary targets (#14899).Stephen Kelly2014-05-2919-0/+116
|/ /
* | Merge topic 'cpack-properties'Brad King2014-05-2819-0/+94
|\ \ | | | | | | | | | | | | | | | d0b1d2a6 CPackWiX: Implement CPACK_NEVER_OVERWRITE and CPACK_PERMANENT properties 15a8af21 Add an "installed file" property scope
| * | Add an "installed file" property scopeNils Gladitz2014-05-2819-0/+94
| | | | | | | | | | | | | | | | | | | | | Teach set_property and get_property an "INSTALL" property type to be associated with install-tree file paths. Make the properties available to CPack for use during packaging. Add a "prop_inst" Sphinx domain object type for documentation of such properties.
* | | tests: test CMP0053 in WARN mode when watching variablesBen Boeckel2014-05-229-0/+37
| | | | | | | | | | | | | | | | | | | | | When CMP0053 is in WARN mode, variables get expanded twice, leaking the fact that the string was expanded twice and changing behavior. Instead, suppress variable watches when running the expansion to trigger the CMP0053 warning.
* | | Merge topic 'COMPILE_FEATURES-genex'Brad King2014-05-2213-0/+94
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0dfe395e Features: Add COMPILE_FEATURES generator expression. aa8a6fce cmMakefile: Add methods for checking availability of a feature. b6dedf03 cmMakefile: Extract CheckNeeded{C,Cxx}Language methods. 8dd129df cmMakefile: Extract CompileFeaturesAvailable method. 6b9b2fff cmMakefile: Extract CompileFeatureKnown method.
| * | | Features: Add COMPILE_FEATURES generator expression.Stephen Kelly2014-05-2113-0/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow setting build properties based on the features available for a target. The availability of features is determined at generate-time by evaluating the link implementation. Ensure that the <LANG>_STANDARD determined while evaluating COMPILE_FEATURES in the link implementation is not lower than that provided by the INTERFACE of the link implementation. This is similar to handling of transitive properties such as POSITION_INDEPENDENT_CODE.
* | | | file: Report system error on failure to open fileBrad King2014-05-206-0/+15
|/ / /
* | | Merge topic 'compile-features-C-language'Brad King2014-05-2018-1/+94
|\ \ \ | | | | | | | | | | | | | | | | e0890d03 Features: Extend concept to C language.
| * | | Features: Extend concept to C language.Stephen Kelly2014-05-1418-1/+94
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add properties and variables corresponding to CXX equivalents. Add features for c_function_prototypes (C90), c_restrict (C99), c_variadic_macros (C99) and c_static_assert (C11). This feature set can be extended later. Add a <PREFIX>_RESTRICT symbol define to WriteCompilerDetectionHeader to conditionally represent the c_restrict feature.
* | | Xcode: Add source file property to control file type (#14854)Brad King2014-05-159-0/+24
|/ / | | | | | | | | | | | | | | | | Add source file properties to control Xcode file type attributes: XCODE_EXPLICIT_FILE_TYPE => explicitFileType XCODE_LAST_KNOWN_FILE_TYPE => lastKnownFileType Add a RunCMake.XcodeProject test to verify generated project content.
* | Merge topic 'WriteCompilerDetectionHeader-module'Brad King2014-05-1433-0/+174
|\ \ | | | | | | | | | | | | 62a4a67d Add the WriteCompilerDetectionHeader module.
| * | Add the WriteCompilerDetectionHeader module.Stephen Kelly2014-05-1433-0/+174
| | | | | | | | | | | | | | | | | | | | | | | | Provide a function to write a portable header to detect compiler features. Generate a preprocessor #error for unknown compilers and compiler versions whose features are not yet recorded. This error condition might be relaxed in the future, but for now it is useful for verification of expectations.
* | | Merge topic 'minor-cleanups'Brad King2014-05-122-4/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bc9a8bba Makefile: Undef FEATURE_STRING iteration define after use. eb638c75 Tests: Make CompileFeatures feature list lang-specific. e2f09aff CMakeConfigurableFile: Remove excess newline. 5109b042 Features: Fix GNU 4.8.1 version test. 6a9fdbeb Test: Parameterize the language in the CompileFeature test. f5bf9d43 Tests: Make CompileFeature tests use highest standard known.
| * | | Tests: Make CompileFeatures feature list lang-specific.Stephen Kelly2014-05-102-4/+4
| | | |
* | | | cmTarget: Evaluate CMP0026 and CMP0051 in calling contextBrad King2014-05-096-1/+41
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These policies should be checked at the call site that tries to access the LOCATION or SOURCES property, not the directory scope containing the target. Thread the caller context through cmTarget::GetProperty to use for checking the policy setting and emitting a diagnostic with proper backtrace. Extend the RunCMake.CMP0026 and RunCMake.CMP0051 tests with cross-directory cases.
* | | EVIS: Add tests for syntax corner cases and CMP0053Ben Boeckel2014-05-08107-1/+692
|/ / | | | | | | | | | | | | | | | | | | Include tests for: - @ expansion during normal execution - various characters in variable names for comparison between the new and the old parser - corner cases in the parsers - correct messages when behavior is different
* | Merge topic 'minor-cleanups'Brad King2014-05-084-4/+4
|\ \ | | | | | | | | | | | | | | | | | | 47795421 Fix whitespace in docs. aa283b6b Features: Fix test for GNU 4.8.1. bbfd4cd4 Features: Include the language of the compiler in error messages.
| * | Features: Include the language of the compiler in error messages.Stephen Kelly2014-05-074-4/+4
| | |
* | | Merge topic 'decay-language-version'Brad King2014-05-0826-0/+102
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 205215fb cmTarget: Add CXX_STANDARD_REQUIRED to control decay. 1df2116b Features: Decay language flag if requested is not available. c4f4dac2 Project: Fix exit-on-error with compile feature tests. 5bb7ce72 Project: Use nullary form of main for compile feature tests. 64254e7a Project: Remove extern from static string in feature tests. 0d9c99bf Help: Fix order of help entries. dc7639bd Tests: Fix name of cache variable.
| * | | cmTarget: Add CXX_STANDARD_REQUIRED to control decay.Stephen Kelly2014-05-0726-0/+102
| |/ /
* | | Merge topic 'no-assert-missing-objlib'Brad King2014-05-074-0/+27
|\ \ \ | |/ / |/| | | | | | | | d648c476 cmTarget: Don't assert on object libraries for configure-time location.
| * | cmTarget: Don't assert on object libraries for configure-time location.Stephen Kelly2014-05-064-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit b8af2011 (cmTarget: Fix listing of source files at configure-time., 2014-04-13) refactored a GetObjectLibrariesCMP0026 method out of GetLanguages. In flight, a conditional use of a target if available was changed to an assert-available. This code is only used to read the LOCATION property at configure time, when the link information is incomplete, and not all targets are defined, so the assert is inappropriate, even though it can lead to incorrect information being generated. CMP0026 warns about the potentially incorrect information anyway.
* | | file(GENERATE): Only write the file if content is different.Stephen Kelly2014-04-304-0/+34
| | | | | | | | | | | | No policy is used to control this behavior for now.
* | | Merge topic 'feature-absence-hard-error'Brad King2014-04-219-3/+38
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 8d0b1cca Features: FATAL_ERROR on compilers with no recorded features. 447fbb3f Tests: Execute compile features tests unconditionally. 597bb72e Tests: Run RunCMake.target_compile_features unconditionally.
| * | | Features: FATAL_ERROR on compilers with no recorded features.Stephen Kelly2014-04-178-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | Users of the new target_compile_features command are expected to check the existence of the CMAKE_CXX_COMPILE_FEATURES variable before attempting to use it to require features.
| * | | Tests: Run RunCMake.target_compile_features unconditionally.Stephen Kelly2014-04-161-3/+1
| | | | | | | | | | | | | | | | | | | | It is so far testing only cases which are fatal regardless of recorded features.
* | | | Merge topic 'ExternalData-missing-not-fatal'Brad King2014-04-2111-10/+43
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | ccd29b9a ExternalData: Warn on missing file instead of failing