<div dir="ltr"><div dir="ltr"><div>Hi Silvio,</div><div><br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div class="gmail_quote"><div>I've looked for something like this to automate the build of some projects I'm maintaining, so I have some questions:<br></div><div><br></div><div>Could it build a Delphi-based project too? If so, does it allows to select the build for a specific platform/config? (e.g: Win32/Release)</div></div></div></div></div></div></div></div></blockquote><div><br></div><div>By executing 'pmake --compiler <delphi-compiler-path>', it should be easily possible to build Delphi projects (I don't have Delphi so I cannot test). The compiler path will be stored in the PMakeLists.txt cache (in the $(PMAKE_PAS_COMPILER) variable) and used every time again for the build. It should also be possible to use different compilers by setting the $(PMAKE_PAS_COMPILER) variable in the PMake script. PMake allows for option variables to be set in PMake.txt (at any level). See also the PMake project:</div><div><br></div><div><table class="gmail-highlight gmail-tab-size gmail-js-file-line-container" style="box-sizing:border-box;border-collapse:collapse;border-spacing:0px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:14px"><tbody style="box-sizing:border-box"><tr style="box-sizing:border-box"></tr><tr style="box-sizing:border-box"><td id="gmail-LC4" class="gmail-blob-code gmail-blob-code-inner gmail-js-file-line" style="box-sizing:border-box;padding:0px 10px;line-height:20px;vertical-align:top;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:12px;overflow:visible;white-space:pre">option('WITH_DEBUG', 'Enable debug info for PMake', _ON_);
</td></tr><tr style="box-sizing:border-box"><td id="gmail-L5" class="gmail-blob-num gmail-js-line-number" style="box-sizing:border-box;padding:0px 10px;color:rgba(27,31,35,0.3);font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:12px;line-height:20px;min-width:50px;text-align:right;vertical-align:top;white-space:nowrap;width:50px"></td></tr></tbody></table></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div class="gmail_quote"><div>Could I link the build of an external 3rd party project to automate it inside a PMake-based project? For example, supposing I have a C library using CMake-based build, could this library be built while (before or after) the PMake builds the Pascal project? ( something like CMake's <font face="monospace, monospace" size="1">ExternalProject_Add()</font> and, optionally, some alternative to <font face="monospace, monospace" size="1">ExternalProject_Get_Property()</font> )<br></div></div></div></div></div></div></div></div></blockquote><div><br></div><div>I believe you should use <span style="color:rgb(51,51,51);font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:12px">add_custom_command </span>for this. It will create a package for you that you can add as dependency to a library or executable. Only after the dependency is resolved, the remaining build will continue. If you test and have an example, please make a pull request so it can be added for prosperity.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div>I liked it. (y)<br></div></div></div></blockquote></div></div></div></div></div></div></div></blockquote><div>Thanks! Glad you like it. I hope that others find it as useful and easy to use as me.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>It probably will help me a lot to automate the build of interlinked projects simultaneously using two or three commands. :-)</div><div></div></div></div></div></div></div></div></blockquote><div>The nice thing about PMake is that it also works when pulling together two different projects using PMake. You only need to use <span style="color:rgb(51,51,51);font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:12px">add_directory </span>(and the correct dependencies of course) to get get a working build. </div><div><br></div><div>Rgds, Darius</div></div></div></div><div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br>
<table style="border-top:1px solid #d3d4de">
<tr>
<td style="width:55px;padding-top:13px"><a href="http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" target="_blank"><img src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-green-avg-v1.png" alt="" width="46" height="29" style="width: 46px; height: 29px;"></a></td>
<td style="width:470px;padding-top:12px;color:#41424e;font-size:13px;font-family:Arial,Helvetica,sans-serif;line-height:18px">Virus-free. <a href="http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" target="_blank" style="color:#4453ea">www.avg.com</a>
</td>
</tr>
</table><a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1"></a></div>