Commit Graph

28144 Commits

Author SHA1 Message Date
Stephen Kelly 3a041c5949 Introduce cmState::Snapshot.
Create snapshots for buildsystem directories during configure time.

This class will be extended in follow up commits to snapshot
all values in the cmState.
2015-04-28 07:57:01 +02:00
Stephen Kelly ae6c8a9d68 cmState: Store the Source and Binary directories. 2015-04-28 07:50:57 +02:00
Stephen Kelly 86f3cd0f7e cmMakefile: Require the localGenerator in the constructor.
Move the contents of cmMakeile::SetLocalGenerator to the Initialize
method.
2015-04-28 07:50:57 +02:00
Stephen Kelly a48aebcb67 cmLocalGenerator: Require a parent in the constructor.
Pass the parent though cmGlobalGenerator::CreateLocalGenerator.

This will make it easy to initialize state scopes independent of
cmMakefile.
2015-04-28 07:50:52 +02:00
Stephen Kelly e4c78b37ce cmMakefile: Inline SetHome* methods into last remaining caller. 2015-04-28 07:50:02 +02:00
Stephen Kelly 410f39a43e cmMakefile: Delegate storage of Home dirs to the cmake class.
There is no need to duplicate these on every cmMakefile.
2015-04-28 07:50:01 +02:00
Kitware Robot 397b629860 CMake Nightly Date Stamp 2015-04-28 00:01:04 -04:00
Stephen Kelly 8d9f39f4c3 include: Ask for permission, rather than forgiveness.
Check that a non-optional file exists before attempting to include
it.  This makes more sense than relying on an error case deeper
within cmListFileCache.
2015-04-27 22:10:51 +02:00
Stephen Kelly bf24b6c501 Tests: Guard more CTest tests against parallel execution. 2015-04-27 22:03:40 +02:00
Brad King c46490dad5 cmSystemTools: Fix IsPathToFramework implementation (#15535)
Use more reliable logic to detect if a path ends in ".framework".  The
old logic added by commit v2.4.0~791 (add better support for framework
linking, 2005-12-26) did not account for paths not ending in it at all.
With a 9-character path the logic and "npos == -1" happens to make the
old check pass.
2015-04-27 11:49:29 -04:00
Brad King 75bd5ca06a Tests: Fix RunCMake.CTest to tolerate source line number changes 2015-04-27 10:46:52 -04:00
Bjoern Thiel ff183986df InstallRequiredSystemLibraries: Fix MBCS MFC detection (#15531)
Fix the logic added by commit v3.0.0-rc5~9^2
(InstallRequiredSystemLibraries: MBCS MFC is optional on VS 12,
2014-05-06).  Do not test content of MSVC${v}_MFC_DIR until after the
variable is set.
2015-04-27 10:09:38 -04:00
Kitware Robot dd062b2b50 CMake Nightly Date Stamp 2015-04-27 00:01:11 -04:00
Kitware Robot 5cdd4c4323 CMake Nightly Date Stamp 2015-04-26 00:01:04 -04:00
Kitware Robot afc1f88c00 CMake Nightly Date Stamp 2015-04-25 00:01:04 -04:00
Kitware Robot 1f305902be CMake Nightly Date Stamp 2015-04-24 00:01:05 -04:00
Nils Gladitz 1b03332eee Help: Clarify that CMAKE_SIZEOF_VOID_P is specific to the target machine 2015-04-23 17:39:49 +02:00
Brad King 4fc4742477 Tests: Fix ExportImport on AIX with GCC
The iface_test_bld gets the excludedFromAll include directory with
"-isystem" because it is added indirectly through an imported target.
On AIX with GCC the -isystem flag causes sources to be preprocessed as:

  # 3 "/.../excludedFromAll.h" 2 3 4

The flags after the file name are documented here:

  https://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html

and the "4" flag says that following content is extern "C".  This
causes the excludedFromAll function to be declared as a C symbol
and not mangled for C++, which fails to link later because the
symbol is really provided as C++.

Work around this by setting the NO_SYSTEM_FROM_IMPORTED target property
on iface_test_bld.  Somehow iface_test_exp does not end up with -isystem
so we do not need this workaround for that target.
2015-04-23 10:53:39 -04:00
Brad King ebb54e02c4 Merge topic 'cpack-deb-linitian-md5hash'
75b0e167 CPackDeb: Add basic package tests
fdfe4586 CPackDeb: Fix lintian md5sum file warning
2015-04-23 09:04:43 -04:00
Brad King 9fd1f5494f Merge topic 'allow-empty-CMAKE_TOOLCHAIN_FILE'
22926dd6 Allow CMAKE_TOOLCHAIN_FILE to be an empty string
2015-04-23 09:04:41 -04:00
Brad King 46098b0676 Merge topic 'check-compiler-flag-clang'
680ebebc Check*CompilerFlag: Add another pattern for Clang (#15526)
2015-04-23 09:04:39 -04:00
Brad King ad247d82b1 Merge topic 'mingw-64'
c775072a cmGeneratorExpressionEvaluationFile: Add missing sys/types.h include
2015-04-23 09:04:37 -04:00
Brad King b03063b904 Merge topic 'bash-completion-updates'
2ecf168f bash-completion: Avoid using _init_completion when not defined
2015-04-23 09:04:35 -04:00
Brad King 195a724c57 Merge topic 'deterministic-CTest-tests'
b5b20d20 ctest: Treat ENV{CTEST_OUTPUT_ON_FAILURE} as a boolean
fcf9cf6c Tests: Make a CTest test deterministic.
2015-04-23 09:04:33 -04:00
Raffi Enficiaud 75b0e1679c CPackDeb: Add basic package tests
Tests of generated component based deb packages with lintian and dpkg.
Also includes basic file name check.
2015-04-23 09:03:10 -04:00
Raffi Enficiaud fdfe4586a0 CPackDeb: Fix lintian md5sum file warning
Lintian warned about invalid md5sum file permissions.
2015-04-23 09:02:49 -04:00
Kitware Robot b229f40f07 CMake Nightly Date Stamp 2015-04-23 00:01:05 -04:00
Andrey Pokrovskiy 22926dd651 Allow CMAKE_TOOLCHAIN_FILE to be an empty string
Do not try to include() an empty string in the generated CMakeSystem
module.
2015-04-22 16:06:44 -04:00
Brad King 6189cdda79 Merge topic 'ExternalProject-depend-INTERFACE'
e1c6df39 ExternalProject: Allow dependencies on INTERFACE libraries
c0502faa ExternalProject: Fix error message typo
2015-04-22 11:16:45 -04:00
Brad King 1468f31988 Merge topic 'ExternalProject-genex'
b470d618 Help: Add notes for topic 'ExternalProject-genex'
0273ef14 ExternalProject: Allow generator expressions with LOG_* options (#15287)
7bd8cfb8 ExternalProject: Allow generator expressions in initial cache options
1cf43dcf Tests: Add case to cover ExternalProject with subdirectories
2015-04-22 11:16:43 -04:00
Brad King 8f95392879 Merge topic 'fix-CTestTestSerialOrder-parallel-env'
2f4b13b3 Tests: Protect CTestTestSerialOrder from environment (#15524)
2015-04-22 11:16:40 -04:00
Brad King 5e98ba0cd8 Merge topic 'doc-ctest-env-formatting'
a61e0994 Help: Fix formatting of env var refs in ctest.1 manual
2015-04-22 11:16:38 -04:00
Brad King 981bdc09c6 Merge topic 'doc-find_library-file-name'
941e3bd2 Help: Document in find_library how to search for static libraries
2015-04-22 11:16:36 -04:00
Brad King df302bcc55 Merge topic 'autogen-no-rcc-stderr'
258ba828 QtAutogen: Process 'rcc --list' stdout and stderr separately (#15523)
acd4f01f cmQtAutoGenerators: Split CR stripping out to helper function
2015-04-22 11:16:33 -04:00
Dan Kegel 680ebebc1a Check*CompilerFlag: Add another pattern for Clang (#15526)
Match 'optimization flag ... not supported' messages.
2015-04-22 10:59:57 -04:00
Brad King c775072ad5 cmGeneratorExpressionEvaluationFile: Add missing sys/types.h include
This is needed for 'mode_t', and on mingw-w64 in particular.  We added
use of 'mode_t' in commit v3.2.0-rc1~421^2 (file(GENERATE): Use
permissions of input file if present, 2014-07-22).
2015-04-22 09:59:51 -04:00
Gaëtan Lehmann 2ecf168f19 bash-completion: Avoid using _init_completion when not defined
With the current version of homebrew one gets:

   bash: _init_completion: command not found

Avoid this by initializing manually when the function is not defined.
2015-04-22 09:40:17 -04:00
Brad King 941e3bd2b6 Help: Document in find_library how to search for static libraries
This has been implemented since commit v2.6.0~295 (Make find_library
test for the library file as named, 2008-02-06).  Add the docs.
2015-04-22 09:29:55 -04:00
Brad King e1c6df392b ExternalProject: Allow dependencies on INTERFACE libraries
Respect INTERFACE library property whitelist.  Check that a target has
type "UTILITY" before querying other properties.
2015-04-22 08:48:52 -04:00
Brad King a61e09948f Help: Fix formatting of env var refs in ctest.1 manual 2015-04-22 08:30:51 -04:00
Brad King b5b20d2050 ctest: Treat ENV{CTEST_OUTPUT_ON_FAILURE} as a boolean
Having this variable in the environment should not be enough to activate
the behavior.  It must also not be set to a false value (or empty value).
2015-04-22 08:27:19 -04:00
Kitware Robot 6b229b4802 CMake Nightly Date Stamp 2015-04-22 00:01:05 -04:00
Brad King faede40b46 cmComputeLinkInformation: Reduce 'if' nesting in AddItem
Also add a comment explaining why interface libraries still get a link
item.
2015-04-21 14:03:02 -04:00
Brad King 2f4b13b32d Tests: Protect CTestTestSerialOrder from environment (#15524)
Reported-by: Stephen Kelly <steveire@gmail.com>
2015-04-21 11:47:42 -04:00
Brad King c0502faa4b ExternalProject: Fix error message typo 2015-04-21 11:32:13 -04:00
Brad King b470d61864 Help: Add notes for topic 'ExternalProject-genex' 2015-04-21 10:51:08 -04:00
Andrey Pokrovskiy 0273ef1469 ExternalProject: Allow generator expressions with LOG_* options (#15287)
Use file(GENERATE) to write the logging wrapper scripts to evaluate
generator expressions.  Use a per-config script names in case the
content varies by configuration.
2015-04-21 10:51:08 -04:00
Andrey Pokrovskiy 7bd8cfb813 ExternalProject: Allow generator expressions in initial cache options
Use file(GENERATE) to write the initial cache file so that we can
evaluate generator expressions.  Use a per-config initial cache file
name in case the content varies by configuration.
2015-04-21 10:50:29 -04:00
Brad King 1cf43dcf7c Tests: Add case to cover ExternalProject with subdirectories
Add an ExternalProjectSubdir test directory with a minimal test showing
use of ExternalProject_Add for a source tree in a subdirectory.  This
will allow us to easily add test external projects that cover specific
behavior where the client project must check results.
2015-04-21 10:40:52 -04:00
Brad King 5a5ef00106 Merge topic 'clean-up-cmMakefile'
8dc3a67c cmMakefile: Out-of-line the directory methods.
0f3c8cfa cmMakefile: Use method abstraction to access directories.
b288a997 cmMakefile: Rename SetStart* directory API to SetCurrent*.
932d53bc cmMakefile: Remove redundant method duplication.
32b8f03a cmMakefile: Port users of GetStart* methods to new names.
54d6a918 cmMakefile: Rename GetCurrent{Output,Binary}Directory.
55d80d0a cmMakefile: Rename GetCurrent{,Source}Directory.
b23cf06f cmake: Remove redundant start directories.
fcf246ac cmMakefile: Populate Home directories on initialize.
8878bea7 cmake: Initialize Home directories on cmake for find-package mode.
044dc815 Use the Home directories from the cmake class where intended.
d67e8f24 cmake: Fix directory used to find the cache
1ea085d1 cmMakefile: Initialize dir definitions early.
f034bb2f Remove redundant calls to MakeStartDirectoriesCurrent.
3a68c323 cmMakefile: Fix wrong parameter names.
2015-04-21 09:42:07 -04:00