| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Run the test with the ctest --build-noclean option. The test
CMakeLists.txt file already uses file(REMOVE_RECURSE) to clean out
downloaded data anyway. Some file removed by "msdev ... /clean" causes
CMake to re-run in the middle of the build step and file(REMOVE_RECURSE)
wipes out already-generated files.
|
|
|
|
|
| |
In ExternalData_URL_TEMPLATES add a leading slash to the path after
file:// only if the path does not already start with one.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit d46d8df0 (Re-implemented cmGeneratedFileStream to look like a
real stream and replace the destination file atomically, 2004-11-03) our
RenameFile implementation tries to deal with MoveFile not replacing
read-only files. In order to avoid the Get/SetFileAttributes pair we used
stat to test for existence of the destination file. This has a race in
which the destination could be created between the test for existence and
the MoveFile call.
Remove the stat call and use GetFileAttributes to detect whether the file
exists. This shortens the race but does not eliminate it. Use a loop to
try multiple times in case we lose the race. While at it, drop Win9x
support and always use MoveFileEx.
|
| |
| |
| |
| |
| | |
Relative path components need to be normalized out even if they appear
in the middle of a caller-supplied string.
|
| |
| |
| |
| |
| | |
Update the Module.ExternalData and RunCMake.ExternalData tests to cover
some of them.
|
| |
| |
| |
| |
| |
| |
| | |
Use private global variables _ExternalData_REGEX_(ALGO|EXT) to match the
possible hash algorithm names and extensions in regular expressions.
Use "file(<algo>)" instead of "cmake -E md5sum" to compute hashes
without a child process and to support more hash algorithms.
|
| |
| |
| |
| |
| |
| |
| | |
Use a trailing slash to reference a directory. Require that a list
of associated files be specified to select from within the directory.
One may simply use DATA{Dir/,REGEX:.*} to reference all files but
get a directory passed on the command line.
|
| |
| |
| |
| |
| |
| |
| | |
Refactor use of the ExternalData_SERIES_MATCH value to avoid assuming
that it has no ()-groups that interfere with group indexing.
Extend the Module.ExternalData test to cover this case.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Add a Module.ExternalData test to verify data retrieval and test
argument DATA{} references.
Add a RunCMake.ExternalData test to verify error handling and automatic
transformation of a raw data to a content link and staged object.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Automatic series recognition can generate false positives too easily
when the default series configuration is flexible enough to handle
common cases. Avoid false positives by requiring an explicit syntax to
activate series recognition. Choose the syntax DATA{<name>,:} to be
short, simple, and look like a vertical ellipsis.
This allows us to improve the default series match configuration. Allow
series references to contain one of the numbered file names. Allow '-'
as a separator in addition to '.' and '_'. Document what the default
configuration matches. Also provide more options to configure series
<name> parsing.
|
| |
| |
| |
| |
| | |
The 'store' action was part of an older design and is no longer needed.
Remove it.
|
| |
| |
| |
| |
| | |
Remove an outdated TODO line left from earlier designs.
Also fix a typo.
|
| |
| |
| |
| |
| |
| | |
Our content link and object download infrastructure supports only
blobs (files), not trees (directories). Do not allow references
to end in a slash.
|
| |
| |
| |
| |
| | |
Now that the module comes in a sufficiently new CMake it does not need
to support older versions.
|
|/
|
|
|
|
|
|
|
|
| |
Take files we previously distributed in ITK 4.3.1:
CMake/ExternalData.cmake
CMake/ExternalData_config.cmake.in
and add them for distribution in upstream CMake. Update the copyright
notice block format to follow CMake conventions.
|
|\
| |
| |
| |
| | |
6fbe3ce Exclude the LINK_LIBRARIES related properties from INTERFACE evaluation.
|
| |
| |
| |
| |
| |
| | |
These interface-related link-libraries properties are used to determine
the value of the other INTERFACE properties, so we were getting infinite
recursion and segfaults otherwise.
|
|\ \
| | |
| | |
| | |
| | | |
3853a6c spell: fix a few typos in comments
|
| | | |
|
| |/
|/| |
|
|\ \
| | |
| | |
| | |
| | |
| | | |
b98d14d Disallow porcelain to populate includes and defines of IMPORTED targets.
48a4cf2 Revert "Allow target_link_libraries with IMPORTED targets."
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
With similar reasoning to the parent commit, as downstreams, we can't
determine what $<CONFIG> generator expressions would be appropriate.
Upstream would have populated the INTERFACE_INCLUDE_DIRECTORIES with
config-specific generator expressions, possibly appropriate for
their DEBUG_CONFIGURATIONS. In theory, if we would add include
directories for a DEBUG intent, we would have to match the upstream
configurations for that.
Rather than attempting to discover the appropriate configurations
at this time, simplify the feature instead. The use of IMPORTED targets
with these commands could still be added in the future if targets
would export their DEBUG_CONFIGURATIONS somehow.
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 9cfe4f1b769597bd9ba179eba46572a9df27f64c.
It turns out that correctly adding the content to
the IMPORTED_LINK_INTERFACE_LIBARIES_<CONFIG> of an upstream target
from the buildsystem of a downstream project is not simple.
If upstream had added the INTERFACE content, the config-specific
properties would be determined by the DEBUG_CONFIGURATIONS of
upstream.
As downstream, we don't have any information about what
the DEBUG_CONFIGURATIONS of upstream were, so we can't determine
which configuration-specific properties to populate. The best we can do
is add it to all of them or add it to the ones downstream considers to
be DEBUG_CONFIGURATIONS, neither of which is a good solution.
So, removing the porcelain API for that is the best approach. A human
can still determine which properties to populate and use
the set_property API to populate the desired properies.
Another solution to this would be for upstream targets to publish
what they consider DEBUG_CONFIGURATIONS, but that can be added in
a future release.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
6063fef Output include directories as LOG messages, not warnings.
aa66748 Specify the target whose includes are being listed.
d70204a Only output includes once after the start of 'generate-time' when debugging.
0d46e9a Store includes from the same include_directories call together.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
During configure-time, GetIncludeDirectories may be called too, for example
if using the export() command. As the content can be different, it should
be output each time then.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Otherwise, we get a separate IncludeDirectoriesEntry for each include,
and that causes unnecessary and confusing splitting in the output when
debugging the INCLUDE_DIRECTORIES property.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
02d4e53 Generate new-style cmake code during export.
|
| | | |
| | | |
| | | |
| | | | |
Use empty end*() commands and lowercase commands.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
d7f1520 Don't wrap all targets in LINK_LIBRARIES in a TARGET_NAME genex.
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It is not necessary and the current state is unintentional. Before
this patch,
target_link_libraries(foo bar)
causes the LINK_LIBRARIES property of foo to contain
$<TARGET_NAME:bar>
instead of just
bar
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
e3b5eb6 Automatically link to the qtmain library when linking to QtCore.
6c8d8af Add the $<TARGET_POLICY> expression
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When using QAxServer, ensure that the qtmain library is excluded
by reporting an error at CMake time if it is not.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This new expression allows checking how a policy was set when a target
was created. That information is only recorded for a subset of policies,
so a whitelist is used.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
830246e Export the COMPATIBLE_INTERFACE_BOOL content properties
bd82bb4 Clear the link information in ClearLinkMaps.
e987991 Make INTERFACE determined properties readable in generator expressions.
d9afacc Exit early if we find an inconsistent property.
1800f70 Populate the link information cache before checking dependent properties.
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The cache here needs to be cleared if GetLinkInformation is called
at configure-time, such as during an export().
The next commit does exactly that, and without this patch,
the LinkLanguage test would fail.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The properties are evaluated as link-dependent interface properties when
evaluating the generator expressions.
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
Further messages about inconsistency are distracting.
|
| | | | |
| | | | |
| | | | |
| | | | | |
The dependent properties check can require the link information.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
f447db7 XCode generator won't infinitely parse compiler flags (bug #13354).
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When parsing the compiler flag list we reduce the search space on
each iteration to be the subset of the string we hadn't searched
before.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
24dcf0c Make sure generator expressions can be used with target_include_directories.
|
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | | |
Handle the case that a generator expression is used before treating
a non-target as an error.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
bc65b74 VS11: Fix VSExternalInclude test
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Set CMAKE_SUPPRESS_REGENERATION in the Lib1 and Lib2 projects so that
their .vcxproj files do not contain references to ZERO_CHECK. Such
references do not make sense when using the files in another .sln file.
This does not reduce the effectiveness of the test because real projects
that use include_external_msproject will have their own .vcxproj files not
generated by CMake anyway.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
c0f1af9 ExternalProject: Allow DEPENDS on normal targets (#13849)
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The ExternalProject_Add DEPENDS option adds two types of dependencies.
It adds a target-level build order dependency between the external
project target and the named targets. It also adds a file-level
dependency on the "done" stamp file of the named external project
targets. Targets not created by ExternalProject_Add have no such stamp
file and no _EP_STAMP_DIR property. Prior to commit d14c0243 (Refactor
repeated code into function, 2012-04-26) we unconditionally accepted an
empty stamp dir and generated a dependency on a non-existent file.
After that commit we generate an error that no stamp dir is set.
Skip the file-level dependency when the named dependency is not an
external project target in order to allow this use case. Teach the
ExternalProject test to cover the case.
|