14186 Commits

Author SHA1 Message Date
Brad King
e1178478b7 Merge topic 'msbuild-targets-in-subdirs'
ac9a5f4 ctest_build: Pass projectDir to GenerateBuildCommand
a6c0299 CTest: Simplify ctest_* command source/build dir lookup
1ca9318 VS: Add test for building MSBuild project in subdir
3cd4000 VS: Use .sln parser to build targets in subdirs with msbuild (#13623)
df035e4 VS: Create parser for Visual Studio .sln files
de8be9e Add projectDir parameter to GenerateBuildCommand
2013-05-16 14:36:27 -04:00
Brad King
9cdb5c0b54 Merge topic 'vs10-preprocessor-semicolons'
4e4688e VS 10: Escape ; as %3B in preprocessor definitions (#14073)
2013-05-16 14:36:19 -04:00
Brad King
1b4b64cd3c Merge topic 'vs-no-compiler-pdb-setting'
87c0d16 Ninja: Fix OBJECT_DIR placeholder path conversion
fb9f73d MSVC: Invoke 'link' directly for executables
42ba1b0 VS: Separate compiler and linker PDB files (#11899, #14062)
2013-05-16 14:36:11 -04:00
Brad King
272431a84f Begin post-2.8.11 development 2013-05-16 12:44:26 -04:00
Robert Maynard
0ad0c37206 CMake 2.8.11 2013-05-15 11:17:10 -04:00
Robert Maynard
6162e0ff2d CMake 2.8.11-rc4 2013-05-07 11:56:31 -04:00
Robert Maynard
b882ef7565 Merge branch 'release' 2013-05-07 11:33:14 -04:00
Kitware Robot
ff298fff79 CMake Nightly Date Stamp 2013-05-07 00:01:03 -04:00
Brad King
6c6bfe1509 Merge topic 'doc-tll-usage-requirements'
2618e02 target_link_libraries: Update usage requirements documentation
2013-05-06 10:09:44 -04:00
Brad King
0483bf8062 Merge topic 'fix-per-config-tll-include-dirs'
dea1df4 Memoize usage requirement include directories in a config-specific map
26dba6a Fix include dir propagation from conditionally linked targets
b8259c3 Centralize maintenance of usage requirement include directories
2013-05-06 10:09:28 -04:00
Stephen Kelly
dea1df4e5e Memoize usage requirement include directories in a config-specific map
Commit 42ebb188 (Memoize includes and defines from interface libraries.,
2013-02-22) introduced caching of the includes.  Fix the memoization to
be configuration-specific so that we do not accumulate entries across
multiple evaluations in a multi-config generator.
2013-05-06 09:59:28 -04:00
Stephen Kelly
26dba6a162 Fix include dir propagation from conditionally linked targets
Generator expressions, including configuration-specific expressions may
be used as link libraries of targets.  The old-style keywords of
target_link_libraries are handled in terms of new generator expressions.
However, the generator expressions expect target names to be valid
against a regular expression, whereas target_link_libraries does not
require validation.  In generator expression constructed without any
action from the user we need to ensure that only valid expressions are
generated.  Ensure that strings which are not valid target names are not
used in generator expressions which validate the argument.

Code like

 target_link_libraries(B debug A)

generates usage requirement references such as "$<$<CONFIG:DEBUG>:A>".
When cmTarget::GetIncludeDirectories uses such references it generates
expressions like:

 $<TARGET_PROPERTY:$<$<CONFIG:DEBUG>:A>,INTERFACE_INCLUDE_DIRECTORIES>

When the conditions are false such references evaluate as an empty
string and the expression fails with an error such as:

 $<TARGET_PROPERTY:tgt,prop> expression requires a non-empty target name.

Fix this by teaching cmTarget::GetIncludeDirectories to wrap the above
expression inside a conditional:

 $<$<BOOL:$<$<CONFIG:DEBUG>:A>>:...>

so that $<TARGET_PROPERTY:...> will not be evaluated with an empty
target.
2013-05-06 09:55:45 -04:00
Stephen Kelly
b8259c3d69 Centralize maintenance of usage requirement include directories
Maintain a target's internal list of usage requirement include
directories whenever the LINK_LIBRARIES property is set by either
target_link_libraries or set_property.
2013-05-06 09:54:11 -04:00
Kitware Robot
b85f691d78 CMake Nightly Date Stamp 2013-05-06 00:01:03 -04:00
Kitware Robot
4cb77c4a0e CMake Nightly Date Stamp 2013-05-05 00:01:02 -04:00
Kitware Robot
21bdeadf00 CMake Nightly Date Stamp 2013-05-04 00:01:02 -04:00
Kitware Robot
41839d6fb6 CMake Nightly Date Stamp 2013-05-03 00:01:03 -04:00
Kitware Robot
d94eae4356 CMake Nightly Date Stamp 2013-05-02 00:01:02 -04:00
Kitware Robot
e9e088a4df CMake Nightly Date Stamp 2013-05-01 00:01:08 -04:00
Brad King
2618e0257e target_link_libraries: Update usage requirements documentation
Re-word the documentation to make clear that CMake integrates usage
requirements during generation and not synchronously during
configuration or execution of target_link_libraries.
2013-04-30 09:15:03 -04:00
Kitware Robot
2ba65cc9d9 CMake Nightly Date Stamp 2013-04-30 00:01:05 -04:00
Kitware Robot
c80594ba12 CMake Nightly Date Stamp 2013-04-29 00:01:13 -04:00
Kitware Robot
77df4ef5ac CMake Nightly Date Stamp 2013-04-28 00:01:03 -04:00
Kitware Robot
82f5936a8b CMake Nightly Date Stamp 2013-04-27 00:01:11 -04:00
Kitware Robot
c8b34729d9 CMake Nightly Date Stamp 2013-04-26 00:01:09 -04:00
Kitware Robot
78185f598c CMake Nightly Date Stamp 2013-04-25 00:01:03 -04:00
Kitware Robot
90bd164193 CMake Nightly Date Stamp 2013-04-24 00:01:07 -04:00
Kitware Robot
2baf851c34 CMake Nightly Date Stamp 2013-04-23 00:01:07 -04:00
Kitware Robot
e55b8ce4a4 CMake Nightly Date Stamp 2013-04-22 00:01:04 -04:00
Kitware Robot
d37fe5bc5b CMake Nightly Date Stamp 2013-04-21 00:01:05 -04:00
Kitware Robot
50e96802d2 CMake Nightly Date Stamp 2013-04-20 00:01:03 -04:00
Kitware Robot
e6c3595fde CMake Nightly Date Stamp 2013-04-19 00:01:10 -04:00
Robert Maynard
573f39cb2a CMake 2.8.11-rc3 2013-04-18 11:55:10 -04:00
Robert Maynard
dfca68ce89 Merge branch 'release' 2013-04-18 11:53:22 -04:00
Kitware Robot
6a3ee5dd4e CMake Nightly Date Stamp 2013-04-18 00:01:08 -04:00
Brad King
52b758b5c2 Merge topic 'doc-get_filename_component'
df71f96 get_filename_component: Document path components more clearly (#14091)
2013-04-17 11:36:30 -04:00
Brad King
8a2763b3ac Merge topic 'missing-fclose-in-trycompile'
ce441fa try_compile: add missing fclose() to recently added error case
2013-04-17 11:35:26 -04:00
Brad King
5b5a365aa6 Merge topic 'fix-clear-INCLUDE_DIRECTORIES-prop'
5a5e0fa Fix clearing of the INCLUDE_DIRECTORIES DIRECTORY property.
2013-04-17 11:35:14 -04:00
Kitware Robot
f2958ff984 CMake Nightly Date Stamp 2013-04-17 00:01:08 -04:00
Brad King
df71f968cd get_filename_component: Document path components more clearly (#14091)
Organize component names in a table to explain each in more detail.
Clearly state that PATH is the directory name.
2013-04-16 09:02:40 -04:00
Rolf Eike Beer
ce441fac07 try_compile: add missing fclose() to recently added error case
In commit 236133e7 (Handle targets in the LINK_LIBRARIES of try_compile,
2013-02-09) an error return case was added without closing the file in
progress.  Add the missing fclose() call.

Spotted by sevenhill.
2013-04-16 08:38:33 -04:00
Kitware Robot
201db269b8 CMake Nightly Date Stamp 2013-04-16 00:01:10 -04:00
Kitware Robot
51e4424df6 CMake Nightly Date Stamp 2013-04-15 00:01:14 -04:00
Kitware Robot
ee62ac4f1a CMake Nightly Date Stamp 2013-04-14 00:01:03 -04:00
Kitware Robot
edd90f9911 CMake Nightly Date Stamp 2013-04-13 00:01:16 -04:00
Petr Kmoch
ac9a5f4d94 ctest_build: Pass projectDir to GenerateBuildCommand
This allows the ctest_build command's TARGET option to name a target
in a subdirectory and still build properly with msbuild.
Add test case covering use of ctest_build() with such a TARGET.
2013-04-12 11:35:36 -04:00
Brad King
a6c0299c40 CTest: Simplify ctest_* command source/build dir lookup
In cmCTestHandlerCommand::InitialPass call InitializeHandler after setting
the CTest "SourceDirectory" and "BuildDirectory" configuration values
instead of before.  This makes the values available to InitializeHandler
methods in subclasses, so also drop the duplicate configuration of those
values from cmCTestConfigureCommand::InitializeHandler.
2013-04-12 11:35:36 -04:00
Petr Kmoch
3cd4000601 VS: Use .sln parser to build targets in subdirs with msbuild (#13623)
Use cmVisualStudioSlnParser in GenerateBuildCommand() to provide correct
command line for MSBuild even when target project is stored in a
subdirectory.
2013-04-12 11:35:36 -04:00
Petr Kmoch
df035e4825 VS: Create parser for Visual Studio .sln files
Create class cmVisualStudioSlnParser as a generic parser for Visual
Studio .sln files. Implement minimum functionality but keep class
extensible.  Add tests for the class.
2013-04-12 11:35:35 -04:00
Petr Kmoch
de8be9ef7d Add projectDir parameter to GenerateBuildCommand
Extend the cmGlobalGenerator::GenerateBuildCommand virtual method
signature with a "projectDir" parameter specifying the top of the
project build tree for which the build command will be generated.
Populate it from call sites in cmGlobalGenerator::Build where a
fully-generated build tree should be available.
2013-04-12 11:35:35 -04:00