Commit Graph

18867 Commits

Author SHA1 Message Date
Brad King cb21c548db Merge topic 'policy-refactor'
8329fc01 cmPolicies: Replace unused include.
5447ca1a cmMakefile: Remove CMP0001 handling to callers.
d0dcce15 cmMakefile: Simplify computation of ancient policy status.
658bfc5c cmMakefile: Remove redundant condition from policy status computation.
f4a25874 cmMakefile: Inline internal policy status method.
3c45471c cmPolicies: Enable RVO for internal method.
71e69fc9 cmPolicies: Store only state that users can set.
84e18056 cmMakefile: Convert recursion to loop.
2015-07-27 09:31:18 -04:00
Brad King d74abbea89 Merge topic 'refactor-cmMakefile-properties'
bbb507ae cmMakefile: Move the InitializeFromParent method
6ed9c7e0 cmState: Host buildsystem properties for directories.
8f0a5d84 cmState: Fix compilation on IBM XL compiler
9644a2d1 cmAlgorithms: Add cmMakeReverseIterator.
1e77de74 cmMakefile: Don't clear buildsystem properties.
c1bf1a59 CompileDefinitions: Add unit test for setting empty content.
2015-07-27 09:31:16 -04:00
Brad King 91a159245f Merge topic 'cmRange-API'
8d336875 cmMakefile: Use Ranges for buildsystem property access.
514a1dff cmAlgorithms: Add some convenient typedefs.
c7b39d06 cmMakefile: Split accessors for include directories and origins.
b2de25ad cmMakefile: Split accessors for compile options and origins.
d6239507 cmMakefile: Split accessors for compile definitions and origins.
ef17bbef cmMakefile: Separate storage of buildsystem properties and their origins.
a89c02ce cmMakefile: Out of line some API.
b19587e7 cmMakefile: Remove some references from APIs.
1fe71e2e cmAlgorithms: Move Range type out of private namespace.
8ea0b81d cmAlgorithms: Rename cmRange to cmMakeRange.
2015-07-27 09:31:14 -04:00
Kitware Robot 317df61fc8 CMake Nightly Date Stamp 2015-07-27 00:01:06 -04:00
Kitware Robot 983d7b5c3a CMake Nightly Date Stamp 2015-07-26 00:01:05 -04:00
Stephen Kelly bbb507aebc cmMakefile: Move the InitializeFromParent method 2015-07-25 14:53:06 +02:00
Stephen Kelly 6ed9c7e024 cmState: Host buildsystem properties for directories. 2015-07-25 14:53:05 +02:00
Brad King 8f0a5d84e3 cmState: Fix compilation on IBM XL compiler
Delay use of the PositionType constructor until after SnapshotDataType
is fully defined.
2015-07-25 14:52:05 +02:00
Stephen Kelly 8329fc016f cmPolicies: Replace unused include. 2015-07-25 14:48:37 +02:00
Stephen Kelly 5447ca1a94 cmMakefile: Remove CMP0001 handling to callers. 2015-07-25 14:48:37 +02:00
Stephen Kelly d0dcce15f4 cmMakefile: Simplify computation of ancient policy status. 2015-07-25 14:48:37 +02:00
Stephen Kelly 658bfc5c52 cmMakefile: Remove redundant condition from policy status computation. 2015-07-25 14:48:36 +02:00
Stephen Kelly f4a25874a2 cmMakefile: Inline internal policy status method. 2015-07-25 14:48:36 +02:00
Stephen Kelly 3c45471c2d cmPolicies: Enable RVO for internal method. 2015-07-25 14:48:36 +02:00
Stephen Kelly 71e69fc93b cmPolicies: Store only state that users can set.
cmPolicies::PolicyMap does not need to store the REQUIRED_ALWAYS or
REQUIRED_IF_USED states as they are statically determined.
2015-07-25 14:48:36 +02:00
Stephen Kelly 84e1805666 cmMakefile: Convert recursion to loop. 2015-07-25 14:48:36 +02:00
Kitware Robot 26d1a9d356 CMake Nightly Date Stamp 2015-07-25 00:01:05 -04:00
Kitware Robot d546133d49 CMake Nightly Date Stamp 2015-07-24 00:01:07 -04:00
Ben Boeckel 594bafe527 cmake: add --trace-expand option
The --trace option is helpful, but sometimes, what you're looking for is
deep under many layers of function calls and figuring out what instance
of the function call you're looking at is tedious to determine (usually
involving patching and message()). Instead, add a --trace-expand option
to trace while expanding commands into what CMake actually sees.
2015-07-23 15:33:10 -04:00
Brad King 3a0db0223b CMake 3.3.0 2015-07-23 08:49:45 -04:00
Kitware Robot 900554b021 CMake Nightly Date Stamp 2015-07-23 00:01:06 -04:00
Stephen Kelly 9644a2d11c cmAlgorithms: Add cmMakeReverseIterator. 2015-07-22 21:23:50 +02:00
Stephen Kelly 1e77de7411 cmMakefile: Don't clear buildsystem properties.
Instead put a sentinal empty entry in the container when a property
is overwritten.  Use this sentinal when reading from the containers.

Use iterator::operator+(size_type) directly instead of std::advance,
because this only really makes sense if using RandomAccessIterators.
2015-07-22 21:23:49 +02:00
Stephen Kelly 8d336875b3 cmMakefile: Use Ranges for buildsystem property access.
Don't return vector copies.
2015-07-22 20:25:48 +02:00
Stephen Kelly 514a1dff5b cmAlgorithms: Add some convenient typedefs. 2015-07-22 20:25:47 +02:00
Stephen Kelly c7b39d06f9 cmMakefile: Split accessors for include directories and origins. 2015-07-22 20:25:47 +02:00
Stephen Kelly b2de25aded cmMakefile: Split accessors for compile options and origins. 2015-07-22 20:25:46 +02:00
Stephen Kelly d6239507b2 cmMakefile: Split accessors for compile definitions and origins. 2015-07-22 20:25:45 +02:00
Stephen Kelly ef17bbefd7 cmMakefile: Separate storage of buildsystem properties and their origins.
This simplifies some existing and upcoming algorithms.
2015-07-22 20:25:43 +02:00
Stephen Kelly a89c02ce3d cmMakefile: Out of line some API. 2015-07-22 20:06:23 +02:00
Stephen Kelly b19587e7d7 cmMakefile: Remove some references from APIs. 2015-07-22 20:06:22 +02:00
Brad King e00e8713de Merge topic 'export-no-custom-target'
7e9f908e export: Reject custom target exports earlier (#15657)
3b09398a Tests: Teach RunCMake.export to enable languages only when needed
2015-07-22 11:04:32 -04:00
Brad King 4c3d431210 Merge topic 'target-directory-properties'
45c5f8ca Add SOURCE_DIR and BINARY_DIR target properties
2015-07-22 11:04:30 -04:00
Stephen Kelly 1fe71e2ef0 cmAlgorithms: Move Range type out of private namespace. 2015-07-22 10:58:19 -04:00
Stephen Kelly 8ea0b81d20 cmAlgorithms: Rename cmRange to cmMakeRange. 2015-07-22 10:58:19 -04:00
Brad King a398acd02f Revert "CMake 3.3.0"
This reverts commit 0e3cfc134c.
Due to VS 2015 RTM being released, additional changes are needed
to CMake 3.3.
2015-07-22 08:35:21 -04:00
Kitware Robot 91d2497286 CMake Nightly Date Stamp 2015-07-22 00:01:06 -04:00
Brad King 7e9f908ef5 export: Reject custom target exports earlier (#15657)
Diagnose and reject custom targets given to the export() command
immediately.  Previously we would generate an internal error later.
2015-07-21 14:39:10 -04:00
Clifford Yapp 45c5f8cad2 Add SOURCE_DIR and BINARY_DIR target properties
This will allow project code to recover the directory information about
where a target was created.
2015-07-21 14:19:35 -04:00
Brad King 5b2754d41f Merge topic 'remove-special-MACROS-handling'
41bb831f cmMakefile: Remove special handling of MACROS property.
2015-07-21 09:22:23 -04:00
Brad King e13c189743 Merge topic 'remove-special-LINK_DIRECTORIES-handling'
881613c4 cmMakefile: Remove special handling of LINK_DIRECTORIES property.
35734260 cmMakefile: Inline only use of GetLinkDirectories.
2015-07-21 09:22:21 -04:00
Brad King ae64efa1ce Merge topic 'cmState-Directory'
9ebc7502 cmState: Extract a Directory class.
27ec21db cmState: Forward-declare a type earlier.
2015-07-21 09:22:19 -04:00
Brad King 93b393e74c Merge topic 'remove-Properties-accessor'
c6055d9d cmMakefile: Remove GetProperties method.
cbe3ee58 cmMakefile: Add a PropertyKeys accessor.
2015-07-21 09:22:17 -04:00
Brad King 64aa41b248 Merge topic 'clean-up-include_regular_expression'
4efda261 cmMakefile: Remove special handling of INCLUDE_REGULAR_EXPRESSION.
2015-07-21 09:22:15 -04:00
Brad King ce597a022b Merge topic 'minor-cleanups'
cff2dc34 cmLocalUnixMakefileGenerator3: Port away from the Parent.
5505bff7 cmMakefile: Add include which we use.
2007d11c cmState: Remove unused variable.
a622b829 cmGetCMakePropertyCommand: Clean up VARIABLES handling.
52f22616 cmListFileBacktrace: Constify API.
fc1c7cf8 Genex: Store a backtrace, not a pointer to one.
4dc45707 cmMakefile: Fix indentation.
12c82fd8 cmMakefile: Remove dead code.
f19653eb CodeLite: Remove unused code.
2015-07-21 09:22:13 -04:00
Brad King b953d526d1 Merge topic 'remove-ListFileStack'
640fc5b5 cmMakefile: Remove unused ListFileStack.
54cc0c0e cmMakefile: Port some users of ListFileStack to cmState.
e77c4666 cmMakefile: Remove obsolete condition.
8e7d3030 cmMakefile: Simplify setting of current snapshot.
6083ec9a cmMakefile: Implement LISTFILE_STACK property in terms of cmState.
647b533b cmMakefile: Implement FormatListFileStack in terms of cmState.
2015-07-21 09:22:10 -04:00
Kitware Robot 533798275c CMake Nightly Date Stamp 2015-07-21 00:01:05 -04:00
Brad King 0e3cfc134c CMake 3.3.0 2015-07-20 11:05:01 -04:00
Kitware Robot 04b45acc3d CMake Nightly Date Stamp 2015-07-20 00:01:05 -04:00
Stephen Kelly 41bb831fc9 cmMakefile: Remove special handling of MACROS property. 2015-07-19 16:01:39 +02:00
Kitware Robot 0d48bb6273 CMake Nightly Date Stamp 2015-07-19 00:01:06 -04:00
Stephen Kelly 9ebc7502b2 cmState: Extract a Directory class.
Move Directory-scoped state accessors to it.  This will be expanded
with directory property state soon.
2015-07-18 19:37:58 +02:00
Stephen Kelly 27ec21dbb2 cmState: Forward-declare a type earlier. 2015-07-18 19:09:51 +02:00
Stephen Kelly c6055d9d4c cmMakefile: Remove GetProperties method.
The storage details of properties do not belong in the API.
2015-07-18 18:59:41 +02:00
Stephen Kelly cbe3ee58ca cmMakefile: Add a PropertyKeys accessor. 2015-07-18 18:59:18 +02:00
Stephen Kelly cff2dc34f9 cmLocalUnixMakefileGenerator3: Port away from the Parent. 2015-07-18 18:43:17 +02:00
Stephen Kelly 5505bff7ae cmMakefile: Add include which we use.
Don't rely on this through the cmLocalGenerator include.
2015-07-18 18:40:36 +02:00
Stephen Kelly 2007d11caf cmState: Remove unused variable. 2015-07-18 14:40:12 +02:00
Stephen Kelly a622b829bd cmGetCMakePropertyCommand: Clean up VARIABLES handling. 2015-07-18 14:39:51 +02:00
Stephen Kelly 4efda261fe cmMakefile: Remove special handling of INCLUDE_REGULAR_EXPRESSION.
It costs an extra cmMakefile member and extra code to maintain in
directory property handling.  Remove documentation note that it
is read-only and specify high-level command to populate it.
2015-07-18 14:10:34 +02:00
Stephen Kelly 881613c4ab cmMakefile: Remove special handling of LINK_DIRECTORIES property.
There is no need to handle it in a special way.
2015-07-18 13:56:48 +02:00
Stephen Kelly 357342602d cmMakefile: Inline only use of GetLinkDirectories. 2015-07-18 13:45:43 +02:00
Stephen Kelly 640fc5b54a cmMakefile: Remove unused ListFileStack. 2015-07-18 13:27:19 +02:00
Stephen Kelly 54cc0c0e1f cmMakefile: Port some users of ListFileStack to cmState. 2015-07-18 13:26:06 +02:00
Stephen Kelly e77c46664c cmMakefile: Remove obsolete condition. 2015-07-18 13:22:51 +02:00
Stephen Kelly 8e7d303077 cmMakefile: Simplify setting of current snapshot. 2015-07-18 13:17:24 +02:00
Stephen Kelly 6083ec9a78 cmMakefile: Implement LISTFILE_STACK property in terms of cmState. 2015-07-18 13:12:07 +02:00
Stephen Kelly 647b533bce cmMakefile: Implement FormatListFileStack in terms of cmState. 2015-07-18 13:11:45 +02:00
Stephen Kelly 52f2261685 cmListFileBacktrace: Constify API. 2015-07-18 11:10:15 +02:00
Kitware Robot e7fbd489e0 CMake Nightly Date Stamp 2015-07-18 00:01:05 -04:00
Stephen Kelly fc1c7cf85d Genex: Store a backtrace, not a pointer to one.
The storage of a pointer means that the ownership and lifetime are
externally determined, which is harder to reason about. It also imposes
API constraints, requiring APIs to return references to backtraces.

This pointer storage was introduced in commit v3.1.0-rc1~425^2~3 (genex:
remove the need for backtraces, 2014-05-23).  As backtraces are now cheap
to copy around, just do that instead.
2015-07-17 22:14:37 +02:00
Stephen Kelly 4dc4570734 cmMakefile: Fix indentation. 2015-07-17 22:14:37 +02:00
Stephen Kelly 12c82fd8c0 cmMakefile: Remove dead code. 2015-07-17 22:14:36 +02:00
Stephen Kelly f19653eb94 CodeLite: Remove unused code. 2015-07-17 22:14:36 +02:00
Brad King a5412fbab4 Merge topic 'ctest-change-id'
601ff0ec CTest: Optionally add a ChangeId attribute on XML Site tags
2015-07-17 10:36:17 -04:00
Zack Galbreath 601ff0ec55 CTest: Optionally add a ChangeId attribute on XML Site tags
Add variable CTEST_CHANGE_ID to configure the setting.  This allows
CTest clients to give CDash information about what change is being
tested so that CDash can take actions to report the results (e.g. to a
pull request page).
2015-07-17 10:26:28 -04:00
Kitware Robot 386e1f796c CMake Nightly Date Stamp 2015-07-17 00:01:04 -04:00
Kitware Robot 651acac338 CMake Nightly Date Stamp 2015-07-16 00:01:05 -04:00
Brad King 47765a5767 Merge topic 'update-kwsys'
540f0253 Merge branch 'upstream-kwsys' into update-kwsys
dc822da8 KWSys 2015-07-10 (c9336bcf)
2015-07-15 09:08:22 -04:00
Brad King 540f02531b Merge branch 'upstream-kwsys' into update-kwsys 2015-07-15 09:07:04 -04:00
Brad King 77fa27a9f5 Merge topic 'makefile-target-messages'
f0cad193 Tests: Add test for TARGET_MESSAGES global property
1d398478 Makefile: Optionally disable target completion messages in build output
d560b46f CMakeGenericSystem: Recognize Watcom WMake generator as Makefile generator
2015-07-15 09:05:51 -04:00
Brad King 5bd01a4b69 Merge topic 'vs-nsight-tegra-attributes'
8c0afaf4 VS: Add more Nsight Tegra generator Android property settings
2015-07-15 09:05:49 -04:00
Kitware Robot 94755bd34d CMake Nightly Date Stamp 2015-07-15 00:01:07 -04:00
Mikhail Filimonov 8c0afaf450 VS: Add more Nsight Tegra generator Android property settings
Extend the Nsight Tegra project generator to add bunch of properties
with the backing variables to fine-tune the generated projects.

Add target properties that map to all "Configuration" PropertyGroups for
each configuration:

* ANDROID_ARCH
* ANDROID_STL_TYPE

Add target properties that map to the AntBuild section of vcxproj files:

* ANDROID_ANT_ADDITIONAL_OPTIONS
* ANDROID_ASSETS_DIRECTORIES
* ANDROID_JAR_DEPENDENCIES
* ANDROID_JAR_DIRECTORIES
* ANDROID_JAVA_SOURCE_DIR
* ANDROID_NATIVE_LIB_DEPENDENCIES
* ANDROID_NATIVE_LIB_DIRECTORIES
* ANDROID_PROCESS_MAX
* ANDROID_PROGUARD
* ANDROID_PROGUARD_CONFIG_PATH
* ANDROID_SECURE_PROPS_PATH
* ANDROID_SKIP_ANT_STEP

Reviewed-by: Dmitry Polyanitsa <dpolyanitsa@nvidia.com>
2015-07-14 14:24:05 -04:00
Michael Ensslin 1d3984780d Makefile: Optionally disable target completion messages in build output
Add a TARGET_MESSAGES property to control whether Makefile targets print
the "Built target " completion messages.  Default to ON to preserve
existing behavior.
2015-07-14 13:57:58 -04:00
Brad King 7a40998329 Merge topic 'coverage_no_tests'
e6cf1c48 ctest_coverage: Always do coverage for CTEST_EXTRA_COVERAGE_GLOB
2015-07-14 10:34:30 -04:00
Brad King ead29a4e3d Merge topic 'refactor-rule-var-includes'
c736de7b Factor an <INCLUDES> placeholder out of <FLAGS> in rule variables
6f94b03c Place <DEFINES> before <FLAGS> consistently across compilers
2015-07-14 10:34:28 -04:00
Brad King e7251049a4 Merge topic 'factor-out-common-generator'
80d75246 cmNinjaTargetGenerator: Restore addition of Fortran format flags
2015-07-14 10:34:24 -04:00
Kitware Robot 860c2055e5 CMake Nightly Date Stamp 2015-07-14 00:01:05 -04:00
Zack Galbreath e6cf1c489c ctest_coverage: Always do coverage for CTEST_EXTRA_COVERAGE_GLOB
Do not ignore a coverage request if CTEST_EXTRA_COVERAGE_GLOB was
specified.  Prior to this change, if no lines of code were covered by
any tests then CTest would neglect to generate a Coverage.xml file.
This change allows us to report uncovered files for a project with no
tests.
2015-07-13 14:17:59 -04:00
Brad King c736de7b28 Factor an <INCLUDES> placeholder out of <FLAGS> in rule variables
Teach the Makefile and Ninja generators to substitute for an <INCLUDES>
placeholder instead of putting -I in <FLAGS>.  Update our values for

  CMAKE_<LANG>_COMPILE_OBJECT,
  CMAKE_<LANG>_CREATE_ASSEMBLY_SOURCE, and
  CMAKE_<LANG>_CREATE_PREPROCESSED_SOURCE

to place <INCLUDES> just before <FLAGS>.
2015-07-13 10:49:46 -04:00
Brad King 80d75246d4 cmNinjaTargetGenerator: Restore addition of Fortran format flags
Restore call to AppendFortranFormatFlags accidentally dropped by
commit 0837538e (cmCommonTargetGenerator: Adopt GetFlags method,
2015-07-09).  It was added originally by commit 6a56740e
(cmNinjaTargetGenerator: Add Fortran flag generation, 2015-07-09).
2015-07-13 09:54:33 -04:00
Brad King 8c9c9aa07f CMake 3.3.0-rc4 2015-07-13 09:20:37 -04:00
Brad King e30fe3eba2 Merge topic 'fix-command-rename'
d4f032b5 cmState: Restore renamed commands on cleanup.
2015-07-13 09:17:46 -04:00
Brad King b3a405badd Merge branch 'fix-command-rename' into release 2015-07-13 08:51:06 -04:00
Kitware Robot c8f46af11b CMake Nightly Date Stamp 2015-07-13 00:01:05 -04:00
Stephen Kelly d4f032b546 cmState: Restore renamed commands on cleanup.
Commit v3.3.0-rc1~196^2~7 (cmake: Simplify command clean up
loop., 2015-04-12) introduced a bug that built-in commands which
were renamed no longer had their original name restored when
cleanup is performed between configure runs.  Check for that
and restore the commands with their original name.

Extend the complex test for this. That test is run by ctest with
the --build-two-config command line option.
2015-07-12 10:09:54 +02:00
Kitware Robot e3f5e5d5b4 CMake Nightly Date Stamp 2015-07-12 00:01:04 -04:00
Kitware Robot b1e43a5647 CMake Nightly Date Stamp 2015-07-11 00:01:05 -04:00
Brad King 92b3bd50fe Merge topic 'autorcc-qt-5.1'
9a271e13 cmQtAutoGenerators: Fix rcc invocation for Qt 5.0 and 5.1 (#15644)
2015-07-10 08:51:24 -04:00