[CMake] find_package(mpi) language specification

Andrew Corrigan acorriga at lcp.nrl.navy.mil
Thu Sep 5 14:58:13 EDT 2013


Thank you.  QUIET is definitely an improvement, and I can live with that.

However, it would still be nice to be able to reduce clutter and remove MPI_CXX_* and MPI_LIBRARY, MPI_EXTRA_LIBRARY from the CMake cache, to avoid overwhelming or confusing users.


On Sep 5, 2013, at 1:29 PM, Nick Overdijk <nick at astrant.net> wrote:

> You can pass the QUIET parameter to find_package... that'll at least shut it up. Perhaps easiest in your case.
> 
> On 2013-05-09, at 18:22:25 , Andrew Corrigan wrote:
> 
>> Hello,
>> 
>> My C++ code only uses the MPI C library. 
>> 
>> 1. Is there a way to tell find_package(MPI) to only look for the C version?
>> 2. If not, can FindMPI.cmake be changed to support this (just like with Boost you can specify only the components you need)
>> 3. If not, can that warning message  "Could NOT find MPI_CXX missing: MPI_CXX_LIBRARIES MPI_CXX_INCLUDE_PATH" be suppressed?  It is *extremely* confusing to users.
>> 
>> More info:
>> 
>> The language-specific detection for MPI that was added a few versions ago has been a huge help in avoiding linking with the deprecated MPI C++ library.  I still have a problem, and that is find_package(MPI) still attempts to find the MPI C++ library.
>> 
>> When it is not found, which is more often than not the case on the various HPC systems this code runs on, the warning "Could NOT find MPI_CXX missing: MPI_CXX_LIBRARIES MPI_CXX_INCLUDE_PATH" is issued.  I do not want CMake to even try to detect the C++ version of MPI, and this has been a major source of confusion for users of this code, since they think that something has gone wrong and report it to me. In response to this, I added the following clarification, but despite this, users remain confused.
>> 
>>> if(NOT MPI_CXX_FOUND)
>>> message(STATUS "==> MPI_CXX_* IS NOT REQUIRED")
>>> message(STATUS "==> IGNORE ANY WARNING REGARDING MPI_CXX_*")
>>> end
>> 
>> 
>> Thanks,
>> Andrew Corrigan
>> 
>> --
>> 
>> Powered by www.kitware.com
>> 
>> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>> 
>> Kitware offers various services to support the CMake community. For more information on each offering, please visit:
>> 
>> CMake Support: http://cmake.org/cmake/help/support.html
>> CMake Consulting: http://cmake.org/cmake/help/consulting.html
>> CMake Training Courses: http://cmake.org/cmake/help/training.html
>> 
>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>> 
>> Follow this link to subscribe/unsubscribe:
>> http://www.cmake.org/mailman/listinfo/cmake
> 



More information about the CMake mailing list