diff options
author | Allen Byrne <50328838+byrnHDF@users.noreply.github.com> | 2024-03-07 17:27:56 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-07 17:27:56 (GMT) |
commit | c872acae63feb8b391f6919b94c2d2d06deb1a19 (patch) | |
tree | 8b80a7f2f973724dc5f62c9f63314f85a82240ff /config/cmake | |
parent | 64a0b71c86bd6606c4e6feb0206e6fdcad5a7771 (diff) | |
download | hdf5-c872acae63feb8b391f6919b94c2d2d06deb1a19.zip hdf5-c872acae63feb8b391f6919b94c2d2d06deb1a19.tar.gz hdf5-c872acae63feb8b391f6919b94c2d2d06deb1a19.tar.bz2 |
New option for building with static CRT in Windows (#4062)
Diffstat (limited to 'config/cmake')
-rw-r--r-- | config/cmake/HDFUseFortran.cmake | 8 | ||||
-rw-r--r-- | config/cmake/UserMacros/Windows_MT.cmake | 34 |
2 files changed, 5 insertions, 37 deletions
diff --git a/config/cmake/HDFUseFortran.cmake b/config/cmake/HDFUseFortran.cmake index 392ea30..2d53a50 100644 --- a/config/cmake/HDFUseFortran.cmake +++ b/config/cmake/HDFUseFortran.cmake @@ -19,14 +19,6 @@ set (HDF_PREFIX "H5") include (CheckFortranSourceRuns) include (CheckFortranSourceCompiles) -#------------------------------------------------------------------------------- -# Fix Fortran flags if we are compiling statically on Windows using -# Windows_MT.cmake from config/cmake/UserMacros -#------------------------------------------------------------------------------- -if (BUILD_STATIC_CRT_LIBS) - TARGET_STATIC_CRT_FLAGS () -endif () - #----------------------------------------------------------------------------- # Detect name mangling convention used between Fortran and C #----------------------------------------------------------------------------- diff --git a/config/cmake/UserMacros/Windows_MT.cmake b/config/cmake/UserMacros/Windows_MT.cmake index c8edbe4..351c991 100644 --- a/config/cmake/UserMacros/Windows_MT.cmake +++ b/config/cmake/UserMacros/Windows_MT.cmake @@ -20,34 +20,10 @@ # INCLUDE(path_to_file/WINDOWS_MT.cmake) #----------------------------------------------------------------------------- -# Option to Build with Static CRT libraries on Windows -#------------------------------------------------------------------------------- -macro (TARGET_STATIC_CRT_FLAGS) - if (MSVC AND NOT BUILD_SHARED_LIBS) - foreach (flag_var - CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE - CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO - CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE - CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) - if (${flag_var} MATCHES "/MD") - string (REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}") - endif () - endforeach () - foreach (flag_var - CMAKE_Fortran_FLAGS CMAKE_Fortran_FLAGS_DEBUG CMAKE_Fortran_FLAGS_RELEASE - CMAKE_Fortran_FLAGS_MINSIZEREL CMAKE_Fortran_FLAGS_RELWITHDEBINFO) - if (${flag_var} MATCHES "/libs:dll") - string (REGEX REPLACE "/libs:dll" "/libs:static" ${flag_var} "${${flag_var}}") - endif () - endforeach () - set (WIN_COMPILE_FLAGS "") - set (WIN_LINK_FLAGS "/NODEFAULTLIB:MSVCRT") - endif () -endmacro () - +# Option to Build with Static CRT libraries on Windows (USE WITH CAUTION!!!) #----------------------------------------------------------------------------- -option (BUILD_STATIC_CRT_LIBS "Build With Static CRT Libraries" OFF) -mark_as_advanced (BUILD_STATIC_CRT_LIBS) -if (BUILD_STATIC_CRT_LIBS) - TARGET_STATIC_CRT_FLAGS () +option (HDF5_BUILD_STATIC_CRT_LIBS "Build With Static Windows CRT Libraries" OFF) +mark_as_advanced (HDF5_BUILD_STATIC_CRT_LIBS) +if (HDF5_BUILD_STATIC_CRT_LIBS) + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>") endif () |