Notes |
|
(0032104)
|
Brad King
|
2013-01-15 10:14
|
|
The change was introduced in CMake 2.8.9 by this commit:
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d14c0243 [^]
In this hunk:
# Depend on other external projects (file-level).
set(file_deps)
get_property(deps TARGET ${name} PROPERTY _EP_DEPENDS)
foreach(dep IN LISTS deps)
- get_property(dep_stamp_dir TARGET ${dep} PROPERTY _EP_STAMP_DIR)
- list(APPEND file_deps ${dep_stamp_dir}${cfgdir}/${dep}-done)
+ _ep_get_step_stampfile(${dep} "done" done_stamp_file)
+ list(APPEND file_deps ${done_stamp_file})
endforeach()
the use of _ep_get_step_stampfile enforces the presence of the _EP_STAMP_DIR on the target with the error message you see.
However, the old code blindly accepted an empty string when the property does not exist, and results in a build-time error about the missing stamp file. |
|
|
(0032105)
|
Brad King
|
2013-01-15 10:16
|
|
In order to make an ExternalProject target depend on a library target, just use
ExternalProject_Add(MyExternalProject ...)
add_dependencies(MyExternalProject MyDependencyLibrary)
This will add the build-order dependency. |
|
|
(0032108)
|
Ivan Bednyakov
|
2013-01-16 04:08
|
|
Thank you for the reply. I saw this difference in the ExternalProject module (but probably didn't analize it at all :))).
The main reason of creating the bug report is that my project with some dependencies (included via ExternalProject_Add) has been built fine at CMake-2.8.8 but at some other machine with the newer CMake (2.8.10) it cannot be built.
The mentioned solution actually solved the problem.
Thank you! |
|
|
(0032109)
|
Brad King
|
2013-01-16 10:01
(edited on: 2013-01-16 10:36) |
|
|
|
(0033187)
|
Robert Maynard
|
2013-06-03 09:05
|
|
Closing resolved issues that have not been updated in more than 4 months. |
|