Commit Graph

12189 Commits

Author SHA1 Message Date
Brad King 9fb1a9cf1d sha2: Wrap long lines in third-party declarations 2011-11-16 11:05:13 -05:00
Brad King b0853b5fae Disable file() and string() hash commands during bootstrap
We do not compile support for the cryptographic hashes during bootstrap.
Disable the APIs that use them.
2011-11-16 11:03:30 -05:00
Brad King 9da8340a6d sha2: Suppress Borland warnings in third-party code
The sha2 implementation performs cleanup on local variables.  Suppress
the warning instead of fixing it to minimize modification.
2011-11-16 10:54:56 -05:00
Brad King 23b3df76a0 sha2: Use KWIML fixed-size integer constant macros
Define SHA_UINT32_C and SHA_UINT64_C using the KWIML versions.
Use them in place of hard-coded UL and ULL constant suffixes.
2011-11-16 10:48:10 -05:00
Brad King 2e9c26cf96 Add string(MD5) and string(SHA*) commands to compute hashes
Provide a CMake-language binding to these cryptographic hashes.  Add a
string() command API for MD5, SHA1, SHA224, SHA256, SHA384, and SHA512.
2011-11-16 10:29:35 -05:00
Brad King 293a7f4e2a cmCryptoHash: Provide factory "New" method
Construct a cmCryptoHash subclass instance based on the name of the
desired hash algorithm.
2011-11-16 10:15:44 -05:00
Brad King 46ab0561fc sha2: Use "static const" instead of "const static" declarations
Fix old-style declarations in the original code.
2011-11-16 10:15:44 -05:00
Brad King 38771d3bdf Add file(SHA*) commands to compute cryptographic hashes
Add a file() command API for SHA1, SHA224, SHA256, SHA384, and SHA512.
2011-11-16 10:15:44 -05:00
Brad King 73efd4a504 sha2: Build as part of CMakeLib
Mangle sha2 symbols to avoid conflict with system libs.
2011-11-16 10:15:44 -05:00
Brad King c1856a33d4 sha2: Use KWIML fixed-size integer types and endian-ness
These are more portable than those named in the original sha2 code.
2011-11-16 10:15:44 -05:00
Brad King fcc3ce5b0d Merge branch 'import-sha2' into crypto-hash 2011-11-16 10:15:13 -05:00
Brad King 042f7965c3 Add file(MD5) command to compute cryptographic hash
Provide a CMake-language binding to the md5sum function previously
available only by "cmake -E md5sum".
2011-11-16 10:15:01 -05:00
Brad King ed7cef5634 Factor Compute(File|String)MD5 into cmCryptoHash helper
Define an abstract API around the backend hash algorithm.  Expose
ifstream errors to HashFile callers.  Always try opening the file.
Succeed only if the end of file is reached without error.
2011-11-16 10:14:53 -05:00
KWSys Robot cbf453eeb6 KWSys Nightly Date Stamp 2011-11-16 03:25:07 -05:00
David Cole 7efd93cd72 Merge topic 'vs-version-ivar'
c92ffec Enumerate VS11 version explicitly in local generators
1be4b6f Order VS local generator Version ivar values consistently
2011-11-15 14:39:25 -05:00
David Cole 1e055d374e Merge topic 'automoc_qt5'
bafe5cc Fix style.
74b9392 Update comments and method names to not be Qt4 specific.
812dab0 Don't assume the existence of QT_MAJOR_VERSION.
2011-11-15 14:39:00 -05:00
David Cole f1197ff0da Merge topic 'fix-11213-vs10-mfc-support'
537020f Tests: Nudge MFC test to pass on VS 6 dashboards (#11213)
51f442e VS11: Update InstallRequiredSystemLibraries.cmake for VS11 (#11213)
d85ab7a Tests: Add environment logging to the MFC test (#11213)
011694c VS10: Use expected values for UseOfMfc (#11213)
a2e6d24 Tests: Fix MFC test to work with VS 10 and later (#11213)
2011-11-15 14:38:56 -05:00
Brad King c92ffece80 Enumerate VS11 version explicitly in local generators
Since the parent commit the local generator Version ivar may be
compared for ordering.  Convert comparisons:

  "==VS10" becomes ">=VS10"
  "!=VS10" becomes "< VS10"

to support an explicit enumeration value for VS11 with no change
in behavior.
2011-11-14 09:50:47 -05:00
Brad King 1be4b6f463 Order VS local generator Version ivar values consistently
Move the Version member to the top cmLocalVisualStudioGenerator class
and set it consistently for instances created by all the global
generator versions.  Use an enumeration type with values scaled by a
factor of 10 so we can handle VS 7.1 without out-of-order numbers.

VS 7.1 support for SuppressStartupBanner was broken by commit 25116a3c
(Fix CMAKE_VERBOSE_MAKEFILE for VS10 vcxproj files, 2011-10-11) because
it assumed comparison of VS version numbers works.  Now it does.
2011-11-14 09:47:31 -05:00
KWSys Robot 590c37e207 KWSys Nightly Date Stamp 2011-11-14 00:05:04 -05:00
Brad King 5d6cb1308d KWSys: Fix wrong spelling of __INTEL_COMPILER
Author: Hans Johnson <hans-johnson@uiowa.edu>
Change-Id: I31a29a8b53e5262b76530b8ea80a1a66cff7b3f7
2011-11-13 12:35:04 -05:00
Brad King 2f8f7ec56a KWSys: Remove trailing whitespace in SystemTools.cxx 2011-11-13 12:25:05 -05:00
KWSys Robot 9aa10f8045 KWSys Nightly Date Stamp 2011-11-13 11:32:56 -05:00
KWSys Robot b90b6969f6 KWSys Nightly Date Stamp 2011-11-11 00:10:05 -05:00
Stephen Kelly b8c8cab242 Merge remote-tracking branch 'origin/master' into automoc_qt5 2011-11-10 15:46:13 +01:00
KWSys Robot 131d0ae4fc KWSys Nightly Date Stamp 2011-11-10 00:10:58 -05:00
Stephen Kelly bafe5cc6e9 Fix style. 2011-11-10 00:57:21 +01:00
Stephen Kelly 74b9392eb9 Update comments and method names to not be Qt4 specific. 2011-11-09 23:26:09 +01:00
Stephen Kelly 812dab067e Don't assume the existence of QT_MAJOR_VERSION.
Also handle Qt5SrcTools_MAJOR_VERSION.
2011-11-09 23:20:20 +01:00
KWSys Robot 5675ec5e49 KWSys Nightly Date Stamp 2011-11-09 00:10:28 -05:00
David Cole 6478502efc Merge topic 'fix-typo'
6d51f5f Fix typo.
2011-11-08 14:43:44 -05:00
David Cole a5579b76f0 Merge topic 'FixAutomocFromCCMakeFromPATH'
83d02ee make automoc work when using ccmake via PATH (#12551)
2011-11-08 14:43:38 -05:00
David Cole 5a3a5ba052 Merge topic 'watcom-cmake-shortpath-issue-12548'
23381d8 Watcom: Use shortpath to CMake if full path has parens (#12548)
2011-11-08 14:43:31 -05:00
David Cole a985a9e0f7 Merge topic 'framework-with-space'
e74f374 Fix linking to OS X Frameworks named with spaces (#12550)
2011-11-08 14:43:18 -05:00
David Cole e4085569a9 Merge topic 'FixTargetsInVirtualFoldersForEclipseIndigo'
d31b1ac Eclipse: quote the build dir (to make it work with spaces)
0576331 Eclipse: make targets work from any directory
2011-11-08 14:43:10 -05:00
David Cole 7ee0f580eb Merge topic 'EclipseWarnIfBuildDirIsSubDirOfSrcDir'
4b93022 Eclipse: warn if CMAKE_BINARY_DIR is subdir of CMAKE_SOURCE_DIR
2011-11-08 14:43:02 -05:00
David Cole 3452dadf89 Merge topic 'AddMocOptionsToAutomoc'
2c648ab add documentation for the AUTOMOC_MOC_OPTIONS property
52719a1 automoc: fix #12541, support moc options
2011-11-08 14:42:51 -05:00
David Cole 6c2f30822b Merge topic 'DontCrashAutomocWithEmptyCompileDefs'
1ecc55a Automoc: fix the fix, need to use std::string, not just char* pointer
8c8305f don't crash in automoc with empty COMPILE_DEFINITIONS property
2011-11-08 14:42:46 -05:00
David Cole d8d4e801ac Merge topic 'fix-12549-one-more-SCC-setting'
b0f0b3e VS: Add VS_SCC_AUXPATH target property (#12549)
2011-11-08 14:42:41 -05:00
David Cole 67e3b64ab5 Merge topic 'automoc_qt5'
c208ab8 Also run moc automatically with Qt5.
2011-11-08 14:42:36 -05:00
KWSys Robot 7fe3484f20 KWSys Nightly Date Stamp 2011-11-08 00:11:46 -05:00
KWSys Robot 3de9669e1b KWSys Nightly Date Stamp 2011-11-07 00:10:07 -05:00
KWSys Robot fce8e81895 KWSys Nightly Date Stamp 2011-11-06 00:10:30 -04:00
KWSys Robot 0727f38f71 KWSys Nightly Date Stamp 2011-11-05 00:08:47 -04:00
Stephen Kelly 6d51f5fa3c Fix typo. 2011-11-04 19:54:18 +01:00
David Cole 011694c269 VS10: Use expected values for UseOfMfc (#11213)
Use expected values for the UseOfMfc xml element in
VS 10 .vcxproj files.

  CMAKE_MFC_FLAG=1 maps to "Static"
  CMAKE_MFC_FLAG=2 maps to "Dynamic"
  all other values map to "false"

Thanks to Randy Schott and McBen for their patches which
served as inspiration and motivation for getting this done.

See also http://public.kitware.com/Bug/view.php?id=11224
2011-11-04 13:29:41 -04:00
KWSys Robot ae09bab3d6 KWSys Nightly Date Stamp 2011-11-04 00:10:22 -04:00
Alex Neundorf 83d02ee52b make automoc work when using ccmake via PATH (#12551)
In ccmake, cmake::GetCMakeCommand() returns "/cmake" when ccmake
was started from the PATH, i.e. by simply running "ccmake"

Alex
2011-11-03 22:55:42 +01:00
Brad King 23381d83d8 Watcom: Use shortpath to CMake if full path has parens (#12548)
The Watcom WMake tool has trouble running commands in paths that have
parentheses.  We already convert most commands to a shortpath for Watcom
if the path contains a space, but the use of $(CMAKE_COMMAND) hides the
true path from that conversion.  Factor the shortpath conversion code
out into a new ConvertShellCommand method.  Teach it to convert paths
that contain parentheses as well as spaces.  Use the new method to
convert the value of $(CMAKE_COMMAND) and other helper variables.
2011-11-03 09:23:55 -04:00
KWSys Robot 22bf096474 KWSys Nightly Date Stamp 2011-11-03 00:10:09 -04:00
Brad King e74f3744ae Fix linking to OS X Frameworks named with spaces (#12550)
Teach cmComputeLinkInformation to generate the "-framework" option as a
separate link item preceding the actual framework name.  Then escape the
framework name to pass as an argument through a shell.  This fixes the
link line for frameworks with spaces in the name.

The build system generators that call cli.GetItems() and generate the
final list of items on the link line already handle escaping correctly
for items that are paths.  However, for raw link items like "-lfoo" they
just pass through to the command line verbatim.  This is incorrect.  The
generators should escape these items too.  Unfortunately we cannot fix
that without introducing a new CMake Policy because projects may already
be passing raw link flags with their own escapes to work around this
bug.  Therefore we punt on this bug for now and go with the above fix.
2011-11-02 08:58:41 -04:00
KWSys Robot d4afce1ddd KWSys Nightly Date Stamp 2011-11-02 00:09:52 -04:00
Alex Neundorf d31b1aca3f Eclipse: quote the build dir (to make it work with spaces)
When creating the targets for Eclipse, quote the directory
in which make should change. Otherwise it will fail if the
path contains with spaces.

Alex
2011-11-01 21:23:52 +01:00
Alex Neundorf 4b930220be Eclipse: warn if CMAKE_BINARY_DIR is subdir of CMAKE_SOURCE_DIR
Eclipse doesn't handle this case well. When doing out-of-source builds
we create a linked resource which points to CMAKE_SOURCE_DIR, so the
user can browse the source dir in Eclipse. This is not possible
when the build dir is a subdir of the source dir.

Alex
2011-11-01 21:13:35 +01:00
Alex Neundorf 2c648ab7e2 add documentation for the AUTOMOC_MOC_OPTIONS property
Alex
2011-11-01 19:54:04 +01:00
David Cole 55659c4ea9 Merge topic 'FixCMAKE_BUILD_TOOL_doc'
83b13a2 Fix old reference to CMAKE_MAKE_PROGRAM inside CMAKE_BUILD_TOOL doc.
2011-11-01 14:26:38 -04:00
David Cole 5531e5e162 Merge topic 'doc-link_directories-misconception'
30e4a52 Tell people that link_directories() is not what they are searching for
2011-11-01 14:26:27 -04:00
David Cole c2300e6265 Merge topic 'fix-12539-ctestconfig-from-build-dir'
76ecdd8 CTest: Look for CTestConfig.cmake in build dir first, then source dir
2011-11-01 14:26:21 -04:00
David Cole e0d97b6728 Merge topic 'fix-12383-clear-ctest-vecs'
499c104 CTest: Clear custom vectors before populating (#12383)
2011-11-01 14:26:16 -04:00
David Cole 9d87a9251e Merge topic 'ctest-memcheck-log-newline-issue-12538'
26b6794 Source/cmCTest.cxx: Add missing newline (#12538)
2011-11-01 14:25:54 -04:00
Robert Dailey b0f0b3e440 VS: Add VS_SCC_AUXPATH target property (#12549)
Maps to SccAuxPath tag in VCPROJ files.
2011-11-01 11:29:08 -04:00
Brad King 13d19468d0 KWSys: Address Intel compiler remarks
CommandLineArguments.cxx:
 remark #181: argument is incompatible with corresponding format
  string conversion

SystemInformation.cxx:
 remark #193: zero used for undefined preprocessing identifier "_WIN32"
 warning #177: variable "Regebx" was declared but never referenced

SystemTools.cxx(375):
 remark #444: destructor for base class "std::vector<char*>" is not virtual
  class kwsysDeletingCharVector : private kwsys_stl::vector<char*>

Author: Hans Johnson <hans-johnson@uiowa.edu>
Change-Id: Ibc899c3ba14990158ef7bbabace4b435b22495c3
2011-11-01 10:49:25 -04:00
Stephen Kelly c208ab8d5c Also run moc automatically with Qt5.
The method of running moc hasn't changed in Qt5.
2011-11-01 14:48:45 +01:00
Alex Neundorf 52719a1d66 automoc: fix #12541, support moc options
This commit adds a new target property AUTOMOC_MOC_OPTIONS, which
can be set to add extra options for the moc invocations done via automoc.
This is equivalent to the OPTIONS parameter in the qt4_wrap_cpp() macro.

Alex
2011-11-01 14:33:11 +01:00
Alex Neundorf 1ecc55aa7b Automoc: fix the fix, need to use std::string, not just char* pointer
We need to take a copy of the property values, since the returned
char* pointer is reused by the following GetProperty() calls

Alex
2011-11-01 13:59:14 +01:00
KWSys Robot 5e1c2f81a7 KWSys Nightly Date Stamp 2011-11-01 00:10:07 -04:00
Alex Neundorf 057633151a Eclipse: make targets work from any directory
Set the working directory for make targets which are associated
to virtual folders, otherwise Eclipse simply runs make from the
current working directory (where Eclipse has been started), and
where probably not the correct makefile is located.

Alex
2011-10-31 23:37:01 +01:00
Alex Neundorf 8c8305f286 don't crash in automoc with empty COMPILE_DEFINITIONS property
Reported by Laszlo Papp:
http://www.cmake.org/pipermail/cmake/2011-October/047089.html

Alex
2011-10-31 22:07:12 +01:00
KWSys Robot 07e88ae449 KWSys Nightly Date Stamp 2011-10-31 00:09:47 -04:00
Eric NOULARD 83b13a250c Fix old reference to CMAKE_MAKE_PROGRAM inside CMAKE_BUILD_TOOL doc. 2011-10-30 22:34:18 +01:00
KWSys Robot b1e9e55c6c KWSys Nightly Date Stamp 2011-10-30 00:10:04 -04:00
KWSys Robot ba5c6493d9 KWSys Nightly Date Stamp 2011-10-29 00:09:52 -04:00
KWSys Robot 6a6f21412d KWSys Nightly Date Stamp 2011-10-28 00:09:53 -04:00
Rolf Eike Beer 30e4a5204f Tell people that link_directories() is not what they are searching for
Judging from the questions I see on the #cmake IRC channel this is one
of the most common pitfalls for people coming from other build systems,
especially plain Makefiles.  Finally put this into the documentation to
stop people getting fooled into using this.

Text by Brad King.
2011-10-27 09:23:05 -04:00
KWSys Robot 9a6257a40b KWSys Nightly Date Stamp 2011-10-27 00:09:59 -04:00
Jean-Christophe Fillion-Robin 76ecdd8d16 CTest: Look for CTestConfig.cmake in build dir first, then source dir
Provide the ability to configure CTest with settings different from the ones
available in the source tree by checking first if CTestConfig.cmake
exists in the build tree.

The motivation is to allow build system checking out external project to
test and/or package them and submit the associated results to a different
dashboard than the one specified (or not) in the source of the external
project.

For example, the build system of Slicer can checkout, build, test
and package what I will  call "extensions". These extensions can be developed
by third parties who can test and submit to their own dashboard / project.
When checked out by Slicer build system, the default dashboard can now be
overwritten by adding a custom CTestConfig.cmake to the build directory.
And if not overwritten, it would avoid to create CTestConfig.cmake within
the source checkout of the extension.
2011-10-26 23:23:03 -04:00
David Cole 499c104572 CTest: Clear custom vectors before populating (#12383)
Important when calling ctest commands in a loop from a script.
Each time Populate gets called, it uses the current definition
of the variable. Without the clear, it was accumulating additional
identical values each time through the loop.
2011-10-26 00:19:46 -04:00
KWSys Robot 2b0f8c7de0 KWSys Nightly Date Stamp 2011-10-26 00:09:51 -04:00
David Cole bd216ef63a Merge topic 'some-documentation-fixes'
ceff6ec ccmake: Factor toggle key help instructions.
19da106 ccmake: Document '/' key.
fd63219 ccmake: Align 'g' and 'q' key instructions.
bfb0ed4 Usage: Add missing exepath argument in get_prerequisites documentation.
de51264 Usage: Print help, version and copyright options in usage information.
9ae0604 Usage: Document all options printing the version number.
3353d84 Usage: Document all options printing usage information.
1b612ca Usage: Document -j|--parallel option in help message.
6be15ed Doxygen: Remove dependency on VTK when building doxygen.
a92f14f Doxygen: Fix warnings.
faede37 Doxygen: Generate call graph and relationships.
dd13ecd Doxygen: Improve code documentation.
d0b3a7f Fix typo.
d3d7e45 Remove trailing white-spaces.
2011-10-25 15:34:26 -04:00
David Cole 4701843974 Merge topic 'SourceGroupsForEclipse'
66bd543 Eclipse: fix #12417, don't create wrong src pathentries
70de8bd Eclipse: detect number of CPUs, set CMAKE_ECLIPSE_MAKE_ARGUMENTS accordigly
117f2b8 Eclipse: add Build and Clean targets to targets
c3f30bd Eclipse: move code for generating links to targets into separate function
cef6bd9 Eclipse: move code for generating links to projects into separate function
b6d4de7 Eclipse: add virtual folder for each target
2011-10-25 15:34:23 -04:00
David Cole 61b49402d7 Merge topic 'AutomocFindQ_OBJECTAlwaysInHeader'
5e8e9ad automoc: always run moc on the cpp file if there is a foo.moc included
ea8ac9f Add copyright notices
56aa6ff automoc:run moc on the header if the source file contains include "foo.moc"
2011-10-25 15:34:19 -04:00
David Cole 5576655f36 Merge topic 'fix-12490-shorten-gcov-filenames'
2f309cb CTest: Add COVERAGE_EXTRA_FLAGS cache variable (#12490)
2011-10-25 15:34:16 -04:00
David Cole 1df94c5a03 Merge topic 'fix-12522-avoid-xcode-env-spew'
5a94d09 Xcode: Avoid spewing the environment on every script run (#12522)
2011-10-25 15:34:07 -04:00
David Cole 88b5578920 Merge topic 'fix-vs11-sln-header'
f0d66ab VS11: Fix comment generated at the top of *.sln files
2011-10-25 15:34:03 -04:00
David Cole 039d1b1fd9 Merge topic 'cmake-link-interface-libraries'
d9cbba7 Initialize LINK_INTERFACE_LIBRARIES target property with a variable
2011-10-25 15:33:48 -04:00
Bernhard Walle 26b6794fd5 Source/cmCTest.cxx: Add missing newline (#12538)
In the log entry, the newline is missing. The output without the newline
character is a bit strange, like

 SetCTestConfigurationFromCMakeVariable:MemoryCheckCommand:CTEST_MEMORYCHECK_COMMANDSetCTestConfiguration:MemoryCheckCommand:/usr/bin/valgrind

Instead of

 SetCTestConfigurationFromCMakeVariable:MemoryCheckCommand:CTEST_MEMORYCHECK_COMMAND
 SetCTestConfiguration:MemoryCheckCommand:/usr/bin/valgrind

This patch changes this to add a newline.

Signed-off-by: Bernhard Walle <walle@corscience.de>
2011-10-25 08:34:42 -04:00
KWSys Robot 676fb3b2ac KWSys Nightly Date Stamp 2011-10-25 00:09:56 -04:00
Stephen Kelly d9cbba7c2c Initialize LINK_INTERFACE_LIBRARIES target property with a variable
Define variable CMAKE_LINK_INTERFACE_LIBRARIES to initialize the
value of this property when a target is created.  This allows authors
to write

  set(CMAKE_LINK_INTERFACE_LIBRARIES "")

to disable transitive linking to implementation dependencies of shared
libraries on platforms where it is possible.
2011-10-24 16:09:29 -04:00
Brad King 89742d73cc KWSys: Fix Doxygen warnings
Author: Nicolas Despres <nicolas.despres@gmail.com>
2011-10-24 10:05:10 -04:00
KWSys Robot 27e405ddb1 KWSys Nightly Date Stamp 2011-10-24 00:09:58 -04:00
Nicolas Despres ceff6ec525 ccmake: Factor toggle key help instructions. 2011-10-23 22:18:14 +02:00
Nicolas Despres 19da10629d ccmake: Document '/' key. 2011-10-23 22:18:14 +02:00
Nicolas Despres fd63219557 ccmake: Align 'g' and 'q' key instructions.
They were miss-aligned with the 'enter' key instruction.

Before:
----
Press [enter] to edit option           CMake Version 2.8.3.20110107-g4b05a-dirty
Press [c] to configure
Press [h] for help         Press [q] to quit without generating
----

After:
----
Press [enter] to edit option           CMake Version 2.8.3.20110107-g4b05a-dirty
Press [c] to configure
Press [h] for help           Press [q] to quit without generating
----
2011-10-23 22:18:14 +02:00
Nicolas Despres de512644d8 Usage: Print help, version and copyright options in usage information.
There were missing for ctest, cpack and ccmake.
2011-10-23 22:18:14 +02:00
Nicolas Despres 9ae0604a62 Usage: Document all options printing the version number. 2011-10-23 22:18:14 +02:00
Nicolas Despres 3353d84c14 Usage: Document all options printing usage information. 2011-10-23 22:18:14 +02:00
Nicolas Despres 1b612caafe Usage: Document -j|--parallel option in help message. 2011-10-23 22:18:13 +02:00
Nicolas Despres a92f14f338 Doxygen: Fix warnings. 2011-10-23 22:18:08 +02:00
Nicolas Despres dd13ecd005 Doxygen: Improve code documentation. 2011-10-23 22:15:30 +02:00
Nicolas Despres d0b3a7fa48 Fix typo. 2011-10-23 22:15:30 +02:00