Commit Graph

16488 Commits

Author SHA1 Message Date
Brad King 3bae343f62 cmCPackGenerator: Avoid crash on undefined CMAKE_MAKE_PROGRAM
Since commit 6557382d (stringapi: Use strings for program
paths, 2014-02-24), cmGlobalGenerator::GenerateBuildCommand
takes the make program path as a std::string.  Fix the lookup
in cmCPackGenerator::InstallProjectViaInstallCMakeProjects to
use GetSafeDefinition for CMAKE_MAKE_PROGRAM to avoid possible
construction of std::string from a NULL.

Reported-by: Richard Wirth <richard@califax.de>
2014-06-25 09:18:27 -04:00
Kitware Robot 6c383f89a1 CMake Nightly Date Stamp 2014-06-25 00:01:10 -04:00
Brad King d19b64d671 install(DIRECTORY): Add MESSAGE_NEVER option to avoid output (#13761)
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>
2014-06-24 13:18:20 -04:00
Brad King c9568de52c install: Add CMAKE_INSTALL_MESSAGE variable (#13761)
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>
2014-06-24 13:18:20 -04:00
Brad King ec7cf7ea13 install: Thread message level setting through internal API
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.
2014-06-24 13:12:02 -04:00
Brad King abebcd235c file(INSTALL): Add undocumented options to control output verbosity
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.
2014-06-24 13:11:45 -04:00
Brad King c196b3ca02 Merge topic 'gfortran-compressed-modules'
d90be200 Fortran: Add support for GNU >= 4.9 compressed modules (#14975)
2014-06-24 13:05:10 -04:00
Brad King 24853afa87 Merge topic 'stringapi-crash-cleanup'
c491cb1e Fix some generator crashes on undefined CMAKE_BUILD_TYPE
2014-06-24 13:05:08 -04:00
Brad King 8766f8ef47 Merge topic 'cmake-E-env'
7abd5747 cmake: Add '-E env' command-line tool
2014-06-24 13:05:05 -04:00
Brad King 464567a577 file(INSTALL): Report existing DIRECTORY as Up-to-date
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>
2014-06-24 12:52:11 -04:00
Brad King f701b0b7f7 file(INSTALL): Do not pre-create DESTINATION for DIRECTORY
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.
2014-06-24 12:52:11 -04:00
Brad King f0a0196250 cmInstallTargetGenerator: Drop default constructor arguments
They are used only in cmLocalGenerator::GenerateTargetInstallRules.
Move the defaults to a local helper where the context justifies their
values.
2014-06-24 12:52:11 -04:00
Kitware Robot f9cfbedef6 CMake Nightly Date Stamp 2014-06-24 00:01:10 -04:00
Brad King 7abd574798 cmake: Add '-E env' command-line tool
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>
2014-06-23 16:47:49 -04:00
Brad King 56c9428c88 Merge topic 'encoding-parse-commandline'
b6b493a4 Encoding: Fix debug asserts parsing command line options with non-ascii chars.
9dc88ee9 Merge topic 'fix-valgrind-in-path'
2014-06-23 10:27:54 -04:00
Brad King d90be200ec Fortran: Add support for GNU >= 4.9 compressed modules (#14975)
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.
2014-06-23 10:00:27 -04:00
Brad King c491cb1eb4 Fix some generator crashes on undefined CMAKE_BUILD_TYPE
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>
2014-06-23 09:43:46 -04:00
Brad King f5c18c9c1c cmTarget: Drop GetDirectLinkLibraries methods
Inline the implementation in the last remaining caller and drop the
methods.
2014-06-23 09:22:08 -04:00
Brad King 281eb3d8a6 cmTarget: Improve HaveBuildTreeRPATH implementation
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.
2014-06-23 09:22:08 -04:00
Brad King d912220eaa cmTarget: Lookup targets in LinkInterface and LinkImplementation
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.
2014-06-23 09:22:07 -04:00
Brad King edce43514d cmExportFileGenerator: Make SetImportLinkProperty a template
Allow the vector of property entries to have any element type
that can convert to std::string.
2014-06-23 09:22:07 -04:00
Brad King 097be4139d cmTarget: Add GetUtilityItems to get target ordering dependencies
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.
2014-06-23 09:21:56 -04:00
Brad King 4dad5fd20b cmTarget: Add cmLinkItem to refer to a target by name and pointer
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.
2014-06-23 09:17:07 -04:00
Brad King a272344228 Fix scope of transitive target name lookups
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.
2014-06-23 09:17:07 -04:00
Brad King 069d60fe03 cmTarget: Add method to lookup other targets in a target's scope
Move the main implementation of cmComputeLinkDepends::FindTargetToLink
into cmTarget.
2014-06-23 09:17:06 -04:00
Brad King 47ab3ca641 cmTarget: Constify GetLinkImplementationClosure results
Populate a vector of "cmTarget const*" instead of "cmTarget*".
2014-06-23 09:17:06 -04:00
Brad King 9f3ed029ce cmTarget: Constify GetTransitivePropertyTargets results
Populate a vector of "cmTarget const*" instead of "cmTarget*".
2014-06-23 09:17:06 -04:00
Brad King 6f0951af01 cmTarget: Drop 'head' target from GetImportInfo
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.
2014-06-23 09:17:06 -04:00
Brad King 0dc9e88d76 cmTarget: Remove 'head' argument from GetLinkImplementation
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.
2014-06-23 09:17:00 -04:00
Brad King 4ac72455fd cmTarget: Drop 'head' argument from GetLinkClosure
It is only ever passed the 'this' target itself.
2014-06-23 09:14:45 -04:00
Brad King bcdb7ff9df cmTarget: Remove 'head' argument from GetLinkerLanguage
It is only ever called with the 'this' target as the head.

Co-Author: Stephen Kelly <steveire@gmail.com>
2014-06-23 09:14:45 -04:00
Brad King bd9b667bbe cmComputeLinkInformation: Remove 'head' argument
It is only ever constructed with the current target as its own 'head'.

Co-Author: Stephen Kelly <steveire@gmail.com>
2014-06-23 09:14:45 -04:00
Brad King 06328dd58e cmTarget: Remove 'head' argument from GetLinkInformation
No call sites use it anyway.

Co-Author: Stephen Kelly <steveire@gmail.com>
2014-06-23 09:14:45 -04:00
Brad King 56aed7005a cmTarget: Cache GetLinkImplementationClosure results
Store them internally and return by reference to avoid duplicate
computation.
2014-06-23 09:14:44 -04:00
Brad King cbf689c7dd cmTarget: Rename Get{TransitiveTarget => LinkImplementation}Closure
The method computes the transitive closure of targets starting with
the current target link implementation libraries.  Clarify the name.
2014-06-23 09:14:44 -04:00
Brad King 2f0004c143 cmTarget: Remove 'head' argument from GetTransitiveTargetClosure
The method is never called with any headTarget besides "this".
2014-06-23 09:14:44 -04:00
Brad King 962f2c3529 cmComputeLinkDepends: Simplify CheckWrongConfigItem implementation
Combine the outer two if() conditions into a single one with &&.
2014-06-23 09:14:44 -04:00
Brad King e838e0a977 cmTarget: Simplify processILibs implementation
Combine the outer two if() conditions into a single one with &&.
Scope inner lookup result inside its condition.
2014-06-23 09:14:43 -04:00
Brad King 7b85938973 cmComputeTargetDepends: Remove unused 'linking' argument
The AddInterfaceDepends method is never called with a non-true value for
its 'linking' argument.  Drop it.
2014-06-23 08:50:08 -04:00
Brad King 8d15a1bbfb cmTarget: De-duplicate library list expansion
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.
2014-06-23 08:50:08 -04:00
Brad King 6354df92b1 cmTarget: Remove unused GetInterfaceLinkLibraries method 2014-06-23 08:50:08 -04:00
Kitware Robot 562d5f576a CMake Nightly Date Stamp 2014-06-23 00:01:06 -04:00
Kitware Robot 7c4d890da3 CMake Nightly Date Stamp 2014-06-22 00:01:07 -04:00
Kitware Robot 17d98786ad CMake Nightly Date Stamp 2014-06-21 00:01:06 -04:00
Kitware Robot aaf7071932 CMake Nightly Date Stamp 2014-06-20 00:01:11 -04:00
Kitware Robot e68a009367 CMake Nightly Date Stamp 2014-06-19 00:01:07 -04:00
Kitware Robot 6af77a2f07 CMake Nightly Date Stamp 2014-06-18 00:01:08 -04:00
Clinton Stimpson b6b493a4ed Encoding: Fix debug asserts parsing command line options with non-ascii chars.
With MSVC, isspace() will assert with non-ascii characters.
2014-06-17 09:26:42 -06:00
Kitware Robot 85025ae7c3 CMake Nightly Date Stamp 2014-06-17 00:01:08 -04:00
Brad King 9dc88ee951 Merge topic 'fix-valgrind-in-path'
58cc3c22 Fix ctest to allow valgrind to show up in the path name of a memcheck tool.
2014-06-16 20:24:38 -06:00
Brad King 6b05e03de4 Merge topic 'fix-valgrind-in-path'
58cc3c22 Fix ctest to allow valgrind to show up in the path name of a memcheck tool.
2014-06-16 08:54:50 -04:00
Brad King e2789429aa Merge topic 'features-cleanups'
f0a0f3dc WCDH: Fix compiler id test for compatibility macros.
627ad96b Project: Detect other compilers before detecting Clang.
bc950169 WCDH: Remove noise from generated defines.
eecd93fc Features: Escape the COMPILE_OPTIONS for dialects.
2014-06-16 08:54:48 -04:00
Brad King 0b028c6f0a Merge topic 'ninja-avoid-double-phony'
04377f1b Ninja: Remove CMake includes from explicit depends (#14972)
2014-06-16 08:54:46 -04:00
Brad King 3eb50bbe8c Merge topic 'vs-subdir-sln-depends'
cb67509b VS: Remove unused parameter of WriteTargetConfigurations
790e1677 VS: Fix subproject .sln dependencies on custom targets
5fba44cf VS: Move VS-only API out of cmGlobalGenerator
2014-06-16 08:54:44 -04:00
Brad King 94d1879ba0 Merge topic 'cmake-no-args-output'
de7c2882 cmake,ccmake: Produce shorter output on no arguments (#14973)
2014-06-16 08:54:43 -04:00
Adam Strzelecki 04377f1b31 Ninja: Remove CMake includes from explicit depends (#14972)
It may happen that CMake include is an explicit dependency for some command,
while all CMake includes are set phony in WriteTargetRebuildManifest, this may
lead to duplicate phony generate rules which causes ninja warnings.

We need to remove implicit CMake includes in WriteUnknownExplicitDependencies.

This fixes FindCUDA ninja warnings.
2014-06-16 08:51:38 -04:00
Kitware Robot 8af01cd5e9 CMake Nightly Date Stamp 2014-06-16 00:01:06 -04:00
Kitware Robot 81ff6da63a CMake Nightly Date Stamp 2014-06-15 00:01:06 -04:00
Kitware Robot b1ad4fae8a CMake Nightly Date Stamp 2014-06-14 00:01:14 -04:00
Brad King d7bbfa41f6 Merge topic 'fix-read-after-free'
5b2c2d2f Merge branch 'backport-fix-read-after-free' into fix-read-after-free
23ffb72a cmake: Fix read-after-free while checking command-line arguments
fe44f057 cmake: Fix read-after-free while checking command-line arguments
2014-06-13 15:45:07 -04:00
Brad King 8be1a711b2 Merge topic 'add_jacoco_coverage_parsing'
558c2190 CTest: Add Jacoco Coverage functionality
2014-06-13 15:45:03 -04:00
Brad King f69501dfe2 Merge topic 'setlocale'
c746b00e Encoding:  Change to only set LC_CTYPE to fix encoding issues with libarchive.
2014-06-13 15:44:59 -04:00
Bill Hoffman 58cc3c22ef Fix ctest to allow valgrind to show up in the path name of a memcheck tool.
For testing purposes CMake creates dummy memory checkers.  The dummy checkers
are in the CMake build tree. Before this change when the path contained the
string valgrind, such as CMake-valgrind, all the checkers were thought to
be valgrind, and this caused tests to fail.
2014-06-13 14:42:43 -04:00
Stephen Kelly eecd93fcca Features: Escape the COMPILE_OPTIONS for dialects.
Allow for future handling as a list, not a string which may contain
whitespace.
2014-06-13 18:50:10 +02:00
Brad King cb67509b06 VS: Remove unused parameter of WriteTargetConfigurations
The cmGlobalVisualStudio7Generator::WriteTargetConfigurations
'root' parameter is no longer used, so remove it.
2014-06-13 08:57:34 -04:00
Adam Strzelecki de7c2882ff cmake,ccmake: Produce shorter output on no arguments (#14973)
Instead printing complete help cmake/ccmake now prints only Usage section and
extra information how to get more help or start your build.

Implementation Details:

  Usage help type was renamed to Help, and new Usage was introduces that prints
  only command line usage information without any extra details.

  Commands add some extra information when no arguments are passed.
2014-06-13 08:36:43 -04:00
Kitware Robot ba36363121 CMake Nightly Date Stamp 2014-06-13 00:01:07 -04:00
Brad King bd20dd6b8a Merge topic 'dev/variable-lookup'
e17a69bc cmDefinitions: Use a hashmap for faster checks
3b21705d cmDefinitions: Avoid a find-then-insert when setting variables
5abfde6c cmDefinitions: Don't store parent lookups
2014-06-12 11:28:44 -04:00
Brad King 23ffb72ab3 cmake: Fix read-after-free while checking command-line arguments
Since commit v2.8.12~300^2~1 (CLI: Suppress the unused warning if the
key value pair is cached, 2013-05-16), cmake::SetCacheArgs saves a
cachedValue pointer and may cause the memory to be freed (by setting the
cache entry) before reading it again.  Fix this by saving the old value
in a separate string.
2014-06-12 11:24:17 -04:00
Brad King 790e167718 VS: Fix subproject .sln dependencies on custom targets
Each project listed in a .sln must be marked (or not) as part of the
"default build" for each configuration.  For targets created by the
add_custom_target() command we add them to the default build if they
are not excluded in some way or if another target depends on them.
In the top-level .sln, a custom target is excluded if it is not
created with the ALL option to add_custom_target.  In subdirectory
.sln files, a target may also be excluded if it is not within the
directory and is brought into the solution only due to a dependency
from another target in the solution.

Fix the "IsPartOfDefaultBuild" and "IsDependedOn" methods to check
every target to be included in the .sln for a dependency on the
custom target.  Otherwise transitive dependencies through targets
not in the current subdirectory will not be considered.

Extend the SubProject test with a custom target to cover this case.

Reported-by: William Deurwaarder <William.Deurwaarder@tomtom.com>
Reported-by: Dirk Steenpass <dirk.steenpass@gmail.com>
2014-06-12 11:14:06 -04:00
Joseph Snyder 558c2190e8 CTest: Add Jacoco Coverage functionality
Add the ability to parse the XML output of the Jacoco tool.

Jacoco (www.eclemma.org/jacoco) is a Java coverage tool.
Add and integrate a class for the parser and
include a test which utilizes the new parser.
2014-06-12 10:38:19 -04:00
Brad King 5fba44cf41 VS: Move VS-only API out of cmGlobalGenerator
Move the IsDependedOn method to cmGlobalVisualStudio7Generator
since that is the only caller.
2014-06-12 10:26:35 -04:00
Clinton Stimpson c746b00eee Encoding: Change to only set LC_CTYPE to fix encoding issues with libarchive.
Changing all categories with LC_ALL causes test failures in some locales.
For example, in some locales, the decimal characer could be a comma instead of period.
2014-06-11 22:29:16 -06:00
Kitware Robot b041fc13db CMake Nightly Date Stamp 2014-06-12 00:01:07 -04:00
Kitware Robot fff405fdbf CMake Nightly Date Stamp 2014-06-11 00:01:12 -04:00
Brad King e0471ae2f9 Merge topic 'no-parse-directory'
b1c113d9 cmake: Do not open directories as scripts (#14966)
2014-06-10 09:17:41 -04:00
Brad King 2944bf164e Merge topic 'android-platform'
42f74df6 Add basic Android platform module
2014-06-10 09:17:39 -04:00
Brad King f1b91a8af6 Merge topic 'vs10-refactor'
1edaef39 VS: Factor MS-tool-specific vcxproj settings into helper
808f4b1f VS: Re-order logic to group MS-tool-specific options together
13e6d559 VS: Set some options directly instead of using flag map
8f4bdcc6 VS: Remove always-true condition on compile options block
eaa9f2f8 VS: Refactor internal generator factory logic
2b3e7b6f VS: Fix vcxproj specification of empty output file extension
39af06e7 VS: Fix vcxproj elements specifying binary output locations
ee329d54 VS: Refactor flag table lookup
2014-06-10 09:17:36 -04:00
Brad King 0c73273b1a Merge topic 'dev/static-regex'
1b003c1f cmTarget: Remove an unused variable
7492a7b8 regex: Search on strings where possible
3e7194a2 regex: Use static regexs where possible
2014-06-10 09:17:35 -04:00
Kitware Robot 58f8e6bc5c CMake Nightly Date Stamp 2014-06-10 00:01:20 -04:00
Brad King b1c113d9a7 cmake: Do not open directories as scripts (#14966)
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.
2014-06-09 16:21:11 -04:00
Ben Boeckel e17a69bc74 cmDefinitions: Use a hashmap for faster checks
The hash map is much faster at checking that the map won't have what
we're looking for so that we can just go to the parent scope instead.
2014-06-09 14:46:45 -04:00
Ben Boeckel 3b21705d53 cmDefinitions: Avoid a find-then-insert when setting variables
Searching the map is not necessary.
2014-06-09 14:46:45 -04:00
Ben Boeckel 5abfde6cb8 cmDefinitions: Don't store parent lookups
When looking up scopes, it is faster to not store the lookup locally to
keep the maps smaller and avoid extra allocations and rebalancing.
2014-06-09 14:46:45 -04:00
Ben Boeckel 1b003c1f95 cmTarget: Remove an unused variable 2014-06-09 14:45:35 -04:00
Ben Boeckel 7492a7b846 regex: Search on strings where possible 2014-06-09 14:45:35 -04:00
Ben Boeckel 3e7194a215 regex: Use static regexs where possible
Rather than declaring and compiling a constant regex every time a chunk
of code is executed, build the regex once.
2014-06-09 14:45:35 -04:00
Brad King 1edaef39f1 VS: Factor MS-tool-specific vcxproj settings into helper
Factor a WriteMSToolConfigurationValues helper method out of the
cmVisualStudio10TargetGenerator::WriteProjectConfigurationValues method
to isolate the configuration settings specific to MS tools.
2014-06-09 11:00:03 -04:00
Brad King 808f4b1fa4 VS: Re-order logic to group MS-tool-specific options together 2014-06-09 11:00:01 -04:00
Brad King 13e6d5595f VS: Set some options directly instead of using flag map
Instead of passing /TC, /TP, and /STACK: as strings to be parsed through
the flag map, directly set the results in the options map.
2014-06-09 10:59:59 -04:00
Brad King 8f4bdcc6cb VS: Remove always-true condition on compile options block
The cmVisualStudio10TargetGenerator::ComputeClOptions method is
only called when the target type compiles, so do not duplicate
that check in the implementation.
2014-06-09 10:59:57 -04:00
Brad King eaa9f2f8ee VS: Refactor internal generator factory logic
Consume the space before the platform name as soon as possible
instead of including it in the comparison.
2014-06-09 10:59:55 -04:00
Brad King 2b3e7b6f94 VS: Fix vcxproj specification of empty output file extension
When a binary output file is to have no extension, the TargetExt
element in the vcxproj cannot be left empty because VS will choose
a default extension.  Instead use "." because the Windows filesystem
will treat that as an empty extension.
2014-06-09 10:59:53 -04:00
Brad King 39af06e7f7 VS: Fix vcxproj elements specifying binary output locations
Fix generation of OutDir, IntDir, TargetName, and TargetExt element
values to encode the values for XML.
2014-06-09 10:59:51 -04:00
Brad King ee329d543c VS: Refactor flag table lookup
In cmVisualStudio10TargetGenerator, convert the static functions
currently used to lookup the flag table for each tool into class
methods.  This avoids passing the this->LocalGenerator member and
gives the methods access to other information that may be useful
in the future.
2014-06-09 10:59:48 -04:00
Brad King 55d6aa36a5 CMake 3.0.0 2014-06-09 10:51:47 -04:00
Brad King a0861931ea Merge topic 'dev/backtrace-performance'
86be733f cmGeneratorExpression: Add workaround for Borland compiler
3495ab0a tests: update unused variable test expected output
2a1b2d84 backtrace: Convert to local paths in IssueMessage
a0829205 genex: remove the need for backtraces
efc20569 cmake: remove dummy backtraces for IssueMessage
d46c650d cmMakefile: return a backtrace
2014-06-09 10:28:44 -04:00
Brad King 9af1f985fd Merge topic 'fix-ctest-label-regex'
887532f0 CTest: Fix combined inclusive/exclusive label regular expressions
2014-06-09 10:28:33 -04:00
Kitware Robot 2649d79470 CMake Nightly Date Stamp 2014-06-09 00:01:06 -04:00
Kitware Robot c4fe537562 CMake Nightly Date Stamp 2014-06-08 00:01:07 -04:00