dev-cafe / autocmake

CMake plugin composer.
http://autocmake.org
BSD 3-Clause "New" or "Revised" License
42 stars 18 forks source link

fix ms-mpi hardcoded library in CMakeLists.txt #128

Closed miroi closed 8 years ago

miroi commented 9 years ago

Would like to fix the https://github.com/scisoft/autocmake/blob/master/test/fc_mpi/src/CMakeLists.txt#L5 in order to have the full-automated libmsmpi.a library detection on MS Windows with the ms-mpi MPI package,

bast commented 8 years ago

I have removed this hard-coded path. Still the test fails. The MS-MPI anyway looks very customized to me. Why is it fetching files from a custom URL?

miroi commented 8 years ago

Hi,

according to https://github.com/scisoft/autocmake/issues/85#issue-102874399 my custom URL is needed to get the "proper" - preprocessed - MS MPI library. Current (newest) version of MS-MPI is not suitable for adaptation (my private conversation with Fab from MS).

The error is https://ci.appveyor.com/project/bast/autocmake/build/1.0.431#L239 - msmpi has different name for this routine. It's on my TODO list to fix this.

bast commented 8 years ago

I think in this case we should not test it. If the standard one does not "work" I think we should not try to work around problems and customize for Autocmake and rather eliminate the test.

miroi commented 8 years ago

Hi,

I think I can improve this test up to Autocmake standards:

i) at the level of the msmpi package : prepare own customized package (from the newest MSMPI distribution package - this should be possible after my communication) and ask MS guys to keep these changes in their distrubution version (for the sake of beeing able to prepare the crucial libmsmpi.a for MinGW suite). This means using own URL for adapted package until MSMPI offcial version adopts these changes.

ii) at the Autocmake side improve local CMake script for proper linking of libmsmpi.a library, no hardcoded path "C:....\libmsmpi.a" as I had before.

iii) it might be that some more MPI routines have different names (MPI_finalize vs MPI_finalized). Again, I would prefer to communicate with MS guys and keep the tweek in the example.F90.

I believe that showing the world that MSMPI works with the MinGW one can make wider usage of MPI for Windows applications.

For me, this is prelude before trying to adapt Windows native MSMPI for DIRAC.

bast commented 8 years ago

Within Autocmake I don't want to depend on any software which is not standard. But the work you have done on MSMPI is great and you should showcase it. But why not do this in a dedicated repo which demonstrates how to adapt MSMPI to MinGW?

miroi commented 8 years ago

I fully agree. Will open dedicate repo, based on autocmake, dealing only with the OpenMPI vs MS-MPI testing.

Afterwards the corresponding MSMPI part of appveyor.yml will be deleted.

bast commented 8 years ago

This is a good strategy.