diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fb7a056e..43c86362 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -95,27 +95,41 @@ if(TOML11_PRECOMPILE) $ $ ) + + # 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 $ $ ) -endif() -# 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") + # 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)