CMake: Adjust fmt build macros

Set on the library, not globally.
This commit is contained in:
Stenzek
2025-12-31 17:30:02 +10:00
parent 84e4aed8a7
commit 4c79ee82ac
4 changed files with 11 additions and 8 deletions

View File

@@ -116,9 +116,6 @@ if(BUILD_TESTS)
enable_testing()
endif()
# Prevent fmt from being built with exceptions, or being thrown at call sites.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DFMT_EXCEPTIONS=0")
# Recursively include the source tree.
add_subdirectory(dep)
add_subdirectory(src)

View File

@@ -1,9 +1,15 @@
set(_saved_CMAKE_MESSAGE_LOG_LEVEL ${CMAKE_MESSAGE_LOG_LEVEL})
set(CMAKE_MESSAGE_LOG_LEVEL NOTICE)
set(FMT_INSTALL OFF CACHE BOOL "")
add_subdirectory(fmt EXCLUDE_FROM_ALL)
disable_compiler_warnings_for_target(fmt)
# Prevent fmt from being built with exceptions, or being thrown at call sites.
target_compile_definitions(fmt PUBLIC
"FMT_EXCEPTIONS=0"
"FMT_USE_RTTI=0"
"FMT_CPP_LIB_FILESYSTEM=0"
)
add_subdirectory(minizip EXCLUDE_FROM_ALL)
disable_compiler_warnings_for_target(minizip)
add_subdirectory(lzma EXCLUDE_FROM_ALL)

View File

@@ -28,9 +28,9 @@
<ItemDefinitionGroup>
<ClCompile>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
<AdditionalIncludeDirectories>$(SolutionDir)dep\fmt\include;$(ProjectDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>FMT_EXCEPTIONS=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(ProjectDir)include</AdditionalIncludeDirectories>
<PreprocessorDefinitions>%(PreprocessorDefinitions);FMT_EXCEPTIONS=0;FMT_USE_RTTI=0;FMT_CPP_LIB_FILESYSTEM=0</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="..\msvc\vsprops\Targets.props" />
</Project>
</Project>

View File

@@ -3,7 +3,7 @@
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(SolutionDir)src;%(AdditionalIncludeDirectories);$(SolutionDir)dep\fast_float\include;$(SolutionDir)dep\fmt\include</AdditionalIncludeDirectories>
<PreprocessorDefinitions>%(PreprocessorDefinitions);FMT_EXCEPTIONS=0</PreprocessorDefinitions>
<PreprocessorDefinitions>%(PreprocessorDefinitions);FMT_EXCEPTIONS=0;FMT_USE_RTTI=0;FMT_CPP_LIB_FILESYSTEM=0</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>