InstallRequiredSystemLibraries, Intel Fortran
In i Fortran project I use the InstallRequiredSystemLibraries module. I use the Intel Fortran Compiler:
c:\NinjaCmake\Fortran>cmake -B CMakeBuild -G "Ninja" -- The Fortran compiler identification is Intel 188.8.131.5200306 ....
The InstallRequiredSystemLibraries issue the message:
CMake Warning at C:/Program Files/CMake/share/cmake-3.18/Modules/InstallRequiredSystemLibraries.cmake:699 (message): system runtime library file does not exist: 'C:/Program Files (x86)/IntelSWTools/compilers_and_libraries_2020.1.216/windows/redist/intel64/compiler/libioffload_host.dll' Call Stack (most recent call first): CMakeLists.txt:17 (include)
This library, and also the liboffload.dll and libmpx.lib, are removed from the Intel redist.
In my CMakeLists.txt I have an install command and when I install the Release version of my program the following dll's are installed:
-- Installing: C:/NinjaCmake/Fortran/./bin/msvcp140.dll -- Installing: C:/NinjaCmake/Fortran/./bin/vcruntime140.dll -- Installing: C:/NinjaCmake/Fortran/./bin/concrt140.dll -- Installing: C:/NinjaCmake/Fortran/./bin/cilkrts20.dll -- Installing: C:/NinjaCmake/Fortran/./bin/libchkp.dll -- Installing: C:/NinjaCmake/Fortran/./bin/libirngmd.dll -- Installing: C:/NinjaCmake/Fortran/./bin/libmmd.dll -- Installing: C:/NinjaCmake/Fortran/./bin/libmmdd.dll -- Installing: C:/NinjaCmake/Fortran/./bin/svml_dispmd.dll -- Installing: C:/NinjaCmake/Fortran/./bin/ifdlg100.dll -- Installing: C:/NinjaCmake/Fortran/./bin/libicaf.dll -- Installing: C:/NinjaCmake/Fortran/./bin/libifcoremd.dll -- Installing: C:/NinjaCmake/Fortran/./bin/libifcoremdd.dll -- Installing: C:/NinjaCmake/Fortran/./bin/libifcorert.dll -- Installing: C:/NinjaCmake/Fortran/./bin/libifcorertd.dll -- Installing: C:/NinjaCmake/Fortran/./bin/libifportmd.dll -- Installing: C:/NinjaCmake/Fortran/./bin/1033 -- Installing: C:/NinjaCmake/Fortran/./bin/1033/ifcore_msg.dll -- Installing: C:/NinjaCmake/Fortran/./bin/1033/irc_msg.dll -- Installing: C:/NinjaCmake/Fortran/./bin/1033/libmUI.dll -- Installing: C:/NinjaCmake/Fortran/./bin/1041 -- Installing: C:/NinjaCmake/Fortran/./bin/1041/ifcore_msg.dll -- Installing: C:/NinjaCmake/Fortran/./bin/1041/irc_msg.dll -- Installing: C:/NinjaCmake/Fortran/./bin/1041/libiomp5ui.dll -- Installing: C:/NinjaCmake/Fortran/./bin/1041/libmUI.dll
Here libmmdd.dll, libifcoremdd.dll are debug dll's and could be removed from the installation.
Furthermore, I think msvcp140, concrt140 and cilkrts20 are c++ libraries and could be removed? I have never shipped them with Fortran executables. From the intel documentation it also look like libirngmd is also for c++.
The libifcorert is used when compiling using /MDs (single threaded dynamic library) , as far as I understand from the Intel documentation the /MDs switch is depreciated so I guess the libifcorert.dll could also be removed.
My guess is that libchkp(check pointers), ifdlg100(interface dialog) and libicaf(co arrays) are not much used and can also be removed.