Files
2026-08-02 00:06:33 +08:00

41 lines
1.4 KiB
CMake

include_guard(GLOBAL)
#set(base_dir "C:/Program Files/Microsoft Visual Studio/18/Enterprise/VC/Tools/MSVC/14.50.35717/bin/Hostx64/x64")
#set(CMAKE_C_COMPILER "${base_dir}/cl.bat" CACHE FILEPATH "")
#set(CMAKE_CXX_COMPILER "{${base_dir}}/cl.bat" CACHE FILEPATH "")
#set(CMAKE_MAKE_PROGRAM "C:/Program Files/Microsoft Visual Studio/18/Enterprise/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe" CACHE FILEPATH "")
function(_append_msvc_init_options variable)
set(value "${${variable}}")
separate_arguments(existing_options WINDOWS_COMMAND "${value}")
foreach (option IN LISTS ARGN)
list(FIND existing_options "${option}" option_index)
if (option_index EQUAL -1)
list(APPEND existing_options "${option}")
endif ()
endforeach ()
list(JOIN existing_options " " value)
set(${variable} "${value}" PARENT_SCOPE)
endfunction()
_append_msvc_init_options(
CMAKE_CXX_FLAGS_INIT
/wd4819
/utf-8
/Zc:preprocessor
/DNOMINMAX
/D_USE_MATH_DEFINES
/EHsc
/bigobj
/DWIN32_LEAN_AND_MEAN
)
_append_msvc_init_options(
CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT
/PROFILE
)
_append_msvc_init_options(
CMAKE_SHARED_LINKER_FLAGS_RELEASE_INIT
/PROFILE
)
_append_msvc_init_options(
CMAKE_MODULE_LINKER_FLAGS_RELEASE_INIT
/PROFILE
)