<div dir="ltr"><div class="markdown-here-wrapper" style=""><p style="margin:0px 0px 1.2em!important">Greetings fellow CMake users, enthusiasts, and developers!</p>
<p style="margin:0px 0px 1.2em!important">We have a user who is installing OpenCoarrays on Windows using Intel MPI under MSYS2. They report having to generate an interface library, <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">impi.a</code> (or <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">impi.lib</code>) by hand using <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">gendef</code> and <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">dlltool</code> for Intel’s <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">impi.dll</code> MPI library. My questions are as follows:</p>
<ol style="margin:1.2em 0px;padding-left:2em">
<li style="margin:0.5em 0px">Can CMake automate the generation of an interface library for an existing 3rd party windows .dll without having to call non-standard tools?</li>
<li style="margin:0.5em 0px">Does anyone know if they are just misconfiguring their Intel MPI and Intel really ships with an interface library somewhere that is not getting picked up by the build system? (If so, do we need anything special beyond <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">find_package(MPI)</code> to use the interface library that Intel may or may not ship?)</li>
</ol>
<p style="margin:0px 0px 1.2em!important">The user also reports having to edit FindMPI.cmake to get it running properly on MSYS2:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px"><code class="hljs language-diff" style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline;white-space:pre;overflow:auto;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important;display:block;overflow-x:auto;padding:0.5em;background:rgb(63,63,63);color:rgb(220,220,220)">$ diff -Nu FindMPI.cmake.orig FindMPI.cmake
<span class="hljs-header">--- FindMPI.cmake.orig  2018-05-17 16:29:45.352467900 -0500</span>
<span class="hljs-header">+++ FindMPI.cmake       2018-05-20 14:58:14.090710500 -0500</span>
<span class="hljs-chunk">@@ -337,7 +337,7 @@</span>
     separate_arguments(_MPI_COMPILER_WRAPPER_OPTIONS NATIVE_COMMAND "${MPI_COMPILER_FLAGS}")
   endif()
   execute_process(
<span class="hljs-deletion">-    COMMAND ${MPI_${LANG}_COMPILER} ${_MPI_COMPILER_WRAPPER_OPTIONS} ${QUERY_FLAG}</span>
<span class="hljs-addition">+    COMMAND "bash" ${MPI_${LANG}_COMPILER} ${_MPI_COMPILER_WRAPPER_OPTIONS} ${QUERY_FLAG}</span>
     OUTPUT_VARIABLE  WRAPPER_OUTPUT OUTPUT_STRIP_TRAILING_WHITESPACE
     ERROR_VARIABLE   WRAPPER_OUTPUT ERROR_STRIP_TRAILING_WHITESPACE
     RESULT_VARIABLE  WRAPPER_RETURN)
</code></pre>
<p style="margin:0px 0px 1.2em!important">Is this a bug in FindMPI.cmake or are we doing something wrong in the build system?</p>
<p style="margin:0px 0px 1.2em!important">The original thread can be seen at: <a href="https://github.com/sourceryinstitute/OpenCoarrays/issues/541">https://github.com/sourceryinstitute/OpenCoarrays/issues/541</a></p>
<p style="margin:0px 0px 1.2em!important">Many thanks,<br>Zaak</p><div dir="ltr"><div dir="ltr"><div dir="ltr">Izaak "Zaak" Beekman<br><br>------------------------------------------------------------------------------- <br>HPC Scientist<br><a href="http://www.paratools.com/" target="_blank">ParaTools Inc.</a><div dir="ltr">1509 16th St, NW</div><div dir="ltr">Washington, DC 20036</div>mobile: <a href="tel:(917)%20797-3239" value="+19177973239" target="_blank">(917) 797-3239</a><br>-------------------------------------------------------------------------------</div></div></div>
<div title="MDH:R3JlZXRpbmdzIGZlbGxvdyBDTWFrZSB1c2VycywgZW50aHVzaWFzdHMsIGFuZCBkZXZlbG9wZXJz
ITxkaXY+PGJyPjwvZGl2PjxkaXY+V2UgaGF2ZSBhIHVzZXIgd2hvIGlzIGluc3RhbGxpbmcgT3Bl
bkNvYXJyYXlzIG9uIFdpbmRvd3MgdXNpbmcgSW50ZWwgTVBJIHVuZGVyIE1TWVMyLiBUaGV5IHJl
cG9ydCBoYXZpbmcgdG8gZ2VuZXJhdGUgYW4gaW50ZXJmYWNlIGxpYnJhcnksIGBpbXBpLmFgIChv
ciBgaW1waS5saWJgKSBieSBoYW5kIHVzaW5nIGBnZW5kZWZgIGFuZCBgZGxsdG9vbGAgZm9yIElu
dGVsJ3MgYGltcGkuZGxsYCBNUEkgbGlicmFyeS4gTXkgcXVlc3Rpb25zIGFyZSBhcyBmb2xsb3dz
OjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+MS4gQ2FuIENNYWtlIGF1dG9tYXRlIHRoZSBnZW5l
cmF0aW9uIG9mIGFuIGludGVyZmFjZSBsaWJyYXJ5IGZvciBhbiBleGlzdGluZyAzcmQgcGFydHkg
d2luZG93cyAuZGxsIHdpdGhvdXQgaGF2aW5nIHRvIGNhbGwgbm9uLXN0YW5kYXJkIHRvb2xzPzwv
ZGl2PjxkaXY+Mi4gRG9lcyBhbnlvbmUga25vdyBpZiB0aGV5IGFyZSBqdXN0IG1pc2NvbmZpZ3Vy
aW5nIHRoZWlyIEludGVsIE1QSSBhbmQgSW50ZWwgcmVhbGx5IHNoaXBzIHdpdGggYW4gaW50ZXJm
YWNlIGxpYnJhcnkgc29tZXdoZXJlIHRoYXQgaXMgbm90IGdldHRpbmcgcGlja2VkIHVwIGJ5IHRo
ZSBidWlsZCBzeXN0ZW0/IChJZiBzbywgZG8gd2UgbmVlZCBhbnl0aGluZyBzcGVjaWFsIGJleW9u
ZCBgZmluZF9wYWNrYWdlKE1QSSlgIHRvIHVzZSB0aGUgaW50ZXJmYWNlIGxpYnJhcnkgdGhhdCBJ
bnRlbCBtYXkgb3IgbWF5IG5vdCBzaGlwPyk8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlRoZSB1
c2VyIGFsc28gcmVwb3J0cyBoYXZpbmcgdG8gZWRpdCBGaW5kTVBJLmNtYWtlIHRvIGdldCBpdCBy
dW5uaW5nIHByb3Blcmx5IG9uIE1TWVMyOjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+YGBgZGlm
ZjwvZGl2PiQgZGlmZiAtTnUgRmluZE1QSS5jbWFrZS5vcmlnIEZpbmRNUEkuY21ha2U8YnI+LS0t
IEZpbmRNUEkuY21ha2Uub3JpZyAgMjAxOC0wNS0xNyAxNjoyOTo0NS4zNTI0Njc5MDAgLTA1MDA8
YnI+KysrIEZpbmRNUEkuY21ha2UgICAgICAgMjAxOC0wNS0yMCAxNDo1ODoxNC4wOTA3MTA1MDAg
LTA1MDA8YnI+QEAgLTMzNyw3ICszMzcsNyBAQDxicj4gICAgIHNlcGFyYXRlX2FyZ3VtZW50cyhf
TVBJX0NPTVBJTEVSX1dSQVBQRVJfT1BUSU9OUyBOQVRJVkVfQ09NTUFORCAiJHtNUElfQ09NUElM
RVJfRkxBR1N9Iik8YnI+ICAgZW5kaWYoKTxicj4gICBleGVjdXRlX3Byb2Nlc3MoPGJyPi0gICAg
Q09NTUFORCAke01QSV8ke0xBTkd9X0NPTVBJTEVSfSAke19NUElfQ09NUElMRVJfV1JBUFBFUl9P
UFRJT05TfSAke1FVRVJZX0ZMQUd9PGJyPisgICAgQ09NTUFORCAiYmFzaCIgJHtNUElfJHtMQU5H
fV9DT01QSUxFUn0gJHtfTVBJX0NPTVBJTEVSX1dSQVBQRVJfT1BUSU9OU30gJHtRVUVSWV9GTEFH
fTxicj4gICAgIE9VVFBVVF9WQVJJQUJMRSAgV1JBUFBFUl9PVVRQVVQgT1VUUFVUX1NUUklQX1RS
QUlMSU5HX1dISVRFU1BBQ0U8YnI+ICAgICBFUlJPUl9WQVJJQUJMRSAgIFdSQVBQRVJfT1VUUFVU
IEVSUk9SX1NUUklQX1RSQUlMSU5HX1dISVRFU1BBQ0U8YnI+ICAgICBSRVNVTFRfVkFSSUFCTEUg
IFdSQVBQRVJfUkVUVVJOKTxkaXY+YGBgPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JcyB0aGlz
IGEgYnVnIGluIEZpbmRNUEkuY21ha2Ugb3IgYXJlIHdlIGRvaW5nIHNvbWV0aGluZyB3cm9uZyBp
biB0aGUgYnVpbGQgc3lzdGVtPzwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+VGhlIG9yaWdpbmFs
IHRocmVhZCBjYW4gYmUgc2VlbiBhdDombmJzcDs8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20v
c291cmNlcnlpbnN0aXR1dGUvT3BlbkNvYXJyYXlzL2lzc3Vlcy81NDEiPmh0dHBzOi8vZ2l0aHVi
LmNvbS9zb3VyY2VyeWluc3RpdHV0ZS9PcGVuQ29hcnJheXMvaXNzdWVzLzU0MTwvYT48L2Rpdj48
ZGl2Pjxicj48L2Rpdj48ZGl2Pk1hbnkgdGhhbmtzLDwvZGl2PjxkaXY+WmFhazwvZGl2PjxkaXY+
PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2Pg==" style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0">​</div></div></div>