summaryrefslogtreecommitdiff
path: root/compileoptions.cmake
diff options
context:
space:
mode:
authorRahul Kumar <rahku@microsoft.com>2016-04-19 14:22:23 -0700
committerRahul Kumar <rahku@microsoft.com>2016-04-26 10:12:06 -0700
commit27fc507393a641542a939168b41585895b6b4fc2 (patch)
tree4e979ea708fe9af0987087a155cf27135e049e97 /compileoptions.cmake
parent5fe61b36cc72d43263fc892c754bb9f46acb5ef5 (diff)
downloadcoreclr-27fc507393a641542a939168b41585895b6b4fc2.tar.gz
coreclr-27fc507393a641542a939168b41585895b6b4fc2.tar.bz2
coreclr-27fc507393a641542a939168b41585895b6b4fc2.zip
This has following changes:
1. Update arm64 toolset to latest. 2. Link against ucrt. 3. Fix tls offsets which have changed due to updated toolset 4. Fix source code in decimal.cpp to avoid integer overflow. Result of signed integer overlfow is undefined in C++. 5. Enable build of sos which can be loaded in arm64 windbg 6. Add nop to empty assembly marker methods as new toolset generates invalid .pdata for them.
Diffstat (limited to 'compileoptions.cmake')
-rw-r--r--compileoptions.cmake25
1 files changed, 12 insertions, 13 deletions
diff --git a/compileoptions.cmake b/compileoptions.cmake
index 4ec51d3ad2..739b1a214c 100644
--- a/compileoptions.cmake
+++ b/compileoptions.cmake
@@ -96,19 +96,18 @@ if (WIN32)
add_compile_options($<$<CONFIG:Debug>:/homeparams>) # Force parameters passed in registers to be written to the stack
endif (CLR_CMAKE_PLATFORM_ARCH_AMD64)
- if(NOT CLR_CMAKE_PLATFORM_ARCH_ARM64)
- # enable control-flow-guard support for native components for non-Arm64 builds
- add_compile_options(/guard:cf)
-
- # Statically linked CRT (libcmt[d].lib, libvcruntime[d].lib and libucrt[d].lib) by default. This is done to avoid
- # linking in VCRUNTIME140.DLL for a simplified xcopy experience by reducing the dependency on VC REDIST.
- #
- # For Release builds, we shall dynamically link into uCRT [ucrtbase.dll] (which is pushed down as a Windows Update on downlevel OS) but
- # wont do the same for debug/checked builds since ucrtbased.dll is not redistributable and Debug/Checked builds are not
- # production-time scenarios.
- add_compile_options($<$<OR:$<CONFIG:Release>,$<CONFIG:Relwithdebinfo>>:/MT>)
- add_compile_options($<$<OR:$<CONFIG:Debug>,$<CONFIG:Checked>>:/MTd>)
- endif (NOT CLR_CMAKE_PLATFORM_ARCH_ARM64)
+ # enable control-flow-guard support for native components for non-Arm64 builds
+ add_compile_options(/guard:cf)
+
+ # Statically linked CRT (libcmt[d].lib, libvcruntime[d].lib and libucrt[d].lib) by default. This is done to avoid
+ # linking in VCRUNTIME140.DLL for a simplified xcopy experience by reducing the dependency on VC REDIST.
+ #
+ # For Release builds, we shall dynamically link into uCRT [ucrtbase.dll] (which is pushed down as a Windows Update on downlevel OS) but
+ # wont do the same for debug/checked builds since ucrtbased.dll is not redistributable and Debug/Checked builds are not
+ # production-time scenarios.
+ add_compile_options($<$<OR:$<CONFIG:Release>,$<CONFIG:Relwithdebinfo>>:/MT>)
+ add_compile_options($<$<OR:$<CONFIG:Debug>,$<CONFIG:Checked>>:/MTd>)
+
endif (WIN32)
if(CMAKE_ENABLE_CODE_COVERAGE)