From bdb5007b17d3a6db7e2d166e876266ba843a37e9 Mon Sep 17 00:00:00 2001 From: Gregory Sharp Date: Fri, 29 Aug 2014 16:58:24 -0400 Subject: [PATCH 1/2] InstallRequiredSystemLibraries: Install OpenMP runtime libs (#15117) Add option CMAKE_INSTALL_OPENMP_LIBRARIES to control the behavior. --- Modules/InstallRequiredSystemLibraries.cmake | 36 ++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/Modules/InstallRequiredSystemLibraries.cmake b/Modules/InstallRequiredSystemLibraries.cmake index 349cbf512..5afb517d6 100644 --- a/Modules/InstallRequiredSystemLibraries.cmake +++ b/Modules/InstallRequiredSystemLibraries.cmake @@ -19,6 +19,8 @@ # libraries are installed when both debug and release are available. If # CMAKE_INSTALL_MFC_LIBRARIES is set then the MFC run time libraries are # installed as well as the CRT run time libraries. If +# CMAKE_INSTALL_OPENMP_LIBRARIES is set then the OpenMP run time libraries +# are installed as well. If # CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION is set then the libraries are # installed to that directory rather than the default. If # CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS is NOT set, then this @@ -377,6 +379,40 @@ if(MSVC) endif() endif() + # MSVC 8 was the first version with OpenMP + # Furthermore, there is no debug version of this + if(CMAKE_INSTALL_OPENMP_LIBRARIES) + macro(OPENMP_FILES_FOR_VERSION version_a version_b) + set(va "${version_a}") + set(vb "${version_b}") + set(MSVC${va}_OPENMP_DIR "${MSVC${va}_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC${vb}.OPENMP") + + if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY) + set(__install__libs ${__install__libs} + "${MSVC${va}_OPENMP_DIR}/vcomp${vb}.dll") + endif() + endmacro() + + if(MSVC80) + OPENMP_FILES_FOR_VERSION(80 80) + endif() + if(MSVC90) + OPENMP_FILES_FOR_VERSION(90 90) + endif() + if(MSVC10) + OPENMP_FILES_FOR_VERSION(10 100) + endif() + if(MSVC11) + OPENMP_FILES_FOR_VERSION(11 110) + endif() + if(MSVC12) + OPENMP_FILES_FOR_VERSION(12 120) + endif() + if(MSVC14) + OPENMP_FILES_FOR_VERSION(14 140) + endif() + endif() + foreach(lib ${__install__libs} ) From d538c55ea4143872c01d39b419b168f2a2a820f1 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 4 Sep 2014 09:44:49 -0400 Subject: [PATCH 2/2] Help: Add notes for topic 'InstallRequiredSystemLibraries-vs-openmp' --- .../dev/InstallRequiredSystemLibraries-vs-openmp.rst | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 Help/release/dev/InstallRequiredSystemLibraries-vs-openmp.rst diff --git a/Help/release/dev/InstallRequiredSystemLibraries-vs-openmp.rst b/Help/release/dev/InstallRequiredSystemLibraries-vs-openmp.rst new file mode 100644 index 000000000..4f8f962d5 --- /dev/null +++ b/Help/release/dev/InstallRequiredSystemLibraries-vs-openmp.rst @@ -0,0 +1,6 @@ +InstallRequiredSystemLibraries-vs-openmp +---------------------------------------- + +* The :module:`InstallRequiredSystemLibraries` module gained a new + ``CMAKE_INSTALL_OPENMP_LIBRARIES`` option to install MSVC OpenMP + runtime libraries.