Skip to content

Commit

Permalink
Set static VC runtime flags before including fmt
Browse files Browse the repository at this point in the history
  • Loading branch information
kcat committed Jan 29, 2025
1 parent 9fdf662 commit 30eb6c3
Showing 1 changed file with 17 additions and 15 deletions.
32 changes: 17 additions & 15 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,6 @@ include(GNUInstallDirs)
find_package(PkgConfig)
find_package(SDL3 QUIET)

add_subdirectory(fmt-11.1.1 EXCLUDE_FROM_ALL)

option(ALSOFT_DLOPEN "Check for the dlopen API for loading optional libs" ON)

option(ALSOFT_WERROR "Treat compile warnings as errors" OFF)
Expand Down Expand Up @@ -145,6 +143,23 @@ if(DEFINED ALSOFT_AMBDEC_PRESETS)
message(WARNING "ALSOFT_AMBDEC_PRESETS is deprecated. Use ALSOFT_INSTALL_AMBDEC_PRESETS instead")
endif()

if(MSVC)
option(FORCE_STATIC_VCRT "Force /MT for static VC runtimes" OFF)
if(FORCE_STATIC_VCRT)
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(flag_var)
endif()
endif()

add_subdirectory(fmt-11.1.1 EXCLUDE_FROM_ALL)


set(CPP_DEFS ) # C pre-processor, not C++
set(INC_PATHS )
Expand Down Expand Up @@ -249,19 +264,6 @@ if(MSVC)
if(DXSDK_DIR)
message(STATUS "Using DirectX SDK directory: ${DXSDK_DIR}")
endif()

option(FORCE_STATIC_VCRT "Force /MT for static VC runtimes" OFF)
if(FORCE_STATIC_VCRT)
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(flag_var)
endif()
else()
set(C_FLAGS ${C_FLAGS} -Winline -Wunused -Wall -Wextra -Wshadow -Wconversion -Wcast-align
-Wpedantic
Expand Down

0 comments on commit 30eb6c3

Please sign in to comment.