Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/runtime.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Koritzinsky <jekoritz@microsoft.com>2019-10-07 22:11:15 +0300
committerGitHub <noreply@github.com>2019-10-07 22:11:15 +0300
commitc472903e41daa70c7f29dcad5d94e6fde143010e (patch)
tree4e3ff9640eb0a1882f7675b7939903dbffd1c21b /src/coreclr/clrdefinitions.cmake
parent364f059f06b834ed0fba99b4a6fbe4617cfc176d (diff)
Clean up our CMake scripts using features introduced between 3… (dotnet/coreclr#26980)
* Try to remove the CLR_CMAKE_COMPILER weirdness. * Cleanup phase 1. Fixes CMake's incremental build, but makes MSBuild complain about it's incremental build possibly not working. * Drive dac and crossgen-specific defines through target properties. * First pass of consolidation of singularly nested CMakeLists.txt files. * Convert metadata libraries to not use leaf folders for dac/runtime/crossgen/dbi variations. * Clean up some of the non-arm assembly file handling. * Encapsulate arm/arm64 manual preprocessing and compilation of assembly files into a cmake function preprocess_compile_asm. * Fix typo. * Convert usages of add_precompiled_header to target_precompile_header everywhere except the jit. * Clean up/remove some leaf CMake files that are just simple target creation (where most of the work was done in the parent). * Remove unused CMakeLists file and folder. * Clean up coreclr/CMakeLists.txt * Remove conditions based on CMake version (since we're unifying on CMake 3.14) * Convert final usages of add_precompiled_header to target_precompile_header and remove add_precompiled_header. * Handle the AsmConstants.inc inclusion in cee_wks by marking it a header file instead of making a custom target. * Move from deprecated FindPythonInterp module to FindPython module. * Remove unused jitpch.cpp * Fix typo. * Have get_compile_definitions correctly split out generator expressions for multiple-valued generator expressions. * preprocess_def_file -> preprocess_file and make it work xplat. * Fix test build. * Fix typo in flag. * Fix resource building on non-windows. * Fix other linker flag typo I missed. * Add missing eventing_headers dependency. * Fix multivalued generator expression. * Use CMake 3.x features to significantly simplify toolchain.cmake. * Remove references to LLDB from gen-buildsys-* (these aren't needed since SOS moved out of the repo). * Remove debugging line * Check check_pie_supported * Clean up link flags. * Fix copy-paste typo * Cleanup. Change some conditions in configurecompiler to check for MSVC specifically, not Windows. * Restore the llldb include and library path searching. * Restore asmconstants_inc custom target. Commit migrated from https://github.com/dotnet/coreclr/commit/59c7b7e84ab3a74d3939abd0c0f973d2bb9e8a70
Diffstat (limited to 'src/coreclr/clrdefinitions.cmake')
-rw-r--r--src/coreclr/clrdefinitions.cmake42
1 files changed, 29 insertions, 13 deletions
diff --git a/src/coreclr/clrdefinitions.cmake b/src/coreclr/clrdefinitions.cmake
index 372b0318b6e..d4da74a7004 100644
--- a/src/coreclr/clrdefinitions.cmake
+++ b/src/coreclr/clrdefinitions.cmake
@@ -10,6 +10,12 @@ if (PRERELEASE)
# add_definitions(-DFEATURE_XXX)
endif (PRERELEASE)
+add_compile_definitions($<$<BOOL:$<TARGET_PROPERTY:DAC_COMPONENT>>:DACCESS_COMPILE>)
+add_compile_definitions($<$<BOOL:$<TARGET_PROPERTY:CROSSGEN_COMPONENT>>:CROSSGEN_COMPILE>)
+add_compile_definitions($<$<BOOL:$<TARGET_PROPERTY:CROSSGEN_COMPONENT>>:CROSS_COMPILE>)
+add_compile_definitions($<$<BOOL:$<TARGET_PROPERTY:CROSSGEN_COMPONENT>>:FEATURE_NATIVE_IMAGE_GENERATION>)
+add_compile_definitions($<$<BOOL:$<TARGET_PROPERTY:CROSSGEN_COMPONENT>>:SELF_NO_HOST>)
+
if (CLR_CMAKE_TARGET_ARCH_AMD64)
if (CLR_CMAKE_PLATFORM_UNIX)
add_definitions(-DDBG_TARGET_AMD64_UNIX)
@@ -73,7 +79,8 @@ endif(CLR_CMAKE_PLATFORM_ALPINE_LINUX)
add_definitions(-D_BLD_CLR)
add_definitions(-DDEBUGGING_SUPPORTED)
-add_definitions(-DPROFILING_SUPPORTED)
+add_compile_definitions($<$<NOT:$<BOOL:$<TARGET_PROPERTY:DAC_COMPONENT>>>:PROFILING_SUPPORTED>)
+add_compile_definitions($<$<BOOL:$<TARGET_PROPERTY:DAC_COMPONENT>>:PROFILING_SUPPORTED_DATA>)
if(WIN32)
add_definitions(-DWIN32)
@@ -85,9 +92,9 @@ if(WIN32)
if(CLR_CMAKE_TARGET_ARCH_AMD64 OR CLR_CMAKE_TARGET_ARCH_I386)
# Only enable edit and continue on windows x86 and x64
# exclude Linux, arm & arm64
- add_definitions(-DEnC_SUPPORTED)
+ add_compile_definitions($<$<NOT:$<BOOL:$<TARGET_PROPERTY:CROSSGEN_COMPONENT>>>:EnC_SUPPORTED>)
endif(CLR_CMAKE_TARGET_ARCH_AMD64 OR CLR_CMAKE_TARGET_ARCH_I386)
-endif(WIN32)
+ endif(WIN32)
# Features - please keep them alphabetically sorted
if(WIN32)
@@ -100,7 +107,7 @@ else(WIN32)
add_definitions(-DFEATURE_ARRAYSTUB_AS_IL)
add_definitions(-DFEATURE_MULTICASTSTUB_AS_IL)
endif(WIN32)
-add_definitions(-DFEATURE_CODE_VERSIONING)
+add_compile_definitions($<$<NOT:$<BOOL:$<TARGET_PROPERTY:CROSSGEN_COMPONENT>>>:FEATURE_CODE_VERSIONING>)
add_definitions(-DFEATURE_COLLECTIBLE_TYPES)
if(WIN32)
@@ -121,7 +128,7 @@ if(FEATURE_DBGIPC)
endif(FEATURE_DBGIPC)
add_definitions(-DFEATURE_DEFAULT_INTERFACES)
if(FEATURE_EVENT_TRACE)
- add_definitions(-DFEATURE_EVENT_TRACE)
+ add_compile_definitions($<$<NOT:$<BOOL:$<TARGET_PROPERTY:CROSSGEN_COMPONENT>>>:FEATURE_EVENT_TRACE>)
add_definitions(-DFEATURE_PERFTRACING)
endif(FEATURE_EVENT_TRACE)
if(FEATURE_GDBJIT)
@@ -148,7 +155,7 @@ if (WIN32 AND (CLR_CMAKE_TARGET_ARCH_AMD64 OR CLR_CMAKE_TARGET_ARCH_I386 OR CLR_
add_definitions(-DFEATURE_INTEROP_DEBUGGING)
endif (WIN32 AND (CLR_CMAKE_TARGET_ARCH_AMD64 OR CLR_CMAKE_TARGET_ARCH_I386 OR CLR_CMAKE_TARGET_ARCH_ARM64))
if(FEATURE_INTERPRETER)
- add_definitions(-DFEATURE_INTERPRETER)
+ add_compile_definitions($<$<NOT:$<BOOL:$<TARGET_PROPERTY:CROSSGEN_COMPONENT>>>:FEATURE_INTERPRETER>)
endif(FEATURE_INTERPRETER)
add_definitions(-DFEATURE_ISYM_READER)
if (CLR_CMAKE_PLATFORM_LINUX OR WIN32)
@@ -159,27 +166,36 @@ add_definitions(-DFEATURE_MANAGED_ETW_CHANNELS)
if(FEATURE_MERGE_JIT_AND_ENGINE)
add_definitions(-DFEATURE_MERGE_JIT_AND_ENGINE)
endif(FEATURE_MERGE_JIT_AND_ENGINE)
-add_definitions(-DFEATURE_MULTICOREJIT)
+add_compile_definitions($<$<NOT:$<BOOL:$<TARGET_PROPERTY:CROSSGEN_COMPONENT>>>:FEATURE_MULTICOREJIT>)
if(CLR_CMAKE_PLATFORM_UNIX)
add_definitions(-DFEATURE_PAL)
add_definitions(-DFEATURE_PAL_ANSI)
endif(CLR_CMAKE_PLATFORM_UNIX)
-if(CLR_CMAKE_PLATFORM_LINUX OR CLR_CMAKE_PLATFORM_FREEBSD)
+if(CLR_CMAKE_PLATFORM_LINUX)
add_definitions(-DFEATURE_PERFMAP)
-endif(CLR_CMAKE_PLATFORM_LINUX OR CLR_CMAKE_PLATFORM_FREEBSD)
+endif(CLR_CMAKE_PLATFORM_LINUX)
+if(CLR_CMAKE_PLATFORM_FREEBSD)
+ add_compile_definitions($<$<NOT:$<BOOL:$<TARGET_PROPERTY:CROSSGEN_COMPONENT>>>:FEATURE_PERFMAP>)
+endif(CLR_CMAKE_PLATFORM_FREEBSD)
if(FEATURE_PREJIT)
add_definitions(-DFEATURE_PREJIT)
+else()
+ add_compile_definitions($<$<BOOL:$<TARGET_PROPERTY:CROSSGEN_COMPONENT>>:FEATURE_PREJIT>)
endif(FEATURE_PREJIT)
if(WIN32 OR CLR_CMAKE_PLATFORM_LINUX)
- add_definitions(-DFEATURE_PROFAPI_ATTACH_DETACH)
+ add_compile_definitions($<$<AND:$<NOT:$<BOOL:$<TARGET_PROPERTY:CROSSGEN_COMPONENT>>>,$<NOT:$<BOOL:$<TARGET_PROPERTY:DAC_COMPONENT>>>>:FEATURE_PROFAPI_ATTACH_DETACH>)
endif(WIN32 OR CLR_CMAKE_PLATFORM_LINUX)
+add_compile_definitions($<$<BOOL:$<TARGET_PROPERTY:DAC_COMPONENT>>:DATA_PROFAPI_ATTACH_DETACH>)
+
add_definitions(-DFEATURE_READYTORUN)
+
+add_compile_definitions($<$<BOOL:$<TARGET_PROPERTY:CROSSGEN_COMPONENT>>:FEATURE_READYTORUN_COMPILER>)
set(FEATURE_READYTORUN 1)
if (CLR_CMAKE_TARGET_ARCH_AMD64 OR CLR_CMAKE_TARGET_ARCH_I386)
- add_definitions(-DFEATURE_REJIT)
+ add_compile_definitions($<$<NOT:$<BOOL:$<TARGET_PROPERTY:CROSSGEN_COMPONENT>>>:FEATURE_REJIT>)
endif(CLR_CMAKE_TARGET_ARCH_AMD64 OR CLR_CMAKE_TARGET_ARCH_I386)
if (CLR_CMAKE_PLATFORM_UNIX OR CLR_CMAKE_TARGET_ARCH_ARM64)
@@ -193,7 +209,7 @@ if (FEATURE_ENABLE_NO_ADDRESS_SPACE_RANDOMIZATION)
endif(FEATURE_ENABLE_NO_ADDRESS_SPACE_RANDOMIZATION)
add_definitions(-DFEATURE_SVR_GC)
add_definitions(-DFEATURE_SYMDIFF)
-add_definitions(-DFEATURE_TIERED_COMPILATION)
+add_compile_definitions($<$<NOT:$<BOOL:$<TARGET_PROPERTY:CROSSGEN_COMPONENT>>>:FEATURE_TIERED_COMPILATION>)
if (WIN32)
add_definitions(-DFEATURE_TYPEEQUIVALENCE)
endif(WIN32)
@@ -216,7 +232,7 @@ if((CLR_CMAKE_PLATFORM_ARCH_AMD64 OR CLR_CMAKE_PLATFORM_ARCH_ARM64) AND NOT WIN3
endif((CLR_CMAKE_PLATFORM_ARCH_AMD64 OR CLR_CMAKE_PLATFORM_ARCH_ARM64) AND NOT WIN32)
if(WIN32)
- add_definitions(-DFEATURE_VERSIONING_LOG)
+ add_compile_definitions($<$<NOT:$<BOOL:$<TARGET_PROPERTY:CROSSGEN_COMPONENT>>>:FEATURE_VERSIONING_LOG>)
endif(WIN32)
if(NOT CLR_CMAKE_PLATFORM_UNIX)
add_definitions(-DFEATURE_WIN32_REGISTRY)