Commit Graph

11229 Commits

Author SHA1 Message Date
KWSys Robot 91c06e9022 KWSys Nightly Date Stamp 2010-12-30 00:11:02 -05:00
KWSys Robot 5e9d8a2952 KWSys Nightly Date Stamp 2010-12-29 00:10:40 -05:00
Brad King 726861ce69 Merge topic 'FixCrashInEclipseGenerator'
d18c8d6 Fix crash in Eclipse generator with empty project (#11616)
2010-12-28 15:26:15 -05:00
Brad King 97c5171d6c Merge topic 'dev/add_test-working-directory'
667a90a Fix sentence break in add_test documentation
96309fc Make TestsWorkingDirectory test a C file
a4a5e37 Use iostream to make Borland happy
cfe53cd Fully specify the path to old-signature add_test
017d4e9 Group adding tests with its properties
561cc33 Only test the default cwd with Makefiles
d87bae7 Simplify the _default_cwd derivation
992c74f Use --><-- markers to denote the path
5249551 Flip slashes around on Windows
0a014da Add ctype.h include for toupper()
af12f83 Fix header includes for C++ and Visual Studio
5597aa2 Rename the project to match the test
9bf4165 Add tests for WORKING_DIRECTORY arg to add_test
42de5d0 Add WORKING_DIRECTORY argument to add_test
7679f9f Rename WorkingDirectory test
d95f817 Add the WORKING_DIRECTORY property to tests
2010-12-28 15:25:49 -05:00
Brad King 0bb22cfabe Avoid passing string literal to char* type 2010-12-28 09:57:35 -05:00
Brad King 75191fa312 KWSys: Avoid passing string literal as char*
Pass the lpClass argument of RegCreateKeyEx as a real char[] instead of
a string literal.  At least one platform declares the argument as char*
instead of "const char*".
2010-12-28 09:57:09 -05:00
KWSys Robot 428e0e0ab9 KWSys Nightly Date Stamp 2010-12-28 00:10:42 -05:00
KWSys Robot 0ccc5bcec6 KWSys Nightly Date Stamp 2010-12-27 00:10:41 -05:00
KWSys Robot 0cbf312e89 KWSys Nightly Date Stamp 2010-12-26 00:10:11 -05:00
KWSys Robot b1fdebc14c KWSys Nightly Date Stamp 2010-12-25 00:10:44 -05:00
KWSys Robot 7159435843 KWSys Nightly Date Stamp 2010-12-24 00:10:04 -05:00
Bill Hoffman b2f308c8f9 Add support for windows resources with mingw/msys. 2010-12-23 17:04:49 -05:00
KWSys Robot 97e64e8607 KWSys Nightly Date Stamp 2010-12-23 00:10:37 -05:00
KWSys Robot 104cd4acd8 KWSys Nightly Date Stamp 2010-12-22 00:10:03 -05:00
Alex Neundorf d18c8d6ad7 Fix crash in Eclipse generator with empty project (#11616)
If there was no language at all enabled, CMAKE_BUILD_TYPE was empty,
which was not expected, and made the generator crash.

Alex
2010-12-21 21:59:39 +01:00
Brad King 667a90a084 Fix sentence break in add_test documentation
Commit 42de5d02 (Add WORKING_DIRECTORY argument to add_test, 2010-12-16)
added a new sentence to a paragraph without separating it by "  " from
the previous sentence.  Add the missing spaces.
2010-12-21 14:15:05 -05:00
Brad King 9f46051490 Merge topic 'cygwin'
85c0a69 Cygwin: Do not define 'WIN32' (#10122)
62c6d2d Merge branch 'cmake_--system-information_min-version' into cygwin
72db20f Merge branch 'tests-if-CYGWIN' into cygwin
5adef16 Merge branch 'cygwin-module-prefix' into cygwin
cbc3258 Merge branch 'try-compile-min-version' into cygwin
2010-12-21 14:06:32 -05:00
Brad King 31b0657e7d Merge topic 'custom-command-generator-expressions'
4499d50 Mark CustomCommand test perconfig.out as SYMBOLIC
f0cdb60 Introduce "generator expression" syntax to custom commands (#11209)
4749e4c Record set of targets used in cmGeneratorExpression
ef9e9de Optionally suppress errors in cmGeneratorExpression
45e1953 Factor per-config sample targets out of 'Testing' test
4091bca Factor generator expression docs out of add_test
bfb7288 Record backtrace in cmCustomCommand
2010-12-21 14:03:24 -05:00
Brad King 533f5a2037 Merge topic 'custom-command-refactor'
53ea8b3 Merge branch 'imported-target-dependencies' into custom-command-refactor
1a29cca Remove cmLocalGenerator::GetRealLocation
542b517 Factor out common custom command generator
6fe5b3d Simplify VS generator ConstructScript interface
2010-12-21 14:03:02 -05:00
Brad King ea38628366 Merge topic 'ctest-git-send-committer'
5992526 CTest: Factor out duplicate Git author/committer code
307b8a6 CTest git update should pass the committer as well as the author
2010-12-21 14:02:39 -05:00
Brad King 3a7edc14a0 Merge topic 'fix_docs_for_language_property'
afbfb7a Add more documentation for LANGUAGE property.
2010-12-21 14:02:04 -05:00
Brad King 2031b6a9f3 Merge topic 'vs2010_header_only_fix'
f578381 Fix vs2010 project generation error when HEADER_FILE_ONLY is set.
2010-12-21 14:01:38 -05:00
Brad King 12e7bdea50 Merge topic 'vs10-sln-msbuild-workaround'
e1442ac Avoid msbuild ".\" idiosyncrasy that builds multiple configs (#11594)
42a2e9d Revert "Avoid msbuild idiosyncrasy that builds multiple configs" (#11633)
2c2eee6 Revert "Remove unused parameter "root" in some VS generator methods"
2010-12-21 14:01:25 -05:00
Brad King f94c4a35be Merge topic 'always_enable_generate'
3f158c6 cmake-gui: always enable generate button.
2010-12-21 14:01:08 -05:00
Brad King c85b8189cf Merge topic 'fix-11487-multiple-test-calls'
744366f CTest: multiple ctest_test calls w/LABEL regexs (#11487)
2010-12-21 14:00:56 -05:00
Brad King b482ba3e38 Merge topic 'fix-10587-avoid-try-compile-warnings'
984acc8 VS10: avoid warning, no nologo when verbose (#10587)
2010-12-21 14:00:27 -05:00
Brad King 17025ebda1 Merge topic 'fix-8210-find-makensis-in-path'
cd9aa73 CPack: look for makensis in the PATH (#8210)
2010-12-21 13:59:58 -05:00
Brad King 1f401294d4 Merge topic 'fix-11533-vs10-custom-build-err'
66e7917 VS10: stop build on custom command error (#11533)
2010-12-21 13:59:35 -05:00
Brad King 27b86ece8f Merge topic 'xcode-version-3.2'
f7d525e Xcode: Generate native 3.2 projects
2010-12-21 13:59:28 -05:00
Brad King ccc790f160 Merge topic 'remove-GetMaximumFilePathLength-call'
b97760f Remove call to SystemTools::GetMaximumFilePathLength
2010-12-21 13:59:21 -05:00
Brad King b005910812 Merge topic 'file-GLOB-use-case-warning'
26cc29a Warn in find(GLOB) docs about bad use case (#11617)
2010-12-21 13:59:13 -05:00
Brad King 7a7a2cbd31 Merge topic 'ctest-depend-cycle'
1f7133c CTest: Fix line-too-long style in DEPEND cycle error
f48d3bc CTest: Fix test DEPEND cycle detection
2010-12-21 13:58:21 -05:00
Bill Hoffman 16e7d4ba2c Add flags to resource builds on vs 2010 with a test. 2010-12-21 09:20:57 -05:00
Brad King 4c88a8622d KWSys: Avoid buffer overflow in SystemInformation (#11018)
Use std::string instead of fixed-size char arrays.

Author: Ben Boeckel <ben.boeckel@kitware.com>
2010-12-21 08:25:33 -05:00
KWSys Robot 112ada2eb6 KWSys Nightly Date Stamp 2010-12-21 00:10:48 -05:00
Brad King 5992526482 CTest: Factor out duplicate Git author/committer code
Factor out date/time format code into FormatDateTime function instead of
duplicating it.
2010-12-20 17:16:25 -05:00
Zach Mullen 307b8a6e69 CTest git update should pass the committer as well as the author 2010-12-20 16:05:40 -05:00
Bill Hoffman afbfb7ac1d Add more documentation for LANGUAGE property.
Make it clear that if you set the language on a file, it will be compiled.
2010-12-20 15:46:11 -05:00
Bill Hoffman f578381e66 Fix vs2010 project generation error when HEADER_FILE_ONLY is set.
In vs2010 a bad project file could be generated if a .c or .cxx file
was marked with HEADER_FILE_ONLY, if it was in a library that contained
both c and c++ code.  This fixes the error in the code, and adds a test
for this case.
2010-12-20 15:25:16 -05:00
Brad King e1442ac9c1 Avoid msbuild ".\" idiosyncrasy that builds multiple configs (#11594)
If a .sln file refers to a project file with a leading ".\", as in
".\foo.vcxproj" instead of just "foo.vcxproj" or a full path then
msbuild behaves strangely.  Whenever target foo is built as a dependency
of another target, msbuild brings multiple configurations up to date
instead of just the requested configuration!

Avoid a leading ".\" in project file references to avoid this behavior.
This alternative fix to that attempted by commit 57e71533 (Avoid msbuild
idiosyncrasy that builds multiple configs, 2010-12-10) avoids use of
full path project file references which vcbuild does not support.
2010-12-20 11:56:18 -05:00
Brad King 42a2e9d91a Revert "Avoid msbuild idiosyncrasy that builds multiple configs" (#11633)
This reverts commit 57e71533f4.

While "msbuild" can handle full paths to project files in solutions,
the old "vcbuild" used for VS < 10 cannot.  We will need another
way to fix issue #11594.
2010-12-20 11:32:14 -05:00
Brad King 2c2eee61c1 Revert "Remove unused parameter "root" in some VS generator methods"
This reverts commit 10f01ae962.
2010-12-20 11:15:55 -05:00
KWSys Robot 34a2dee75d KWSys Nightly Date Stamp 2010-12-20 00:10:56 -05:00
KWSys Robot b8c8fe49da KWSys Nightly Date Stamp 2010-12-19 00:10:08 -05:00
KWSys Robot 5ae9ccd2c6 KWSys Nightly Date Stamp 2010-12-18 00:10:03 -05:00
Clinton Stimpson 3f158c6dfa cmake-gui: always enable generate button. 2010-12-17 19:04:57 -07:00
Clinton Stimpson 744366fc0b CTest: multiple ctest_test calls w/LABEL regexs (#11487)
The Initialize method was not re-initializing everything
that it should have been. This commit fixes that.
2010-12-17 17:30:13 -05:00
David Cole 984acc884b VS10: avoid warning, no nologo when verbose (#10587)
For prior versions of Visual Studio we would intentionally pass
"/nologo-" for "verbose makefiles" (CMAKE_VERBOSE_MAKEFILE ON)
when the caller did not already explicitly specify either /nologo
or /nologo-. And we still do. For the prior versions.

This had the side effect of always passing /nologo- for try_compile
operations because try_compile generates projects that have verbose
makefiles on.

However, starting with Visual Studio 10, the compiler emits
"cl ... warning D9035: option 'nologo-' has been deprecated"
when passed "/nologo-".

Therefore, this commit removes setting "/nologo-" for verbose
makefiles in the Visual Studio 10 case to avoid emitting a
warning for every single invocation of the compiler in a given
build.

With Visual Studio 10, we do not set this flag either way
and therefore, the generated project has no value for this
setting and gets Visual Studio's default value, which is
of course "/nologo", which does not produce a warning.

With Visual Studio 10, a caller can still force "/nologo-"
if desired by adding it explicitly to CMAKE_C_FLAGS or
CMAKE_CXX_FLAGS.
2010-12-17 16:01:19 -05:00
Brad King 85c0a69a92 Cygwin: Do not define 'WIN32' (#10122)
One of Cygwin's goals is to build projects using the POSIX API with no
Windows awareness.  Many CMake-built projects have been written to test
for UNIX and WIN32 but not CYGWIN.  The preferred behavior under Cygwin
in such projects is to take the UNIX path but not the WIN32 path.

Unfortunately this change is BACKWARDS INCOMPATIBLE for Cygwin-aware
CMake projects!  Some projects that previously built under Cygwin and
are Cygwin-aware when they test for WIN32 may now behave differently.
Eventually these projects will need to be updated, but to help users
build them in the meantime we print a warning about the change in
behavior.  Furthermore, one may set CMAKE_LEGACY_CYGWIN_WIN32 to request
old behavior during the transition.

Normally we avoid backwards incompatible changes, but we make an
exception in this case for a few reasons:

(1) This behavior is preferred by Cygwin's design goals.

(2) A warning provides a clear path forward for everyone who may see
incompatible behavior, and CMAKE_LEGACY_CYGWIN_WIN32 provides a
compatibility option.  The warning and compatibility option both
disappear when the minimum required version of CMake in a project is
sufficiently new, so this issue will simply go away over time as
projects are updated to account for the change.

(3) The fixes required to update projects are fairly insignificant.
Furthermore, the Cygwin distribution has no releases itself so project
versions that predate said fixes tend to be difficult to build anyway.

(4) This change enables many CMake-built projects that did not
previously build under Cygwin to work out-of-the-box.  From bug #10122:

  "I have built over 120 different source packages with (my patched)
   CMake, including most of KDE4, and have found that NOT defining
   WIN32 on Cygwin is much more accurate." -- Yaakov Selkowitz

A fully compatible change would require patches on top of these project
releases for Cygwin even though they otherwise need not be aware of it.

(5) Yaakov has been maintaining a fork of CMake with this change for the
Cygwin Ports distribution.  It works well in practice.  By accepting the
change in upstream CMake we avoid confusion between the versions.

CMake itself builds without WIN32 defined on Cygwin.  Simply disable
CMAKE_LEGACY_CYGWIN_WIN32 explicitly in our own CMakeLists.txt file.
2010-12-17 14:19:58 -05:00
David Cole cd9aa73f3a CPack: look for makensis in the PATH (#8210)
Previously, we would search in the Windows registry for the path
to makensis, and fail immediately if we could not read the registry
value, assuming that it was simply not installed.

This change looks for makensis in the PATH even if the registry value
is not there, enabling the scenario where makensis is installed without
admin privileges and never even touches HKEY_LOCAL_MACHINE during the
non-admin install.
2010-12-17 13:29:10 -05:00
David Cole 66e7917532 VS10: stop build on custom command error (#11533)
In VS9 and previous versions, :VCReportError is the goto label
to jump to after a failed custom command. It stops the build
before it tries to go any further.

In VS10, :VCEnd is the correct label to use.

Create a method in the VS generators to provide the correct
line of script to use for each version of Visual Studio.

For more internal details, search for VCEnd in the
C:\Program Files\MSBuild directory.
2010-12-17 11:11:55 -05:00
Brad King f7d525e3a6 Xcode: Generate native 3.2 projects
Set objectVersion = 46; compatibilityVersion = "Xcode 3.2" when
Xcode 3.2 is detected.
2010-12-17 08:41:32 -05:00
KWSys Robot d11c70295b KWSys Nightly Date Stamp 2010-12-17 00:10:43 -05:00
Brad King b97760fa52 Remove call to SystemTools::GetMaximumFilePathLength
The KWSys SystemTools::GetMaximumFilePathLength method is poorly
conceived and should not be used.  The cmDepends code honors its own
MaxPath buffer size.  Just hard-code it.
2010-12-16 17:41:27 -05:00
Ben Boeckel 42de5d02dd Add WORKING_DIRECTORY argument to add_test 2010-12-16 16:50:47 -05:00
Rolf Eike Beer d95f817f77 Add the WORKING_DIRECTORY property to tests 2010-12-16 16:23:18 -05:00
Brad King 26cc29a8e2 Warn in find(GLOB) docs about bad use case (#11617)
The first instinct of a lot of users is to use file(GLOB) to assemble
lists of sources.  Add a warning to the help text stating that it should
not be used for this purpose and briefly explain why.

Suggested-By: Ryan Pavlik
2010-12-16 15:49:32 -05:00
Brad King 72ebd4ee12 Merge topic 'try_compile-RemoveFile'
097294e Fix try_compile RemoveFile anti-virus loop (#11503)
2010-12-16 14:00:28 -05:00
Brad King 6b61c04330 Merge topic 'try-compile-min-version'
2afb820 Write full version into try_compile CMakeLists
2010-12-16 14:00:24 -05:00
Brad King ed9979f931 Merge topic 'link-depend-def-file'
3e27997 Make link rule depend on ".def" file (#11014)
2010-12-16 14:00:17 -05:00
Brad King 419302e2d6 Merge topic 'doc-target_link_libraries-scope'
999ce0a Document target_link_libraries target scope (#11058)
2010-12-16 14:00:11 -05:00
Brad King 92199485c0 Merge topic 'custom-command-slashes'
a75a0a1 Normalize add_custom_command OUTPUT names (#10485)
2010-12-16 14:00:00 -05:00
Brad King 4f769d18d1 Merge topic 'cray-compiler'
ab9ebb0 Fix Fortran .mod timestamps with Cray compiler
2010-12-16 13:59:57 -05:00
Brad King ceae8b1062 Merge topic 'CPack-MoreComponentControls'
6d94ea3 CPack  use IsOn when it's better than IsSet
2010-12-16 13:59:45 -05:00
Brad King 83b836f61e Merge topic 'CPack-DynMONOLITHIC_INSTALL'
17b05e6 CPack Honor CPACK_MONOLITHIC_INSTALL at CPack time too
2010-12-16 13:59:40 -05:00
Brad King 1f7133cd61 CTest: Fix line-too-long style in DEPEND cycle error 2010-12-16 08:07:43 -05:00
KWSys Robot aadee46c60 KWSys Nightly Date Stamp 2010-12-16 00:10:05 -05:00
Brad King f48d3bc5ba CTest: Fix test DEPEND cycle detection
A cycle exists when the DFS returns to the root node, not just when
multiple paths lead to the same node.

Inspired-By: Alexander Esilevich <aesilevich@pathscale.com>
2010-12-15 16:49:34 -05:00
Brad King f0cdb6001b Introduce "generator expression" syntax to custom commands (#11209)
Evaluate in the COMMAND arguments of custom commands the generator
expression syntax introduced in commit d2e1f2b4 (Introduce "generator
expressions" to add_test, 2009-08-11).  These expressions have a syntax
like $<TARGET_FILE:mytarget> and are evaluated during build system
generation.  This syntax allows per-configuration target output files to
be referenced in custom command lines.
2010-12-15 14:53:48 -05:00
Brad King 4749e4cb76 Record set of targets used in cmGeneratorExpression 2010-12-15 14:53:46 -05:00
Brad King ef9e9de0b8 Optionally suppress errors in cmGeneratorExpression 2010-12-15 14:53:39 -05:00
Brad King 4091bca4ec Factor generator expression docs out of add_test
This documentation may be reused wherever generator expressions are
supported.
2010-12-15 14:53:31 -05:00
Brad King bfb7288f81 Record backtrace in cmCustomCommand
This will be used to report custom command errors to the user with a
backtrace pointing at the add_custom_command or add_custom_target call.
2010-12-15 14:53:24 -05:00
Brad King 999ce0aa9c Document target_link_libraries target scope (#11058)
The target_link_libraries command requires its first argument to be a
target in the current directory.  Document this and update the error
message to be more specific.  While at it, format the error message with
a call stack.
2010-12-15 12:18:59 -05:00
Brad King 3e279971fb Make link rule depend on ".def" file (#11014)
When the link command line references a ".def" file the rule should
depend on it.

Inspired-By: Eric Huhtala
2010-12-15 11:30:57 -05:00
Brad King a75a0a1448 Normalize add_custom_command OUTPUT names (#10485)
Previously the OUTPUT arguments of add_custom_command were not
slash-normalized but those of add_library and add_executable were.
This caused the example

  add_custom_command(OUTPUT a//b.c ...)
  add_library(... a//b.c ...)

to fail at build time with "no rule to make a/b.c".  Fix this and modify
the CustomCommand test to try it.
2010-12-15 08:44:57 -05:00
KWSys Robot a14a8562ea KWSys Nightly Date Stamp 2010-12-15 00:10:03 -05:00
Brad King 3a14b6e556 KWSys: Do not mangle UNC paths in ConvertToUnixOutputPath (#10206)
This method replaces '//' with '/' to make the paths look nicer.
Originally it correctly skipped a leading '//' in a UNC path as the
comment says.  However, commit "Removed extra variable initializations"
(2005-04-15) accidentally removed the "pos=1" initializer.  It was then
incorrectly restored by commit "Added missing variable initialization"
(2005-04-15) as just "pos=0".  Restore the proper initializer.

The test for this added by commit "better coverage" (2006-07-31)
included incorrect output for a sample UNC-like path.  Fix it.
2010-12-14 18:13:03 -05:00
Brad King cbc3258e67 Merge branch 'try-compile-min-version' into cygwin 2010-12-14 16:48:04 -05:00
Brad King 2afb820352 Write full version into try_compile CMakeLists
Pass the full version to cmake_minimum_required(VERSION) in generated
CMake files for try_compile projects.  This tells CMake not to use any
backward compatibility behavior while processing code it generates.
2010-12-14 16:36:55 -05:00
Brad King 2d1aa4ad06 Merge topic 'dev/support-substring-negative-indices'
36cb701 allow STRING(SUBSTRING) work with length -1 as "rest of the string"
2010-12-14 14:39:10 -05:00
Brad King 03c4623fb4 Merge topic 'ParallelEclipseMakefiles2'
27ee50a Add ECLIPSE_CDT4_GENERATE_SOURCE_PROJECT as a ADVANCED cache variable (#9631)
50d21d4 Add cache var CMAKE_ECLIPSE_MAKE_ARGUMENTS when using the Eclipse generator
2010-12-14 14:38:55 -05:00
Brad King f7036a1603 Merge topic 'custom-command-depend'
ced1d5e Skip file-level dependencies on custom targets (#11332)
e30a775 Improve signature of cmLocalGenerator::GetRealDependency
2010-12-14 14:38:48 -05:00
Brad King 5161f85ef2 Merge topic 'vs10-sln-msbuild-workaround'
10f01ae Remove unused parameter "root" in some VS generator methods
57e7153 Avoid msbuild idiosyncrasy that builds multiple configs (#11594)
7728172 Remove unused variable "rootdir" in VS generators
2010-12-14 14:38:30 -05:00
Brad King 5bea0917ef Merge topic 'fix_incremental_vs2010'
cddcad5 Fix incremental linking for VS2010 with nmake or make.
2010-12-14 14:38:27 -05:00
Brad King f1adcefdf4 Merge topic 'cross-compile-apple-host'
3b7f901 Fix soname in cross-compiled targets with Mac host (#11547)
2010-12-14 14:38:18 -05:00
Brad King 24b251ac55 Merge topic 'doc-ctest_sleep'
7145ca6 CTest: Fix ctest_sleep documentation (#11554)
2010-12-14 14:38:13 -05:00
Brad King b0dffc7e9c Merge topic 'parallel-make-install-of-CMake'
608d6bb Fix parallel "make install" of CMake itself
2010-12-14 14:38:09 -05:00
Brad King adf62a98f3 Merge topic 'imported-target-dependencies'
a765c49 Honor custom command dependencies on imported targets (#10395)
2010-12-14 14:38:04 -05:00
Brad King 75844666ac Merge topic 'fix-INSTALL-and-PACKAGE-depend-tracing'
8e82773 Remove unused GLOBAL_TARGET generation code
0621362 Fix dependency tracing of INSTALL and PACKAGE (#11598)
2010-12-14 14:37:52 -05:00
Brad King b7c29a4d73 Merge topic 'vs10-express-64bit'
fb97ba6 Enable 64-bit tools with VS 2010 Express (#9981, #10722)
2010-12-14 14:37:30 -05:00
KWSys Robot da0a8f7f44 KWSys Nightly Date Stamp 2010-12-14 13:30:03 -05:00
Brad King ffac70b528 KWSys: Use EXPORT name only if installing library
Do not set KWSYS_INSTALL_LIBRARY_RULE just because the parent project set
KWSYS_INSTALL_EXPORT_NAME.  Require KWSYS_INSTALL_LIB_DIR to be set too.
2010-12-14 13:30:03 -05:00
Brad King 8e82773eb4 Remove unused GLOBAL_TARGET generation code
Remove a boolean parameter of cmGlobalGenerator::CreateGlobalTarget that
is never set to true anymore.  Remove global target "consolidation" loop
because no global targets exist before it runs anymore.
2010-12-13 12:59:26 -05:00
Brad King 0621362668 Fix dependency tracing of INSTALL and PACKAGE (#11598)
Commit e01cce28 (Allow add_dependencies() on imported targets,
2010-11-19) started using cmMakefile::FindTargetToUse to follow
dependencies, including those of GLOBAL_TARGETs like INSTALL and
PACKAGE.  Since global targets exist in every directory, dependencies
between them must be traced within each directory too.

Teach FindTargetToUse to check the current directory before checking
globally.  For global targets this will find the local copy.  For for
normal targets this will be a no-op because they are globally unique.
2010-12-13 12:56:47 -05:00
KWSys Robot b5d7f2c57c KWSys Nightly Date Stamp 2010-12-13 00:10:05 -05:00
Alex Neundorf 50d21d4251 Add cache var CMAKE_ECLIPSE_MAKE_ARGUMENTS when using the Eclipse generator
This variable can be set to command line arguments which will be passed
to make when eclipse invokes make, e.g. you can enter "-j8" to get
8 parallel builds (#9930)

Alex
2010-12-12 16:52:20 +01:00
Eric NOULARD 6d94ea3692 CPack use IsOn when it's better than IsSet
This authorize more control because one can set
CPACK_ARCHIVE_COMPONENT_INSTALL to ON globally
and then set it selectively to OFF inside
a CPack project config file.
Sidenote: GetOption ought to be a 'const' method.
2010-12-12 12:55:02 +01:00
Eric NOULARD 17b05e6d7f CPack Honor CPACK_MONOLITHIC_INSTALL at CPack time too 2010-12-12 12:30:42 +01:00
KWSys Robot 1b98d99c28 KWSys Nightly Date Stamp 2010-12-12 00:10:02 -05:00
KWSys Robot da4c2f6214 KWSys Nightly Date Stamp 2010-12-11 00:10:32 -05:00
Brad King 10f01ae962 Remove unused parameter "root" in some VS generator methods
The previous commit removed the last use of this parameter from the
implementation of WriteTargetsToSolution.  Remove the parameter.
2010-12-10 14:33:34 -05:00
Brad King 57e71533f4 Avoid msbuild idiosyncrasy that builds multiple configs (#11594)
If a .sln file refers to a project file with a leading ".\", as in
".\foo.vcxproj" instead of just "foo.vcxproj" or a full path then
msbuild behaves strangely.  Whenever target foo is built as a dependency
of another target, msbuild brings multiple configurations up to date
instead of just the requested configuration!

Refer to all project files by full path to avoid this behavior.
2010-12-10 14:26:56 -05:00
Brad King 772817242b Remove unused variable "rootdir" in VS generators 2010-12-10 14:21:18 -05:00
KWSys Robot b90e9f9c3a KWSys Nightly Date Stamp 2010-12-10 00:10:28 -05:00
Bill Hoffman cddcad5102 Fix incremental linking for VS2010 with nmake or make.
VS2010 deprecated /INCREMENTAL:YES.  This change makes
/INCREMENTAL the flag to use for incremental linking with
VS2010.
2010-12-09 13:32:48 -05:00
Brad King 3b7f901494 Fix soname in cross-compiled targets with Mac host (#11547)
The soname generation code was compile-time selected instead of runtime
selected.  The result is that a Mac-compiled cmake used to cross-compile
Mac -> Unix generates an soname of the form libfoo.x.y.so instead of
libfoo.so.x.y as expected.  Instead do a runtime check based on the
target platform.

Inspired-By: George Staikos <staikos@kde.org>
2010-12-09 11:18:25 -05:00
Brad King 7145ca67fc CTest: Fix ctest_sleep documentation (#11554)
Document behavior consistently with the implementation.
2010-12-09 10:37:28 -05:00
Brad King 608d6bba89 Fix parallel "make install" of CMake itself
Avoid tracing dependencies of GLOBAL_TARGET targets.  The build system
generators are not designed to handle any dependencies that may be
discovered.  Global targets are only generated by CMake and never have
commands that reference targets built in the project anyway.

The exception is when building CMake itself there is a special case to
use the just-built "cmake" binary in the "install" target so that CMake
can replace itself on Windows.  Even in this special case we do not want
to let the "install" target depend on the "cmake" target.  Doing so
breaks cases like "make -j4 install".
2010-12-09 10:12:12 -05:00
KWSys Robot d25638ac05 KWSys Nightly Date Stamp 2010-12-09 00:10:41 -05:00
Brad King 306427c079 KWSys: Remove realpath from SystemTools::GetPath (#10335)
Commit "merge in changes for beos support" (2006-12-04) added a realpath
call for every directory parsed out of a PATH-style environment
variable.  No reason was given in the commit message or comments.

The call incorrectly resolves symlinks in referenced paths.  Remove it.
If BeOS support really needs it then it can be restored for that
platform with a full explanation.
2010-12-08 18:04:10 -05:00
Brad King 53ea8b3204 Merge branch 'imported-target-dependencies' into custom-command-refactor 2010-12-08 17:30:02 -05:00
Brad King 1a29ccaf9a Remove cmLocalGenerator::GetRealLocation
The cmCustomCommandGenerator::GetCommand method completely replaces the
purpose of this method.  Re-implement GetRealLocation inline at the only
remaining call site and remove it.
2010-12-08 17:29:53 -05:00
Brad King 542b517449 Factor out common custom command generator
The Makefile, VS, and Xcode generators previously duplicated some custom
command line generation code.  Factor this out into a separate class
cmCustomCommandGenerator shared by all generators.
2010-12-08 17:29:20 -05:00
Brad King 6fe5b3db0b Simplify VS generator ConstructScript interface
Pass to cmLocalVisualStudioGenerator::ConstructScript a cmCustomCommand
instance instead of extracting arguments at all call sites.
2010-12-08 17:29:20 -05:00
Brad King ced1d5eccd Skip file-level dependencies on custom targets (#11332)
A custom command may name a target created by add_custom_target in its
DEPENDS field.  Treat this case as a target-level dependency only since
a custom target provides no standard file on which to add a file-level
dependency.
2010-12-08 17:14:17 -05:00
Brad King e30a775f68 Improve signature of cmLocalGenerator::GetRealDependency
Allow file-level custom command dependencies to be skipped.
2010-12-08 17:14:14 -05:00
Rolf Eike Beer 36cb701690 allow STRING(SUBSTRING) work with length -1 as "rest of the string"
This fixes the first half of bug 10740.
2010-12-08 16:38:30 -05:00
Brad King a765c491ad Honor custom command dependencies on imported targets (#10395)
Imported targets do not themselves build, but we can follow dependencies
through them to find real targets.  This allows imported targets to
depend on custom targets that provide the underlying files at build
time.
2010-12-08 12:22:13 -05:00
KWSys Robot 02a8ea2d5b KWSys Nightly Date Stamp 2010-12-08 00:10:03 -05:00
David Cole 35fd8d3abb Merge topic 'fix-typo-in-error-message'
a2a997d Correct misspelling in error message text.
2010-12-07 15:28:16 -05:00
David Cole 2a214ad8b5 Merge topic 'fortran-avoid-timestamp-touch'
5622a16 Make Fortran $obj.provides.build targets not .PHONY
2010-12-07 15:28:12 -05:00
KWSys Robot e580daec4c KWSys Nightly Date Stamp 2010-12-07 00:10:03 -05:00
Brad King 5622a16f1f Make Fortran $obj.provides.build targets not .PHONY
Commit 60cd72d0 (Cleaned up generation of symbolic rules, 2006-02-15)
incorrectly made these Makefile targets .PHONY even though the build
rule touches an actual file.  Correct it so that the copy_f90_mod and
touch steps do not happen on every "make".
2010-12-06 16:43:04 -05:00
Brad King ab9ebb017e Fix Fortran .mod timestamps with Cray compiler
Commit 34e1ac24 (Create Fortran info variables for .mod behavior,
2010-11-12) incorrectly taught GetFortranModuleDirectory to return a
relative path.  We really want to use "." as the module directory only
as a workaround for compilers that do not do so by default.  Therefore
we need this default only when generating the compiler command line and
not when scanning dependencies.

Revert the previous change to GetFortranModuleDirectory and apply the
change only at one of its call sites.
2010-12-06 10:35:25 -05:00
David Cole a2a997d8c4 Correct misspelling in error message text. 2010-12-06 08:44:26 -05:00
KWSys Robot afc8906468 KWSys Nightly Date Stamp 2010-12-06 00:10:04 -05:00
KWSys Robot 419e0d29a0 KWSys Nightly Date Stamp 2010-12-05 00:10:07 -05:00
KWSys Robot 34ee41b9cc KWSys Nightly Date Stamp 2010-12-04 00:10:02 -05:00
Brad King 097294e667 Fix try_compile RemoveFile anti-virus loop (#11503)
Commit 3827991e (...fix...not being able to remove try compile code,
2008-03-26) introduced a loop of RemoveFile attempts to overcome
anti-virus locks on recently created try_compile executables.  Fix the
logic in this loop to work when the file is already missing.
2010-12-03 07:38:15 -05:00
KWSys Robot 4617135fe7 KWSys Nightly Date Stamp 2010-12-03 00:10:28 -05:00
Brad King 6a07b22bf9 Merge topic 'find-command-crash'
183d261 Fix find_* argument parsing crash (#11513)
2010-12-02 14:25:10 -05:00
Brad King 9ab2659487 Merge topic 'ctest-remove-waiting-message'
13f2454 Remove debugging message from parallel ctest
2010-12-02 14:25:04 -05:00
Brad King 42fac25808 Merge topic 'CPack-Bug11452-ComponentBreakage-v2'
12a7125 CPack Fix KWStyle error
d0eb89c CPack backward compatibility fix 2.8.3-2.8.2 (bug 11452)
2010-12-02 14:24:51 -05:00
Brad King b4bd2d3baf Merge topic 'vs-target-dependencies'
08a3188 Skip VS <= 7.1 dependency analysis for VS >= 8
2010-12-02 14:24:45 -05:00
KWSys Robot 746d54a843 KWSys Nightly Date Stamp 2010-12-02 00:10:03 -05:00
Brad King f9abda2db4 KWSys: Associate installed library with an EXPORT
A parent project may now set KWSYS_INSTALL_EXPORT_NAME to specify the
EXPORT name for install(TARGETS) commands.
2010-12-01 16:10:02 -05:00
Eric NOULARD 12a7125b32 CPack Fix KWStyle error 2010-12-01 21:00:38 +01:00
Brad King fb97ba6293 Enable 64-bit tools with VS 2010 Express (#9981, #10722)
The Express Edition does not come with 64-bit tools, but one can install
the "Microsoft Windows SDK v7.1" to get them.  Detect this case and
check for the SDK.  If found, set PlatformToolset to use the SDK tools.
Otherwise, fail with a concise and informative error.
2010-12-01 12:48:32 -05:00
Brad King 08a31885c1 Skip VS <= 7.1 dependency analysis for VS >= 8
Commit 1a0c166 (Store direct dependencies in solutions for VS >= 8,
2010-08-20) disabled use of VS-specific global dependency analysis.
Avoid perfoming the analysis at all when it is not needed.  This also
prevents creation of bogus and unused '_UTILITY' targets since they are
not needed for dependencies.
2010-12-01 11:43:30 -05:00
Zach Mullen 13f24540ad Remove debugging message from parallel ctest 2010-12-01 11:28:23 -05:00
KWSys Robot 8b555d1d20 KWSys Nightly Date Stamp 2010-12-01 00:10:03 -05:00
Brad King 183d261b11 Fix find_* argument parsing crash (#11513)
Previously the command

  find_path(VAR DOC "")

would crash because the argument pre-processing removed the DOC ""
arguments but the rest of the parsing assumes at least 2 arguments.
Reject the call with an error instead.
2010-11-30 08:39:16 -05:00
KWSys Robot 63828762a0 KWSys Nightly Date Stamp 2010-11-30 00:10:03 -05:00
Eric NOULARD d0eb89c17b CPack backward compatibility fix 2.8.3-2.8.2 (bug 11452)
One should set CPACK_ARCHIVE_COMPONENT_INSTALL=1 in order to
trigger component install for ARCHIVE generators
2010-11-29 18:57:24 +01:00
KWSys Robot bd44b2cc5b KWSys Nightly Date Stamp 2010-11-29 00:10:02 -05:00
KWSys Robot 7ce06dcc90 KWSys Nightly Date Stamp 2010-11-28 00:10:03 -05:00
KWSys Robot 7a85200249 KWSys Nightly Date Stamp 2010-11-27 00:10:32 -05:00
KWSys Robot 500711129b KWSys Nightly Date Stamp 2010-11-26 00:10:02 -05:00
KWSys Robot 537180ab19 KWSys Nightly Date Stamp 2010-11-25 00:10:05 -05:00