41 lines
1.4 KiB
CMake
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
|
|
)
|