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:
authorTomáš Rylek <trylek@microsoft.com>2020-12-08 05:19:44 +0300
committerGitHub <noreply@github.com>2020-12-08 05:19:44 +0300
commit69e114c1abf91241a0eeecf1ecceab4711b8aa62 (patch)
treeb81a0b35748f5e598412bcc504335cdbd322cd43 /src/coreclr/CMakeLists.txt
parent0ec07945a9759a72a689edbb01e69b232e26e05a (diff)
December infra rollout - remove duplicated 'src' from coreclr subrepo (src/coreclr/src becomes src/coreclr) (#44973)
* Move src/coreclr/src/Directory.Build.targets to src/coreclr Merge src/coreclr/src/CMakeLists.txt into src/coreclr/CMakeLists.txt * Mechanical move of src/coreclr/src to src/coreclr * Scripts adjustments to reflect the changed paths
Diffstat (limited to 'src/coreclr/CMakeLists.txt')
-rw-r--r--src/coreclr/CMakeLists.txt134
1 files changed, 117 insertions, 17 deletions
diff --git a/src/coreclr/CMakeLists.txt b/src/coreclr/CMakeLists.txt
index b7cb9e93e69..2b0bf50d1c6 100644
--- a/src/coreclr/CMakeLists.txt
+++ b/src/coreclr/CMakeLists.txt
@@ -19,11 +19,11 @@ endif (MSVC)
# Set commonly used directory names
set(CLR_DIR ${CMAKE_CURRENT_SOURCE_DIR})
-set(VM_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/vm)
-set(GENERATED_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/src/inc)
+set(VM_DIR ${CMAKE_CURRENT_SOURCE_DIR}/vm)
+set(GENERATED_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/inc)
set(GENERATED_EVENTING_DIR ${CMAKE_CURRENT_BINARY_DIR}/Eventing)
set(VERSION_FILE_PATH "${CMAKE_BINARY_DIR}/version.c")
-set(PAL_REDEFINES_FILE ${CMAKE_CURRENT_SOURCE_DIR}/src/dlls/mscordac/palredefines.S)
+set(PAL_REDEFINES_FILE ${CMAKE_CURRENT_SOURCE_DIR}/dlls/mscordac/palredefines.S)
# Avoid logging when skipping up-to-date copies
set(CMAKE_INSTALL_MESSAGE LAZY)
@@ -79,24 +79,24 @@ if(CLR_CMAKE_HOST_UNIX)
endif()
endif()
- add_subdirectory(src/pal)
- add_subdirectory(src/hosts)
+ add_subdirectory(pal)
+ add_subdirectory(hosts)
else(CLR_CMAKE_HOST_UNIX)
if(CLR_CMAKE_TARGET_UNIX)
- add_subdirectory(src/pal/src/libunwind)
+ add_subdirectory(pal/src/libunwind)
endif(CLR_CMAKE_TARGET_UNIX)
endif(CLR_CMAKE_HOST_UNIX)
# Add this subdir. We install the headers for the jit.
-add_subdirectory(src/pal/prebuilt/inc)
+add_subdirectory(pal/prebuilt/inc)
-add_subdirectory(src/debug/debug-pal)
+add_subdirectory(debug/debug-pal)
if(CLR_CMAKE_TARGET_WIN32 AND CLR_CMAKE_BUILD_SUBSET_RUNTIME)
- add_subdirectory(src/gc/sample)
+ add_subdirectory(gc/sample)
endif()
-add_subdirectory(src/tools/aot/jitinterface)
+add_subdirectory(tools/aot/jitinterface)
# Above projects do not build with these compile options
# All of the compiler options are specified in file compileoptions.cmake
@@ -116,23 +116,123 @@ include(clrdefinitions.cmake)
# Include directory directives
#-------------------------------------
# Include the basic prebuilt headers - required for getting fileversion resource details.
-include_directories("src/pal/prebuilt/inc")
+include_directories("pal/prebuilt/inc")
include_directories("../../artifacts/obj/coreclr")
if(FEATURE_STANDALONE_GC)
add_definitions(-DFEATURE_STANDALONE_GC)
if (CLR_CMAKE_BUILD_SUBSET_RUNTIME)
- add_subdirectory(src/gc)
+ add_subdirectory(gc)
endif (CLR_CMAKE_BUILD_SUBSET_RUNTIME)
endif(FEATURE_STANDALONE_GC)
if (CLR_CMAKE_HOST_UNIX)
- include_directories("src/pal/inc")
- include_directories("src/pal/inc/rt")
- include_directories("src/pal/src/safecrt")
+ include_directories("pal/inc")
+ include_directories("pal/inc/rt")
+ include_directories("pal/src/safecrt")
endif (CLR_CMAKE_HOST_UNIX)
#------------------------------
-# Add Product Directory
+# Add Product Directories
#------------------------------
-add_subdirectory(src)
+include_directories("inc")
+include_directories("debug/inc")
+include_directories("debug/inc/${ARCH_SOURCES_DIR}")
+include_directories("debug/inc/dump")
+include_directories("md/inc")
+include_directories("classlibnative/bcltype")
+include_directories("classlibnative/cryptography")
+include_directories("classlibnative/inc")
+include_directories("${GENERATED_INCLUDE_DIR}")
+include_directories("hosts/inc")
+
+if(CLR_CMAKE_TARGET_WIN32 AND FEATURE_EVENT_TRACE)
+ include_directories("${GENERATED_INCLUDE_DIR}/etw")
+endif(CLR_CMAKE_TARGET_WIN32 AND FEATURE_EVENT_TRACE)
+
+add_subdirectory(debug/dbgutil)
+
+if(CLR_CMAKE_HOST_UNIX)
+ if(CLR_CMAKE_BUILD_SUBSET_RUNTIME)
+ if(CLR_CMAKE_HOST_OSX OR (CLR_CMAKE_HOST_LINUX AND NOT CLR_CMAKE_HOST_UNIX_X86 AND NOT CLR_CMAKE_HOST_ANDROID))
+ add_subdirectory(debug/createdump)
+ endif(CLR_CMAKE_HOST_OSX OR (CLR_CMAKE_HOST_LINUX AND NOT CLR_CMAKE_HOST_UNIX_X86 AND NOT CLR_CMAKE_HOST_ANDROID))
+ endif(CLR_CMAKE_BUILD_SUBSET_RUNTIME)
+
+ # Include the dummy c++ include files
+ include_directories("pal/inc/rt/cpp")
+
+ # This prevents inclusion of standard C compiler headers
+ add_compile_options(-nostdinc)
+
+ set (NATIVE_RESOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/nativeresources)
+ include_directories(${NATIVE_RESOURCE_DIR})
+ set (RC_TO_CPP ${NATIVE_RESOURCE_DIR}/rctocpp.awk)
+ set (PROCESS_RC ${NATIVE_RESOURCE_DIR}/processrc.awk)
+ set (RESOURCE_STRING_HEADER_DIR ${NATIVE_RESOURCE_DIR})
+
+ # Create a command to create a C++ source file containing an array of
+ # NativeStringResource structs which represent the information from a
+ # given Windows .rc file. The target C++ file path is returned in the
+ # variable specified by the TARGET_FILE parameter.
+ function(build_resources SOURCE TARGET_NAME TARGET_FILE)
+
+ set(PREPROCESSED_SOURCE ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}.rc.i)
+
+ preprocess_file(${SOURCE} ${PREPROCESSED_SOURCE})
+
+ set(RESOURCE_ENTRY_ARRAY_CPP ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}.cpp)
+
+ add_custom_command(
+ OUTPUT ${RESOURCE_ENTRY_ARRAY_CPP}
+ # Convert the preprocessed .rc file to a C++ file which will be used to make a static lib.
+ COMMAND ${AWK} -v name=${TARGET_NAME} -f ${RC_TO_CPP} -f ${PROCESS_RC} ${PREPROCESSED_SOURCE} >${RESOURCE_ENTRY_ARRAY_CPP}
+ DEPENDS ${PREPROCESSED_SOURCE} ${RC_TO_CPP} ${PROCESS_RC}
+ )
+
+ include_directories(${RESOURCE_STRING_HEADER_DIR})
+ set(${TARGET_FILE} ${RESOURCE_ENTRY_ARRAY_CPP} PARENT_SCOPE)
+
+ endfunction()
+
+ add_subdirectory(nativeresources)
+endif(CLR_CMAKE_HOST_UNIX)
+
+if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 10.0))
+ add_compile_options(-Wno-error=stringop-overflow=)
+endif()
+
+add_subdirectory(utilcode)
+add_subdirectory(gcinfo)
+add_subdirectory(jit)
+add_subdirectory(inc)
+
+if(CLR_CMAKE_HOST_UNIX)
+ add_subdirectory(palrt)
+endif(CLR_CMAKE_HOST_UNIX)
+
+add_subdirectory(vm)
+if (CLR_CMAKE_BUILD_SUBSET_RUNTIME)
+ add_subdirectory(md)
+ add_subdirectory(debug)
+ add_subdirectory(binder)
+ add_subdirectory(classlibnative)
+ add_subdirectory(dlls)
+ add_subdirectory(ToolBox)
+ add_subdirectory(tools)
+ add_subdirectory(unwinder)
+ add_subdirectory(ildasm)
+ add_subdirectory(ilasm)
+ add_subdirectory(interop)
+
+ if(CLR_CMAKE_HOST_WIN32)
+ add_subdirectory(hosts)
+ endif(CLR_CMAKE_HOST_WIN32)
+else()
+ if(CLR_CMAKE_HOST_UNIX)
+ # this is needed to compile the jit on unix platforms.
+ # When the runtime subset is compiled, the add_subdirectory(dlls) above
+ # brings the mscorrc library into the build graph
+ add_subdirectory(dlls/mscorrc)
+ endif(CLR_CMAKE_HOST_UNIX)
+endif(CLR_CMAKE_BUILD_SUBSET_RUNTIME)