<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On 1 Dec 2013, at 10:53, James Turner &lt;<a href="mailto:james.turner@kdab.com">james.turner@kdab.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">I am trying to force the BUILD step of an ExternalProject_Add target to be run - always. I have found several wiki articles, and references in the archives of this list, to setting an ALWAYS option for the stage I want to force to run each time. The problem is I can’t find any documentation on the exact syntax to use - can someone please enlighten me? (This is for a project where the files are on the local disk when the build is run, but may change due to external sync mechanisms - right now the build system never notices this)</span></blockquote></div><br><div>Following up on this: I was wrong, the problem is not needing to run the ‘build’ step always. (I discovered this by adding the steps as Kevin suggested).</div><div><br></div><div>Instead, I’ve realised the problem is with the Visual Studio projects (I can only test 2010) - using the makefile generator on Linux, everything works as expected without any custom ExternalProject_Add_Step.</div><div><br></div><div>To make this clearer, here is the current superbuild file:</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span><a href="https://gitorious.org/fg/fgmeta/source/fe39e97c2ed376a081de8251e18bfd876621c617:CMakeLists.txt">https://gitorious.org/fg/fgmeta/source/fe39e97c2ed376a081de8251e18bfd876621c617:CMakeLists.txt</a></div><div><br></div><div>(Containing the ExternalProject_Add_Step, but these make no difference)</div><div><br></div><div>When building, we have a structure as follows on Windows:</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>C:\FGFS\fgmeta</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>\flightgear</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>\simgear</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>\fgrun</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>(these subdirs being Git submodules, the whole of fgmeta being obtained via 'git clone —recursive’)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span></div><div>and:</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>C:\FGFS\metabuild</div><div><br></div><div><span></span>I run the CMake GUI, passing 'C:\FGFS\fgmeta’ as the source dir, and 'C:\FGFS\metabuild’ as the binary dir. When using the VS2010 generator, this produces something like:</div><div><br></div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>C:\FGFS\metabuild</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>\FlightGear-Meta.sln</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>… vcxproj for each ExternaProject_add in the superbuild CMakeList.txt …</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>\fgbuild\FlightGear.sln</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>\sgbuild\SimGear.sln</div><div><br></div><div>On an initial build, all is fine. The issue is that on successive builds, the top level -Meta.sln does not seem to descend into ‘fgbuild’, ’sgbuild' dirs at all; if I invoke the solutions inside those dirs manually (from the GUI or via msbuild.exe) they compile fine, but using msbuild or the GUI on the top-level solution simply says ‘nothing to be done’ for those steps.</div><div><br></div><div>Am I doing something wrong here that’s confusing the MSVC generator? This seems like a completely standard way to use External projects with MSVC, but equally I have no problem adjust the structure if it would simplify things. The only restriction is I need to keep each sub-project building cleanly outside of the superbuild - but I have control over them, including their Cmake files.</div><div><br></div><div>Kind regards,</div><div>James</div><div><br></div><div><br></div></body></html>