Skip to content

Commit

Permalink
chore: add options required to use MSVC
Browse files Browse the repository at this point in the history
to use utf-8 file and to use standard-compliant preprocessor
  • Loading branch information
ToruNiina committed Jun 16, 2024
1 parent 8326709 commit abcbed9
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -95,14 +95,41 @@ if(TOML11_PRECOMPILE)
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
)

# required options to use toml11 with MSVC
if(MSVC)
target_compile_options(toml11 PUBLIC "/utf-8")
if(MSVC_VERSION LESS 1910)
message(STATUS "MSVC < 1910. DEFINE_CONVERSION_NON_INTRUSIVE is disabled")
target_compile_definitions(toml11 PUBLIC -DTOML11_WITHOUT_DEFINE_NON_INTRUSIVE)
elseif(MSVC_VERSION LESS 1920) # MSVC 2017
target_compile_options(toml11 PUBLIC "/experimental:preprocessor")
else() # MSVC 2019
target_compile_options(toml11 PUBLIC "/Zc:preprocessor")
endif()
endif()
else()
add_library(toml11 INTERFACE)
target_include_directories(toml11 INTERFACE
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
)

# required options to use toml11 with MSVC
if(MSVC)
target_compile_options(toml11 INTERFACE "/utf-8")
if(MSVC_VERSION LESS 1910)
message(STATUS "MSVC < 1910. DEFINE_CONVERSION_NON_INTRUSIVE is disabled")
target_compile_definitions(toml11 PUBLIC -DTOML11_WITHOUT_DEFINE_NON_INTRUSIVE)
elseif(MSVC_VERSION LESS 1920) # MSVC 2017
target_compile_options(toml11 INTERFACE "/experimental:preprocessor")
else() # MSVC 2019
target_compile_options(toml11 INTERFACE "/Zc:preprocessor")
endif()
endif()
endif()


if(TOML11_INSTALL)

include(CMakePackageConfigHelpers)
Expand Down

0 comments on commit abcbed9

Please sign in to comment.