Andrew, Thanks for letting me know. Let me know if you have any more issues.
Ben: at some point I was the maintainer for FindMPI. Are you the official maintainer now? Do you want to be? I have very limited ability to test on Windows, and that seems to be where most of the problems are. -Todd From: Andrew Maclean <andrew.amacl...@gmail.com> Reply-To: "andrew.amacl...@gmail.com" <andrew.amacl...@gmail.com> Date: Sunday, March 1, 2015 at 11:31 PM To: Todd Gamblin <tgamb...@llnl.gov>, "cmake@cmake.org" <cmake@cmake.org>, Ben Boeckel <ben.boec...@kitware.com> Subject: Re: FindMPI.cmake and MS-MPI > Please ignore my emails regarding this. Apparently Ben Boeckel has fixed these > issues in CMake 3.2.0-rc1. Sorry for the unnecessary bandwidth utilization! > > I can confirm that the VTK master version works OK with MS-MPI. > > Regards > Andrew > > > On Mon, Mar 2, 2015 at 9:58 AM, Andrew Maclean <andrew.amacl...@gmail.com> > wrote: >> Some further information, ignore the CMP0054 warning it is not triggered when >> the CMake Minimum Version is 3.1 >> >> When running FindMPI.cmake, I discovered that I had a spurious registry entry >> for an older version of MPI so mpiexec.exe was not being found. When I >> deleted this it found mpiexec.exe in C:/Program Files/Microsoft >> MPI/Bin/mpiexec.exe OK. I think the key for >> HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MPI should still be there before the >> other registry keys. >> >> You definitely need the new lib and include paths. >> >> I was able to use FindMPI.cmake and just add in these paths manually. >> >> Hope this helps. >> >> Regards >> Andrew >> >> >> On Sun, Mar 1, 2015 at 3:54 PM, Andrew Maclean <andrew.amacl...@gmail.com> >> wrote: >>> Re-sending because David in no longer at Kitware. >>> >>> I downloaded and installed MS-MPI from >>> http://www.microsoft.com/en-us/download/details.aspx?id=44990 >>> >>> This implementation does not work with FindMPI.cmake. >>> >>> The includes and libs are found in: >>> C:/Program Files (x86)/Microsoft SDKs/MPI/ >>> and mpiexec.exe is in: C:/Program Files/Microsoft MPI/Bin/ >>> >>> I had to do the following changes to get it working. Perhaps you would like >>> to edit FIndMPI.cmake to incorporate these changes: >>> ---------- >>> # Require MPI for this project: >>> if(WIN32) >>> #This is for finding MS-MPI. >>> #set(_MPI_PREFIX_PATH) >>> #list(APPEND _MPI_PREFIX_PATH >>> "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MPI;Path]/..") >>> set(MPIEXEC "C:/Program Files/Microsoft MPI/Bin/mpiexec.exe") >>> # For building MPI programs the selected Visual Studio compiler is used, >>> namely cl.exe. >>> # So there is no need to set a specific MPI compiler. >>> #set(MPI_CXX_COMPILER "${CMAKE_CXX_COMPILER}") >>> set(MPI_CXX_INCLUDE_PATH "C:/Program Files (x86)/Microsoft >>> SDKs/MPI/Include") >>> # Make sure the correct libraries (64-bit or 32-bit) are selected. >>> # Decide between 32-bit and 64-bit libraries for Microsoft's MPI >>> if("${CMAKE_SIZEOF_VOID_P}" EQUAL 8) >>> set(MS_MPI_ARCH_DIR x64) >>> else() >>> set(MS_MPI_ARCH_DIR x86) >>> endif() >>> set(MPI_CXX_LIBRARIES "C:/Program Files (x86)/Microsoft >>> SDKs/MPI/Lib/${MS_MPI_ARCH_DIR}/msmpi.lib") >>> set(MPI_C_INCLUDE_PATH "${MPI_CXX_INCLUDE_PATH}") >>> set(MPI_C_LIBRARIES "{${MPI_CXX_LIBRARIES}") >>> set(MPIEXEC_NUMPROC_FLAG "-np" CACHE STRING "Flag used by MPI to specify >>> the number of processes for MPIEXEC; the next option will be the number of >>> processes.") >>> else() >>> find_package(MPI REQUIRED) >>> endif() >>> -------- >>> Some of this is taken from FindMPI.cmake. >>> >>> Attached is a zipped up file of the working CMakeLists.txt file and a test >>> file for you. >>> >>> I looked at FindMPI.cmake but I think you guys are better placed to make the >>> changes. >>> >>> Also in the case of FindMPI.cmake, you will need to fix the following >>> warning message: >>> >>> CMake Warning (dev) at C:/Program Files >>> (x86)/CMake/share/cmake-3.1/Modules/FindMPI.cmake:163 (if): >>> Policy CMP0054 is not set: Only interpret if() arguments as variables or >>> keywords when unquoted. Run "cmake --help-policy CMP0054" for policy >>> details. Use the cmake_policy command to set the policy and suppress this >>> warning. >>> >>> Quoted variables like "MSVC" will no longer be dereferenced when the policy >>> is set to NEW. Since the policy is not set the OLD behavior will be used. >>> Call Stack (most recent call first): >>> CMakeLists.txt:5 (find_package) >>> This warning is for project developers. Use -Wno-dev to suppress it.CMake >>> Warning (dev) at C:/Program Files >>> (x86)/CMake/share/cmake-3.1/Modules/FindMPI.cmake:163 (if): >>> Policy CMP0054 is not set: Only interpret if() arguments as variables or >>> keywords when unquoted. Run "cmake --help-policy CMP0054" for policy >>> details. Use the cmake_policy command to set the policy and suppress this >>> warning. >>> >>> Quoted variables like "MSVC" will no longer be dereferenced when the policy >>> is set to NEW. Since the policy is not set the OLD behavior will be used. >>> Call Stack (most recent call first): >>> CMakeLists.txt:5 (find_package) >>> This warning is for project developers. Use -Wno-dev to suppress it. >>> >>> >>> Regards >>> >>> Andrew >>> >>> >>> -- >>> ___________________________________________ >>> Andrew J. P. Maclean >>> >>> ___________________________________________ >> >> >> >> -- >> ___________________________________________ >> Andrew J. P. Maclean >> >> ___________________________________________ > > > > -- > ___________________________________________ > Andrew J. P. Maclean > > ___________________________________________
-- 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://public.kitware.com/mailman/listinfo/cmake