|
@@ -96,10 +96,20 @@ macro(__windows_compiler_clang_gnu lang)
|
|
|
set(_RTL_FLAGS " -D_DLL -D_MT -Xclang --dependent-lib=msvcrt")
|
|
set(_RTL_FLAGS " -D_DLL -D_MT -Xclang --dependent-lib=msvcrt")
|
|
|
endif()
|
|
endif()
|
|
|
|
|
|
|
|
- string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -g -Xclang -gcodeview -O0${_RTL_FLAGS_DEBUG}")
|
|
|
|
|
|
|
+ if(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT_DEFAULT)
|
|
|
|
|
+ set(_DBG_FLAGS "")
|
|
|
|
|
+ else()
|
|
|
|
|
+ set(_DBG_FLAGS " -g -Xclang -gcodeview")
|
|
|
|
|
+ endif()
|
|
|
|
|
+
|
|
|
|
|
+ string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -O0${_DBG_FLAGS}${_RTL_FLAGS_DEBUG}")
|
|
|
string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -Os -DNDEBUG${_RTL_FLAGS}")
|
|
string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -Os -DNDEBUG${_RTL_FLAGS}")
|
|
|
string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -O3 -DNDEBUG${_RTL_FLAGS}")
|
|
string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -O3 -DNDEBUG${_RTL_FLAGS}")
|
|
|
- string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -O2 -g -DNDEBUG -Xclang -gcodeview${_RTL_FLAGS}")
|
|
|
|
|
|
|
+ string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -O2 -DNDEBUG${_DBG_FLAGS}${_RTL_FLAGS}")
|
|
|
|
|
+
|
|
|
|
|
+ set(CMAKE_${lang}_COMPILE_OPTIONS_MSVC_DEBUG_INFORMATION_FORMAT_Embedded -g -Xclang -gcodeview)
|
|
|
|
|
+ #set(CMAKE_${lang}_COMPILE_OPTIONS_MSVC_DEBUG_INFORMATION_FORMAT_ProgramDatabase) # not supported by Clang
|
|
|
|
|
+ #set(CMAKE_${lang}_COMPILE_OPTIONS_MSVC_DEBUG_INFORMATION_FORMAT_EditAndContinue) # not supported by Clang
|
|
|
endif()
|
|
endif()
|
|
|
set(CMAKE_INCLUDE_SYSTEM_FLAG_${lang} "-isystem ")
|
|
set(CMAKE_INCLUDE_SYSTEM_FLAG_${lang} "-isystem ")
|
|
|
set(CMAKE_${lang}_LINKER_SUPPORTS_PDB ON)
|
|
set(CMAKE_${lang}_LINKER_SUPPORTS_PDB ON)
|
|
@@ -109,6 +119,7 @@ macro(__windows_compiler_clang_gnu lang)
|
|
|
set(CMAKE_${lang}_COMPILE_OPTIONS_USE_PCH -Xclang -include-pch -Xclang <PCH_FILE> -Xclang -include -Xclang <PCH_HEADER>)
|
|
set(CMAKE_${lang}_COMPILE_OPTIONS_USE_PCH -Xclang -include-pch -Xclang <PCH_FILE> -Xclang -include -Xclang <PCH_HEADER>)
|
|
|
set(CMAKE_${lang}_COMPILE_OPTIONS_CREATE_PCH -Xclang -emit-pch -Xclang -include -Xclang <PCH_HEADER> -x ${__pch_header_${lang}})
|
|
set(CMAKE_${lang}_COMPILE_OPTIONS_CREATE_PCH -Xclang -emit-pch -Xclang -include -Xclang <PCH_HEADER> -x ${__pch_header_${lang}})
|
|
|
|
|
|
|
|
|
|
+ unset(_DBG_FLAGS)
|
|
|
unset(_RTL_FLAGS)
|
|
unset(_RTL_FLAGS)
|
|
|
unset(_RTL_FLAGS_DEBUG)
|
|
unset(_RTL_FLAGS_DEBUG)
|
|
|
string(TOLOWER "${CMAKE_BUILD_TYPE}" BUILD_TYPE_LOWER)
|
|
string(TOLOWER "${CMAKE_BUILD_TYPE}" BUILD_TYPE_LOWER)
|
|
@@ -190,6 +201,7 @@ if("x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC"
|
|
|
macro(__windows_compiler_clang_base lang)
|
|
macro(__windows_compiler_clang_base lang)
|
|
|
set(_COMPILE_${lang} "${_COMPILE_${lang}_MSVC}")
|
|
set(_COMPILE_${lang} "${_COMPILE_${lang}_MSVC}")
|
|
|
__windows_compiler_msvc(${lang})
|
|
__windows_compiler_msvc(${lang})
|
|
|
|
|
+ unset(CMAKE_${lang}_COMPILE_OPTIONS_MSVC_DEBUG_INFORMATION_FORMAT_EditAndContinue) # -ZI not supported by Clang
|
|
|
set(CMAKE_${lang}_COMPILE_OPTIONS_WARNING_AS_ERROR "-WX")
|
|
set(CMAKE_${lang}_COMPILE_OPTIONS_WARNING_AS_ERROR "-WX")
|
|
|
set(CMAKE_INCLUDE_SYSTEM_FLAG_${lang} "-imsvc")
|
|
set(CMAKE_INCLUDE_SYSTEM_FLAG_${lang} "-imsvc")
|
|
|
endmacro()
|
|
endmacro()
|
|
@@ -202,6 +214,14 @@ if("x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC"
|
|
|
endif()
|
|
endif()
|
|
|
unset(__WINDOWS_CLANG_CMP0091)
|
|
unset(__WINDOWS_CLANG_CMP0091)
|
|
|
|
|
|
|
|
|
|
+ cmake_policy(GET CMP0141 __WINDOWS_MSVC_CMP0141)
|
|
|
|
|
+ if(__WINDOWS_MSVC_CMP0141 STREQUAL "NEW")
|
|
|
|
|
+ set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT_DEFAULT "$<$<CONFIG:Debug,RelWithDebInfo>:Embedded>")
|
|
|
|
|
+ else()
|
|
|
|
|
+ set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT_DEFAULT "")
|
|
|
|
|
+ endif()
|
|
|
|
|
+ unset(__WINDOWS_MSVC_CMP0141)
|
|
|
|
|
+
|
|
|
set(CMAKE_BUILD_TYPE_INIT Debug)
|
|
set(CMAKE_BUILD_TYPE_INIT Debug)
|
|
|
|
|
|
|
|
__enable_llvm_rc_preprocessing("" "-x c")
|
|
__enable_llvm_rc_preprocessing("" "-x c")
|