Use correct compiler flags in MSVC bootstrap builds of Zig
https://github.com/ziglang/zig/issues/4877 The CMake build of Zig from C++ uses hand-set compiler flags which are not compatible with the Microsoft C/C++ Optimizing Compiler (cl.exe) used by Visual Studio. This commit attempts to conform them to match the Clang/GCC options under MSVC builds. Note that CL does not have a concept of C99 or "-O3", and may imply other optimizations in "/O2" than are implied by Clang/GCC "-O3". Visual Studio 2019 documentation for cl.exe's optimization options: https://docs.microsoft.com/en-us/cpp/build/reference/o-options-optimize-code?view=vs-2019 Visual Studio 2019 doc for cl.exe's C++ standard options: https://docs.microsoft.com/en-us/cpp/build/reference/std-specify-language-standard-version?view=vs-2019master
parent
d34a3c66b3
commit
9bb76f8ce0
|
@ -224,7 +224,7 @@ set(EMBEDDED_SOFTFLOAT_SOURCES
|
||||||
add_library(embedded_softfloat STATIC ${EMBEDDED_SOFTFLOAT_SOURCES})
|
add_library(embedded_softfloat STATIC ${EMBEDDED_SOFTFLOAT_SOURCES})
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set_target_properties(embedded_softfloat PROPERTIES
|
set_target_properties(embedded_softfloat PROPERTIES
|
||||||
COMPILE_FLAGS "-std=c99 /w"
|
COMPILE_FLAGS "/w /O2"
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
set_target_properties(embedded_softfloat PROPERTIES
|
set_target_properties(embedded_softfloat PROPERTIES
|
||||||
|
@ -315,7 +315,12 @@ include_directories(
|
||||||
)
|
)
|
||||||
|
|
||||||
# These have to go before the -Wno- flags
|
# These have to go before the -Wno- flags
|
||||||
set(EXE_CFLAGS "-std=c++14")
|
if(MSVC)
|
||||||
|
set(EXE_CFLAGS "/std:c++14")
|
||||||
|
else(MSVC)
|
||||||
|
set(EXE_CFLAGS "-std=c++14")
|
||||||
|
endif(MSVC)
|
||||||
|
|
||||||
if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
|
if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set(EXE_CFLAGS "${EXE_CFLAGS} /w")
|
set(EXE_CFLAGS "${EXE_CFLAGS} /w")
|
||||||
|
@ -333,7 +338,11 @@ else()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(OPTIMIZED_C_FLAGS "-std=c99 -O3")
|
if(MSVC)
|
||||||
|
set(OPTIMIZED_C_FLAGS "/O2")
|
||||||
|
else(MSVC)
|
||||||
|
set(OPTIMIZED_C_FLAGS "-std=c99 -O3")
|
||||||
|
endif(MSVC)
|
||||||
|
|
||||||
set(EXE_LDFLAGS " ")
|
set(EXE_LDFLAGS " ")
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
|
|
Loading…
Reference in New Issue