summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'install-messages'Brad King2014-06-2716-35/+199
|\ | | | | | | | | | | | | | | | | | | | | | | 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-243-4/+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-246-7/+42
| | | | | | | | | | | | | | | | | | 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>
| * install: Thread message level setting through internal APIBrad King2014-06-2415-12/+49
| | | | | | | | | | | | | | Create a cmInstallGenerator::MessageLevel enumeration for future use in specifying install message verbosity. Thread values of the type through constructors and save the value as a member of cmInstallGenerator. Use only a "MessageDefault" value for now.
| * file(INSTALL): Add undocumented options to control output verbosityBrad King2014-06-241-3/+58
| | | | | | | | | | | | 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-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | 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>
| * file(INSTALL): Do not pre-create DESTINATION for DIRECTORYBrad King2014-06-241-10/+13
| | | | | | | | | | | | When installing a DIRECTORY, do not pre-create the DESTINATION. The cmFileCopier::InstallDirectory method will create the directory anyway. Give it a chance to detect whether the directory already exists or not.
| * cmInstallTargetGenerator: Drop default constructor argumentsBrad King2014-06-242-9/+22
| | | | | | | | | | | | They are used only in cmLocalGenerator::GenerateTargetInstallRules. Move the defaults to a local helper where the context justifies their values.
* | CMake Nightly Date StampKitware Robot2014-06-271-1/+1
| |
* | CMake Nightly Date StampKitware Robot2014-06-261-1/+1
| |
* | Merge topic 'refactor-link-internals'Brad King2014-06-2513-403/+442
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f5c18c9c cmTarget: Drop GetDirectLinkLibraries methods 281eb3d8 cmTarget: Improve HaveBuildTreeRPATH implementation d912220e cmTarget: Lookup targets in LinkInterface and LinkImplementation edce4351 cmExportFileGenerator: Make SetImportLinkProperty a template 097be413 cmTarget: Add GetUtilityItems to get target ordering dependencies 4dad5fd2 cmTarget: Add cmLinkItem to refer to a target by name and pointer a2723442 Fix scope of transitive target name lookups 069d60fe cmTarget: Add method to lookup other targets in a target's scope 47ab3ca6 cmTarget: Constify GetLinkImplementationClosure results 9f3ed029 cmTarget: Constify GetTransitivePropertyTargets results 6f0951af cmTarget: Drop 'head' target from GetImportInfo 0dc9e88d cmTarget: Remove 'head' argument from GetLinkImplementation 4ac72455 cmTarget: Drop 'head' argument from GetLinkClosure bcdb7ff9 cmTarget: Remove 'head' argument from GetLinkerLanguage bd9b667b cmComputeLinkInformation: Remove 'head' argument 06328dd5 cmTarget: Remove 'head' argument from GetLinkInformation ...
| * | cmTarget: Drop GetDirectLinkLibraries methodsBrad King2014-06-232-47/+27
| | | | | | | | | | | | | | | Inline the implementation in the last remaining caller and drop the methods.
| * | cmTarget: Improve HaveBuildTreeRPATH implementationBrad King2014-06-231-3/+6
| | | | | | | | | | | | | | | | | | | | | Use GetLinkImplementationLibraries instead of GetDirectLinkLibraries because it tells us whether there will be any libraries to link after evaluating generator expressions. Also GetDirectLinkLibraries will be dropped soon.
| * | cmTarget: Lookup targets in LinkInterface and LinkImplementationBrad King2014-06-238-101/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of storing just the string names in these structures, lookup any target associated with each item and store its cmTarget pointer. Use the cmLinkItem class to hold the name and pointer together. Update client sites to use the pre-stored lookup result instead of looking up the target name again. Create a cmTarget::LookupLinkItems helper method to handle the lookup. Since lookups are now moving from cmComputeLinkDepends::AddLinkEntries to cmTarget::LookupLinkItems, move use of CheckCMP0004 to the latter. This drops use of CheckCMP0004 from entries added for _LIB_DEPENDS variables by cmComputeLinkDepends::AddVarLinkEntries, but I do not think that use was intentional originally anyway.
| * | cmExportFileGenerator: Make SetImportLinkProperty a templateBrad King2014-06-232-5/+7
| | | | | | | | | | | | | | | Allow the vector of property entries to have any element type that can convert to std::string.
| * | cmTarget: Add GetUtilityItems to get target ordering dependenciesBrad King2014-06-233-4/+25
| | | | | | | | | | | | | | | | | | | | | Add a method like GetUtilities but that provides the target names already looked up and resolved to cmTarget pointers internally. Update call site in cmComputeTargetDepends::AddTargetDepend to use the already-found target instead of looking it up again.
| * | cmTarget: Add cmLinkItem to refer to a target by name and pointerBrad King2014-06-231-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | Many items named in target_link_libraries calls are targets, but not all. Create a cmLinkItem type that acts like std::string so it can name an item but also has a pointer to a cmTarget that is the result of looking up the item name in the referencing target's scope. This will be useful to avoid duplicate lookup operations later.
| * | Fix scope of transitive target name lookupsBrad King2014-06-233-16/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In cmTarget, cmGeneratorTarget, and cmGeneratorExpressionEvaluator, fix target name lookups to occur in the cmMakefile context of the target that referenced the name, not the current 'head' target. The context matters for imported targets because they are directory-scoped instead of globally unique. We already do this in cmComputeLinkDepends and cmComputeTargetDepends. Extend the InterfaceLibrary test with an example covering this behavior.
| * | cmTarget: Add method to lookup other targets in a target's scopeBrad King2014-06-233-28/+36
| | | | | | | | | | | | | | | Move the main implementation of cmComputeLinkDepends::FindTargetToLink into cmTarget.
| * | cmTarget: Constify GetLinkImplementationClosure resultsBrad King2014-06-232-11/+11
| | | | | | | | | | | | Populate a vector of "cmTarget const*" instead of "cmTarget*".
| * | cmTarget: Constify GetTransitivePropertyTargets resultsBrad King2014-06-234-14/+15
| | | | | | | | | | | | Populate a vector of "cmTarget const*" instead of "cmTarget*".
| * | cmTarget: Drop 'head' target from GetImportInfoBrad King2014-06-232-40/+69
| | | | | | | | | | | | | | | | | | | | | Move generator expression evaluation for imported library lists out of GetImportInfo and into a new GetImportLinkInterface helper. This avoids duplicating the computation and storage of all imported target info just because some of it is parameterized on the 'head' target.
| * | cmTarget: Remove 'head' argument from GetLinkImplementationBrad King2014-06-237-33/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many of the 'head' arguments added by commit v2.8.11~289^2~1 (Make linking APIs aware of 'head' target, 2013-01-04) turned out not to be needed. The "link implementation" of a target never needs to be computed with anything but itself as the 'head' target (except for CMP0022 OLD behavior because then it is the link interface). Remove the unused 'head' target paths. Add "internal" versions of cmTarget::GetDirectLinkLibraries and GetLinkImplementationLibraries to support the CMP0022 OLD behavior without otherwise exposing the 'head' target option of these methods.
| * | cmTarget: Drop 'head' argument from GetLinkClosureBrad King2014-06-233-19/+14
| | | | | | | | | | | | It is only ever passed the 'this' target itself.
| * | cmTarget: Remove 'head' argument from GetLinkerLanguageBrad King2014-06-232-11/+7
| | | | | | | | | | | | | | | | | | It is only ever called with the 'this' target as the head. Co-Author: Stephen Kelly <steveire@gmail.com>
| * | cmComputeLinkInformation: Remove 'head' argumentBrad King2014-06-235-22/+13
| | | | | | | | | | | | | | | | | | It is only ever constructed with the current target as its own 'head'. Co-Author: Stephen Kelly <steveire@gmail.com>
| * | cmTarget: Remove 'head' argument from GetLinkInformationBrad King2014-06-232-11/+7
| | | | | | | | | | | | | | | | | | No call sites use it anyway. Co-Author: Stephen Kelly <steveire@gmail.com>
| * | cmTarget: Cache GetLinkImplementationClosure resultsBrad King2014-06-232-14/+24
| | | | | | | | | | | | | | | Store them internally and return by reference to avoid duplicate computation.
| * | cmTarget: Rename Get{TransitiveTarget => LinkImplementation}ClosureBrad King2014-06-232-5/+5
| | | | | | | | | | | | | | | The method computes the transitive closure of targets starting with the current target link implementation libraries. Clarify the name.
| * | cmTarget: Remove 'head' argument from GetTransitiveTargetClosureBrad King2014-06-232-6/+4
| | | | | | | | | | | | The method is never called with any headTarget besides "this".
| * | cmComputeLinkDepends: Simplify CheckWrongConfigItem implementationBrad King2014-06-231-6/+3
| | | | | | | | | | | | Combine the outer two if() conditions into a single one with &&.
| * | cmTarget: Simplify processILibs implementationBrad King2014-06-231-13/+10
| | | | | | | | | | | | | | | Combine the outer two if() conditions into a single one with &&. Scope inner lookup result inside its condition.
| * | cmComputeTargetDepends: Remove unused 'linking' argumentBrad King2014-06-232-7/+4
| | | | | | | | | | | | | | | The AddInterfaceDepends method is never called with a non-true value for its 'linking' argument. Drop it.
| * | cmTarget: De-duplicate library list expansionBrad King2014-06-232-34/+31
| | | | | | | | | | | | | | | | | | | | | Create an ExpandLinkItems method to handle evaluation of generator expressions in a library list and expansion of the ;-list into a vector. Replace some duplicate copies of the implementation with calls to the new helper.
| * | cmTarget: Remove unused GetInterfaceLinkLibraries methodBrad King2014-06-232-26/+0
| | |
* | | Merge topic 'launcher-limit-warnings-errors'Brad King2014-06-251-2/+7
|\ \ \ | | | | | | | | | | | | | | | | f7303131 CTest: Teach the launchers to honer the max warnings and errors
| * | | CTest: Teach the launchers to honer the max warnings and errorsBill Hoffman2014-06-251-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | The ctest launcher code did not respect the number of errors and warnings limits. Limit the number of launcher report fragments that we report in the final submission.
* | | | Merge topic 'style-fix'Brad King2014-06-252-8/+8
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 3c5eac1f cmCTestMemCheckHandler: Fix coding style in this class
| * | | | cmCTestMemCheckHandler: Fix coding style in this classBill Hoffman2014-06-252-8/+8
| |/ / / | | | | | | | | | | | | | | | | This class had a method that started with lower case, and also was called without this->.
* | | | CMake Nightly Date StampKitware Robot2014-06-251-1/+1
|/ / /
* | | Merge topic 'gfortran-compressed-modules'Brad King2014-06-241-14/+27
|\ \ \ | | | | | | | | | | | | | | | | d90be200 Fortran: Add support for GNU >= 4.9 compressed modules (#14975)
| * | | Fortran: Add support for GNU >= 4.9 compressed modules (#14975)Brad King2014-06-231-14/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From the GCC 4.9 release notes for Fortran: https://gcc.gnu.org/gcc-4.9/changes.html "Module files: The version of the module files (.mod) has been incremented; additionally, module files are now compressed." Teach cmDependsFortran::ModulesDiffer to look for the gzip magic numbers at the beginning of the module file. If found, assume the module was produced by gfortran >= 4.9. The modules do not appear to contain the date as earlier versions did so we can compare the content directly and do not actually need to decompress.
* | | | Merge topic 'stringapi-crash-cleanup'Brad King2014-06-243-3/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | c491cb1e Fix some generator crashes on undefined CMAKE_BUILD_TYPE
| * | | | Fix some generator crashes on undefined CMAKE_BUILD_TYPEBrad King2014-06-233-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 84fdc9921 (stringapi: Pass configuration names as strings, 2014-02-09), it is not safe to use GetDefinition("CMAKE_BUILD_TYPE") without checking the return value. Use GetSafeDefinition instead so that a missing definition is treated as an empty string like code paths did prior to the above commit. Reported-by: Richard Wirth <richard@califax.de>
* | | | | Merge topic 'cmake-E-env'Brad King2014-06-241-0/+51
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 7abd5747 cmake: Add '-E env' command-line tool
| * | | | | cmake: Add '-E env' command-line toolBrad King2014-06-231-0/+51
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | CMake Nightly Date StampKitware Robot2014-06-241-1/+1
|/ / / /
* | | | Merge topic 'encoding-parse-commandline'Brad King2014-06-231-1/+1
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | b6b493a4 Encoding: Fix debug asserts parsing command line options with non-ascii chars. 9dc88ee9 Merge topic 'fix-valgrind-in-path'
| * | | Encoding: Fix debug asserts parsing command line options with non-ascii chars.Clinton Stimpson2014-06-171-1/+1
| | | | | | | | | | | | | | | | With MSVC, isspace() will assert with non-ascii characters.
| * | | Merge topic 'fix-valgrind-in-path'Brad King2014-06-171-4/+5
| |\ \ \ | | | | | | | | | | | | | | | 58cc3c22 Fix ctest to allow valgrind to show up in the path name of a memcheck tool.