Commit Graph

12382 Commits

Author SHA1 Message Date
Brad King ca39c5cdd1 Optionally allow IMPORTED targets to be globally visible
Consider the case motivating commit e01cce28 (Allow add_dependencies()
on imported targets, 2010-11-19).  An imported target references a file
generated at build time by a custom target on which it depends.  Had the
file been built directly using add_library or add_executable its target
name would have been visible globally.  Therefore the imported target
representing the file should be globally visible also.

Teach the IMPORTED signature of add_(executable|library) to accept a new
"GLOBAL" option to make the imported target visible globally.
2012-01-25 14:42:31 -05:00
David Cole 30620e7477 Merge topic 'uninitialized-var-in-if'
54fd9e3 fix uninitialized var in if(NOT foo bar STREQUAL "foo bar")
2012-01-25 11:17:46 -05:00
David Cole cef75ca909 Merge topic 'install-command-cleanup'
982b5d9 cmInstallCommand: Fix line length for style
a64b618 cmInstallCommand: Remove duplicated sentence from docs
01ddef8 cmInstallCommand: Fix indentation error
2012-01-25 11:15:03 -05:00
KWSys Robot 31c53c288c KWSys Nightly Date Stamp 2012-01-25 00:05:06 -05:00
Eric NOULARD 62b589b4cd Suppress unused var, beautify code, avoid 1 extra newline.
There remains extra newlines in text Formatter output
but the parser does not seem to be the culprit.
The formatter should be.
2012-01-24 23:38:22 +01:00
KWSys Robot 99180a0bb2 KWSys Nightly Date Stamp 2012-01-24 00:05:16 -05:00
KWSys Robot 86c9604f98 KWSys Nightly Date Stamp 2012-01-23 00:05:11 -05:00
Eric NOULARD 1629615a10 CPack Documentation extraction from CMake script begins to work
- Enhance extract doc parser. Seems robust now. The legacy
   module documentation parser works as before ignoring
   the new markup.

 - Proof of concept for CPack (generic), CPack RPM and CPack Deb
   generator for macro and variables.
   Try cpack --help-command and cpack --help-variables
2012-01-22 13:31:24 +01:00
Rolf Eike Beer 54fd9e38bb fix uninitialized var in if(NOT foo bar STREQUAL "foo bar")
Also adds test to verify this.
2012-01-22 12:15:57 +01:00
Eric NOULARD 83e34dd9e6 Implement simple CMake script comment markup language.
The language is very simple. It use ##<keyword> special comment
which opens a structured documentation block and ##end closes it.
This may be used to extract documentation for macro as 'command'
and 'variables' such that cpack --help-command and --help-variable
does parse builtin modules files (CPack.cmake, CPackComponent.cmake,
...) in order to extract the corresponding doc.
2012-01-22 11:44:05 +01:00
Eric NOULARD c6a0169442 CPack begin the implementation of --help-command* and --help-variables*
This modifications set tries to keep the unified doc for cmake/ctest/cpack
while introducing tool specific documentation separated.
Some documentation sections for CMake do not fit well to CPack.
2012-01-22 11:42:49 +01:00
KWSys Robot 3be1282fd3 KWSys Nightly Date Stamp 2012-01-22 00:05:05 -05:00
KWSys Robot a668c9f059 KWSys Nightly Date Stamp 2012-01-21 00:05:04 -05:00
KWSys Robot b8ff1c1e72 KWSys Nightly Date Stamp 2012-01-20 00:05:03 -05:00
KWSys Robot f2baff920e KWSys Nightly Date Stamp 2012-01-19 00:05:08 -05:00
KWSys Robot b2838626dd KWSys Nightly Date Stamp 2012-01-18 00:05:03 -05:00
David Cole 05fbfd494e Merge topic 'link-shared-depend-cycle-issue-12647'
8e756d2 Tolerate cycles in shared library link interfaces (#12647)
2012-01-17 16:25:19 -05:00
David Cole a6bc62c5ac Merge topic 'fixSymlinkInZIP'
768cf91 Do not add the content of a file if it's a symlink.
2012-01-17 16:23:38 -05:00
David Cole 4dd47eb6c3 Merge topic 'compiler-version'
0df1942 Detect SGI MIPSpro compiler version with its id
a5e892c Document compiler version macro formats used for detection
d7c6f41 Detect HP compiler version with its id
3dd9fa9 Detect SunPro compiler version with its id
c198730 Detect Watcom compiler version with its id
5899b98 Detect Clang compiler version with its id
b8cfa65 Detect PGI compiler version with its id
6dae666 Detect IBM XL compiler version with its id
4080d55 Detect Borland compiler version with its id
2cc205a Detect Intel compiler version with its id (#11937)
a6d83cc Detect MSVC compiler version with its id
a662855 Detect GNU compiler version with its id (#6251)
fa7141f Add framework to detect compiler version with its id (#12408)
2012-01-17 16:22:53 -05:00
David Cole 48f159f871 Merge topic 'vs10-fix-pdbname-issue-12328'
655a7dd VS10: Fix /pdb option vcxproj element name (#12328)
2012-01-17 16:22:10 -05:00
Brad King 982b5d9eef cmInstallCommand: Fix line length for style
After indentation was fixed by a previous commit some lines became too
long.  Re-wrap to shorten them.
2012-01-17 14:03:45 -05:00
Yury G. Kudryashov a64b6185de cmInstallCommand: Remove duplicated sentence from docs
install(TARGETS ...) documentation described twice what happens on non-DLL
systems.
2012-01-17 10:02:13 -05:00
Yury G. Kudryashov 01ddef87e6 cmInstallCommand: Fix indentation error
A large block of code was indented 2 spaces less than it should.
2012-01-17 10:02:02 -05:00
KWSys Robot 795221775a KWSys Nightly Date Stamp 2012-01-17 00:05:03 -05:00
KWSys Robot 038ba372fa KWSys Nightly Date Stamp 2012-01-16 00:05:04 -05:00
KWSys Robot 9188dafac1 KWSys Nightly Date Stamp 2012-01-15 00:05:03 -05:00
KWSys Robot c121f3f5c4 KWSys Nightly Date Stamp 2012-01-14 00:05:03 -05:00
Daniel Nelson 3cab24a974 CPack Add top level directory in component install for Archive Generators
This patch fixes bug #0012129
Signed-off-by: Eric NOULARD <eric.noulard@gmail.com>
2012-01-13 22:01:53 +01:00
Brad King 8e756d2b9b Tolerate cycles in shared library link interfaces (#12647)
Since commit 183b9509 (Follow all dependencies of shared library private
dependencies, 2011-12-14) we honor LINK_INTERFACE_LIBRARIES when
following dependent shared libraries.  The link interface properties may
form a cycle if set incorrectly by a project.  Furthermore, the property
LINK_DEPENDENT_LIBRARIES may form a cycle if set incorrectly by hand
(though CMake should never generate one).  In either case, do not follow
the cycle forever when following the dependent shared library closure.
We only need to add dependency edges to the constraint graph once.

Add "LinkInterfaceLoop" test to cover this case.
2012-01-13 14:22:24 -05:00
Eric NOULARD 768cf91831 Do not add the content of a file if it's a symlink.
This wasn't necessary for TAR-like (TGZ, TBZ2, etc...) archive
because for those the size was 0. Either there is an error in
upstream libarchive concerning the size or we should not rely
on size of the entry for adding content.
2012-01-13 13:48:14 -05:00
KWSys Robot 50edbf0f22 KWSys Nightly Date Stamp 2012-01-13 00:05:04 -05:00
KWSys Robot c89ee4a10f KWSys Nightly Date Stamp 2012-01-12 00:05:10 -05:00
KWSys Robot bbed901178 KWSys Nightly Date Stamp 2012-01-11 00:05:34 -05:00
KWSys Robot 0020fc4517 KWSys Nightly Date Stamp 2012-01-10 00:05:04 -05:00
Brad King 655a7dd1d4 VS10: Fix /pdb option vcxproj element name (#12328)
The compiler tool uses "ProgramDataBaseFileName" but the linker tool
uses just "ProgramDataBaseFile".  Fix the generator accordingly.
2012-01-09 14:54:45 -05:00
David Cole 9362400d20 Merge topic 'early-exit-loop'
c959725 Exit the loop when we have determined the language.
2012-01-09 14:10:36 -05:00
David Cole 95b701b82a Merge topic 'fix-docs-typo'
9bffb3f Fix typos arguement -> argument.
2012-01-09 14:10:27 -05:00
David Cole 5a5c32e1f2 Merge topic 'update-libarchive'
6c611c6 libarchive: Restore CMake 2.6.3 as minimum version
2f5b677 libarchive: Update README-CMake.txt for new snapshot
156cb3b Merge branch 'libarchive-upstream' into update-libarchive
fd42bf1 libarchive: Set .gitattributes to allow trailing whitespace
4f4fe6e libarchive 3.0.2-r4051 (reduced)
65b6e19 libarchive: Avoid bogus conversion warning from PGI compiler
9ccaeb1 libarchive: Suppress PathScale compiler warnings
2309438 libarchive: Rename isoent_rr_move_dir parameter isoent => curent
b6ca96e libarchive: Include linux/types.h before linux/fiemap.h
f293b73 libarchive: Define _XOPEN_SOURCE=500 on HP-UX
6781a09 libarchive: Cleanup after ZLIB_WINAPI check
f15d757 libarchive: Remove hard-coded build configuration
3a9f449 libarchive: Use Apple copyfile.h API only if available
6af6b96 libarchive: Do not use MNT_NOATIME if not defined
02d5e40 libarchive: Check for 'struct statvfs' member 'f_iosize'
8b7ee30 libarchive: Do not use ST_NOATIME if not defined
...
2012-01-09 14:10:01 -05:00
David Cole 04b6f00bcf Merge topic 'ImproveCPackDoc-part1'
d2c9626 Document undocumented (but existing) cpack options (fix #0010134)
2012-01-09 14:09:50 -05:00
KWSys Robot 99a9205b4b KWSys Nightly Date Stamp 2012-01-09 00:05:03 -05:00
Stephen Kelly c9597259ea Exit the loop when we have determined the language. 2012-01-08 15:41:05 +01:00
Stephen Kelly 9bffb3fcf4 Fix typos arguement -> argument. 2012-01-08 15:32:51 +01:00
KWSys Robot e0d1e7e085 KWSys Nightly Date Stamp 2012-01-08 00:05:09 -05:00
KWSys Robot cad7508615 KWSys Nightly Date Stamp 2012-01-07 00:05:06 -05:00
KWSys Robot 2858f3433a KWSys Nightly Date Stamp 2012-01-06 00:05:03 -05:00
KWSys Robot a823d88149 KWSys Nightly Date Stamp 2012-01-05 00:05:03 -05:00
KWSys Robot d6f59a5293 KWSys Nightly Date Stamp 2012-01-04 00:05:09 -05:00
Eric NOULARD d2c9626d5a Document undocumented (but existing) cpack options (fix #0010134) 2012-01-03 16:47:35 +01:00
KWSys Robot df224727cf KWSys Nightly Date Stamp 2012-01-03 00:05:08 -05:00
Clinton Stimpson 131eed6607 cmake-gui: Improve interrupt granularity to fix bug 12649.
Instead of enabling interrupt only when a progress or message callback is called, add a new callback specifically for
interrupt.  This new callback is called from GetFatalErrorOccured() so cmake-gui can immediately report interrupt status
instead of calling queuing a call to cmSystemTools::SetFatalErrorOccured() and waiting for the progress or message
callback to be called to process that queued call.
2012-01-02 11:07:43 -07:00
KWSys Robot 40aedcbbae KWSys Nightly Date Stamp 2012-01-02 00:05:04 -05:00
KWSys Robot 7ce47e6908 KWSys Nightly Date Stamp 2012-01-01 00:05:04 -05:00
KWSys Robot 3a29d37b16 KWSys Nightly Date Stamp 2011-12-31 00:05:04 -05:00
KWSys Robot add4ad1098 KWSys Nightly Date Stamp 2011-12-30 00:05:04 -05:00
KWSys Robot 15cebeb047 KWSys Nightly Date Stamp 2011-12-29 00:05:05 -05:00
KWSys Robot 38bc4b5d9e KWSys Nightly Date Stamp 2011-12-28 00:05:03 -05:00
KWSys Robot 11385ba56a KWSys Nightly Date Stamp 2011-12-27 00:05:04 -05:00
KWSys Robot 6eb0779dbe KWSys Nightly Date Stamp 2011-12-26 00:05:03 -05:00
KWSys Robot 087b8feee4 KWSys Nightly Date Stamp 2011-12-25 00:05:03 -05:00
KWSys Robot 4fe0206e92 KWSys Nightly Date Stamp 2011-12-24 00:05:04 -05:00
KWSys Robot 9fc5faceea KWSys Nightly Date Stamp 2011-12-23 00:05:05 -05:00
Brad King ffdb37a4f7 Handle libarchive API change in archive_read_data_block
The offset argument type depends on the libarchive version.
2011-12-22 10:52:03 -05:00
KWSys Robot b81ef0533c KWSys Nightly Date Stamp 2011-12-22 00:05:19 -05:00
KWSys Robot b4c2f40653 KWSys Nightly Date Stamp 2011-12-21 00:05:03 -05:00
David Cole cc9319e717 Merge topic 'AddIncludePathForASMToDirectoryInformationFile'
ea68837 fix #12262: dependency scanning for ASM files
2011-12-20 14:21:52 -05:00
David Cole 7ca69a08cb Merge topic 'AddCommentToCDependencyScanner'
318b0cd Add comment about one more problem of the C depency scanner.
4bb08e0 Remove trailing whitespace
2011-12-20 14:21:43 -05:00
David Cole d6a33f6d38 Merge topic 'fix_double_project_cmake_build'
5badf5f Fix the case where cmake --build failed with two project cmds in one file.
2011-12-20 14:21:06 -05:00
David Cole 16dacf3a6a Merge topic 'AutomocFineTuning'
e474dcb automoc: improved warning message in relaxed mode
96fc5d5 automoc: default to strict mode, use CMAKE_AUTOMOC_RELAXED_MODE
2011-12-20 14:20:32 -05:00
Bill Hoffman 5badf5f734 Fix the case where cmake --build failed with two project cmds in one file.
This adds a test that uses two project commands in the same CMakeLists.txt
file.  It also adds a fix so that cmake --build will work in that case.
The fix sets the name of the last project command in the top level
CMakeLists.txt in the cache variable CMAKE_PROJECT_NAME.  This variable
is used by cmake --build to find the project name.
2011-12-20 14:16:25 -05:00
KWSys Robot 4e98500012 KWSys Nightly Date Stamp 2011-12-20 00:05:03 -05:00
KWSys Robot 4bb3edfcb4 KWSys Nightly Date Stamp 2011-12-19 00:05:03 -05:00
Alex Neundorf ea6883752b fix #12262: dependency scanning for ASM files
Now also CMAKE_ASM_INCLUDE_PATH is written into
CMakeDirectoryInformation.cmake, which is necessary to make
the dependency scanning for included files work.

Alex
2011-12-18 19:15:34 +01:00
Alex Neundorf 318b0cdf23 Add comment about one more problem of the C depency scanner.
Alex
2011-12-18 15:44:33 +01:00
Alex Neundorf 4bb08e0a9b Remove trailing whitespace
Alex
2011-12-18 15:42:48 +01:00
KWSys Robot 84094cd155 KWSys Nightly Date Stamp 2011-12-18 00:05:03 -05:00
KWSys Robot 61da11ecd7 KWSys Nightly Date Stamp 2011-12-17 00:05:11 -05:00
David Cole ef086b5e41 Merge topic 'qtdialog-quit'
56e0499 QtDialog: Set Ctrl+Q as the shortcut for quitting the program.
2011-12-16 10:15:39 -05:00
David Cole 1706a7ed5b Merge topic 'intel-error-regex-issue-12627'
56f29f4 CTest: Recognize Intel errors without space before colon (#12627)
2011-12-16 10:15:35 -05:00
David Cole 44b6b0b5df Merge topic 'remove-old-QtDialog-readme'
470bcfa Remove the apparently outdated README in Source/QtDialog.
2011-12-16 10:15:28 -05:00
David Cole 65db5b4a99 Merge topic 'osx-dependent-libraries'
5d99343 Do not link private dependent shared libraries on OS X > 10.4
2011-12-16 10:15:07 -05:00
David Cole 2f82798ef8 Merge topic 'transitive-shared-lib-depend'
183b950 Follow all dependencies of shared library private dependencies
2011-12-16 10:15:01 -05:00
David Cole be637d7a92 Merge topic 'fix-12441-show-custom-target-progress'
7ab1162 CMake: Fix progress reporting for custom targets (#12441)
2011-12-16 10:14:52 -05:00
David Cole 037616f194 Merge topic 'vs-version-ivar'
6571f46 Fix Intel Fortran .vfproj files for VS 10
2011-12-16 10:14:25 -05:00
David Cole 765e9d30ae Merge topic 'ctest-no-cdash-issue-12618'
52f937a CTest: Do not get CDash version without drop site (#12618)
2011-12-16 10:13:12 -05:00
David Cole f189c5d7d3 Merge topic 'xcode-rerun-issue-12616'
e8b8f0e Xcode: Create separate rerun dependencies for subprojects (#12616)
2011-12-16 10:12:36 -05:00
KWSys Robot b15071791c KWSys Nightly Date Stamp 2011-12-16 00:05:04 -05:00
Brad King c544545c63 KWSys: Correctly handle empty environment variables
Fix a crash which occurs when SystemTools::GetPath attempts to process
an empty environment variable.

Author: Vladimir Panteleev <vladimir@thecybershadow.net>
2011-12-15 15:45:09 -05:00
Raphael Kubo da Costa 56e0499104 QtDialog: Set Ctrl+Q as the shortcut for quitting the program.
QKeySequence::Quit does not work on all platforms, and since it
translates to Ctrl+Q on all platforms where it does work, Ctrl+Q was
hardcoded instead.
2011-12-15 08:51:50 -07:00
Brad King 56f29f48c2 CTest: Recognize Intel errors without space before colon (#12627)
Fix the regex meant to match errors of the form:

 C:\some\dir\source.cpp(17): catastrophic error: could not open source file "some_header.h"

to make the space between ')' and ':' optional.
2011-12-15 09:31:12 -05:00
Raphael Kubo da Costa 470bcfad7b Remove the apparently outdated README in Source/QtDialog.
Qt has been LGPL-licensed for a few years, so the clause mentioning only
developers with a paid Qt license can change the code seems to be
outdated.
2011-12-15 08:42:38 -05:00
Brad King 5d9934312d Do not link private dependent shared libraries on OS X > 10.4
The default OS X 10.4 linker incorrectly searches for dependencies of
linked shared libraries only under the -isysroot location.  It fails to
find dependencies of linked shared libraries in cases such as the
ExportImport test.  It produces errors like:

 /usr/libexec/gcc/i686-apple-darwin8/4.0.1/ld: warning can't open dynamic library:
 libtestLib3Imp.dylib
 referenced from: /.../ExportImport/Root/lib/libtestLib3lib.1.2.dylib
 (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
 /usr/libexec/gcc/i686-apple-darwin8/4.0.1/ld: Undefined symbols: _testLib3Imp
 referenced from libtestLib3lib expected to be defined in
 libtestLib3Imp.dylib

or with CMAKE_SKIP_RPATH off to enable install_name in the Export side:

 /usr/libexec/gcc/i686-apple-darwin8/4.0.1/ld: warning can't open dynamic library:
 /Developer/SDKs/MacOSX10.4u.sdk/.../ExportImport/Export/impl/libtestLib3Imp.dylib
 referenced from: /.../ExportImport/Export/libtestLib3lib.1.2.dylib
 (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
 /usr/libexec/gcc/i686-apple-darwin8/4.0.1/ld: Undefined symbols:_testLib3Imp
 referenced from libtestLib3lib expected to be defined in
 /.../ExportImport/Export/impl/libtestLib3Imp.dylib

Note how "/Developer/SDKs/MacOSX10.4u.sdk" is prepended to the dependent
library path.

Commit 2cff26fa (Support linking to shared libs with dependent libs,
2008-01-31) and commit 82fcaebe (Pass dependent library search path to
linker on some platforms, 2008-02-01) worked around the problem by
defining platform variable CMAKE_LINK_DEPENDENT_LIBRARY_FILES.  It tells
CMake to link to dependent libraries explicitly by their path thus
telling the linker where to find them.

Unfortunately the workaround had the side effect of linking dependent
libraries and defeats most benefits of LINK_INTERFACE_LIBRARIES.
Fortunately OS X 10.5 and above do not need to find transitive
dependencies at all so we can avoid the workaround on Modern OS X.
2011-12-15 08:14:30 -05:00
KWSys Robot 0a6543d957 KWSys Nightly Date Stamp 2011-12-15 00:05:09 -05:00
Alex Neundorf e474dcb231 automoc: improved warning message in relaxed mode
Alex
2011-12-14 19:12:15 +01:00
Brad King 183b95098e Follow all dependencies of shared library private dependencies
In cmComputeLinkDepends we compute the transitive closure of private
shared library dependencies.  When a shared library is added to this
closure we must follow all of its dependencies whether they are private
or public.  Previously we only followed the private dependencies.  Fix
the implementation to follow the public dependencies too.  Also extend
the ExportImport test to cover this case.
2011-12-14 11:33:01 -05:00
KWSys Robot 4ed1769186 KWSys Nightly Date Stamp 2011-12-14 00:05:05 -05:00
Johan Fänge 7ab1162eaa CMake: Fix progress reporting for custom targets (#12441)
Adds "include progress.make" to build.make, just like for
add_executable and add_library targets. The code was copied
from cmMakefileTargetGenerator::WriteCommonCodeRules().
2011-12-13 20:06:27 -05:00
Brad King 6571f4655a Fix Intel Fortran .vfproj files for VS 10
Commit 1be4b6f4 (Order VS local generator Version ivar values
consistently, 2011-11-10) fixed the Version ivar of the VS 10 local
generator by setting it correctly to 10 instead of leaving it at 7.
This broke generation of .vfproj files for the Intel Fortran plugin to
VS 10 by mixing VS 9 and 10 formats together in one file.  Teach the
local generator to pretend the Version is 9 for Intel Fortran targets.
2011-12-13 16:35:35 -05:00
Alex Neundorf 96fc5d5d07 automoc: default to strict mode, use CMAKE_AUTOMOC_RELAXED_MODE
automoc now defaults to strict mode, also with Qt4, i.e. it behaves as
the documentation says by default. I also inverted the switch
CMAKE_AUTOMOC_STRICT_MODE to CMAKE_AUTOMOC_RELAXED_MODE.
Docs and test adapted accordingly.

Alex
2011-12-13 22:11:47 +01:00
KWSys Robot 3c101429a4 KWSys Nightly Date Stamp 2011-12-13 00:05:03 -05:00
Valat Sébastien 52f937aea8 CTest: Do not get CDash version without drop site (#12618)
Avoid sleep for 3 seconds in ctest if CDashDropSite is empty.
2011-12-12 09:35:09 -05:00