diff options
author | Tomáš Rylek <trylek@microsoft.com> | 2020-12-08 05:19:44 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-08 05:19:44 +0300 |
commit | 69e114c1abf91241a0eeecf1ecceab4711b8aa62 (patch) | |
tree | b81a0b35748f5e598412bcc504335cdbd322cd43 /src/coreclr/CMakeLists.txt | |
parent | 0ec07945a9759a72a689edbb01e69b232e26e05a (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.txt | 134 |
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) |