The typical ExternalProject is a bit of a black-box to the containing project, and a list of sources is something most users will not have... That's another reason why I am skeptical as to the usefulness of this feature to the general ExternalProject consumer.
On Fri, Aug 12, 2011 at 11:24 AM, Yuri Timenkov <y...@timenkov.ru> wrote: > Ok, I'll double-check this next monday. That's why I was confused. > > On the second thought if you have a list of sources you can add them as > dependencies in addition to build rule, then step will be re-run as > expected. May be it's my case. > > Anyways I need to do some more investigation. > > Best wishes, > Yuri > > On Aug 12, 2011 6:54 PM, "David Cole" <david.c...@kitware.com> wrote: >> You can re-open the issue if you would like to have more discussion there. >> >> The build step does not always re-run. If you have an "update" step >> before the build step, then the update step always re-runs, and the >> build step after it, but many external projects do not have an update >> step, or anything else that "always" forces a build when there's a >> "Build Solution" executed on the containing project. (If it does, then >> that's a bug, because it's only supposed to re-execute steps that >> *need* to be re-executed.) >> >> >> Thanks, >> David >> >> >> On Fri, Aug 12, 2011 at 10:46 AM, Yuri Timenkov <y...@timenkov.ru> wrote: >>> Hello David, >>> It seems that I can't add notes to closed bug, so I ask you directly. >>> I don't quite understand what kind of automatic dependencies you're >>> talking >>> about. >>> If I change file in this way and do "build solution" cmake will >>> automatically launch build for external project. IIRC it always executes >>> build when I build solution. >>> As I said, for my local purposes I can use modified ExternalProject.cmake >>> file, but I thought such feature might be useful for others. >>> >>> On Fri, Aug 12, 2011 at 5:24 PM, Mantis Bug Tracker >>> <man...@public.kitware.com> wrote: >>>> >>>> A NOTE has been added to this issue. >>>> ====================================================================== >>>> http://public.kitware.com/Bug/view.php?id=12322 >>>> ====================================================================== >>>> Reported By: Yuri >>>> Assigned To: David Cole >>>> ====================================================================== >>>> Project: CMake >>>> Issue ID: 12322 >>>> Category: CMake >>>> Reproducibility: always >>>> Severity: tweak >>>> Priority: normal >>>> Status: resolved >>>> Resolution: won't fix >>>> Fixed in Version: CMake 2.8.6 >>>> ====================================================================== >>>> Date Submitted: 2011-07-08 05:27 EDT >>>> Last Modified: 2011-08-12 09:24 EDT >>>> ====================================================================== >>>> Summary: Ability to add source files to target >>>> created >>>> with >>>> ExternalProject >>>> Description: >>>> In my scenario I have part of project which should be built with >>>> different >>>> toolset (Main project is built with VC2010, and some legacy libraries >>>> with >>>> VC6 >>>> and VS2005). >>>> Basically nested project contains >>>> set(Proj_SRCS src1.cpp src2.cpp...) >>>> add_library(Proj MODULE ${Proj_SRCS}) >>>> >>>> So set() command may be moved into separate file which in turn could be >>>> included >>>> into main project. So I want to see them there to edit in IDE, but not >>>> compile. >>>> >>>> The only possibility to add files to custom target - is specify SOURCES >>>> in >>>> add_custom_target command (It's impossible to call cmTarget::AddSources >>>> from >>>> outside). However, ExternalProject_Add macro doesn't add any sources. >>>> >>>> Moreover, there is a kind of chicken-and-egg problem: all arguments are >>>> parsed >>>> and set as property on target. But you can't set property while there is >>>> no >>>> target. >>>> >>>> So as quick work-around I made private copy of ExternalProject.cmake and >>>> pass >>>> sources as directory property. >>>> >>>> So I'm asking for ideas how to properly implement this feature: modify >>>> somehow >>>> parameters parsing in ExternalProject, or may be introduce command which >>>> allows >>>> adding new sources to existing targets (I'm not sure if this will work, >>>> but for >>>> me it sounds like target_link_libraries command). >>>> ====================================================================== >>>> >>>> ---------------------------------------------------------------------- >>>> (0027196) David Cole (manager) - 2011-08-12 09:23 >>>> http://public.kitware.com/Bug/view.php?id=12322#c27196 >>>> ---------------------------------------------------------------------- >>>> I don't think we should do this. >>>> >>>> If we allow source files from external projects to be added directly to >>>> the IDE >>>> representations of the external projects in the containing project, then >>>> people >>>> will expect the dependencies to work correctly automatically... >>>> >>>> The dependencies will not work automatically. You will have to >>>> forcefully >>>> trigger an incremental rebuild of the external project on *any* build of >>>> the >>>> containing project, and then hope that its build system appropriately >>>> picks up >>>> only the incremental build changes necessary. >>>> >>>> I view this as fragile, and would not like to see it go in CMake unless >>>> it >>>> can >>>> be made robust, and shown to work automatically and as developers would >>>> expect >>>> in the vast majority of use cases. >>>> >>>> ---------------------------------------------------------------------- >>>> (0027197) David Cole (manager) - 2011-08-12 09:24 >>>> http://public.kitware.com/Bug/view.php?id=12322#c27197 >>>> ---------------------------------------------------------------------- >>>> If you need more help on this issue/topic, please send email to the >>>> CMake >>>> users >>>> list asking for advice there. There's a much wider readership of the >>>> mailing >>>> list than there is of the bug database. >>>> >>>> Issue History >>>> Date Modified Username Field Change >>>> ====================================================================== >>>> 2011-07-08 05:27 Yuri New Issue >>>> 2011-08-12 09:19 David Cole Assigned To => David Cole >>>> 2011-08-12 09:19 David Cole Status new => assigned >>>> 2011-08-12 09:23 David Cole Note Added: 0027196 >>>> 2011-08-12 09:23 David Cole Status assigned => >>>> resolved >>>> 2011-08-12 09:23 David Cole Fixed in Version => CMake 2.8.6 >>>> 2011-08-12 09:23 David Cole Resolution open => won't >>>> fix >>>> 2011-08-12 09:24 David Cole Note Added: 0027197 >>>> ====================================================================== >>>> >>> >>> > _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake