From 2b3b6c0bf8428e91e24df09644aa922a19a61cad Mon Sep 17 00:00:00 2001 From: Steve MacLean Date: Thu, 6 Feb 2020 20:19:10 -0500 Subject: [PATCH] Fix regression in cross OS DAC compilation Fix DAC cross OS compilations regressions introduced by #31659 --- src/coreclr/src/dlls/mscordac/CMakeLists.txt | 19 ++++++++++++------- .../src/dlls/mscorrc/full/CMakeLists.txt | 4 ++-- src/coreclr/src/hosts/CMakeLists.txt | 6 +++--- src/coreclr/src/vm/eventing/CMakeLists.txt | 4 ++-- 4 files changed, 19 insertions(+), 14 deletions(-) diff --git a/src/coreclr/src/dlls/mscordac/CMakeLists.txt b/src/coreclr/src/dlls/mscordac/CMakeLists.txt index ba45564b05296f..e5bc381a0679ef 100644 --- a/src/coreclr/src/dlls/mscordac/CMakeLists.txt +++ b/src/coreclr/src/dlls/mscordac/CMakeLists.txt @@ -5,7 +5,7 @@ set(CLR_DAC_SOURCES add_definitions(-DFX_VER_INTERNALNAME_STR=mscordaccore.dll) -if(CLR_CMAKE_TARGET_WIN32) +if(CLR_CMAKE_HOST_WIN32) list(APPEND CLR_DAC_SOURCES Native.rc ) @@ -24,7 +24,7 @@ if(CLR_CMAKE_TARGET_WIN32) # No library groups for Win32 set(START_LIBRARY_GROUP) set(END_LIBRARY_GROUP) -else(CLR_CMAKE_TARGET_WIN32) +else(CLR_CMAKE_HOST_WIN32) set(DEF_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/mscordac_unixexports.src) set(EXPORTS_FILE ${CMAKE_CURRENT_BINARY_DIR}/mscordac.exports) @@ -71,7 +71,7 @@ else(CLR_CMAKE_TARGET_WIN32) # Add lib redefines file to DAC list(APPEND CLR_DAC_SOURCES libredefines.S) endif(CLR_CMAKE_HOST_LINUX) -endif(CLR_CMAKE_TARGET_WIN32) +endif(CLR_CMAKE_HOST_WIN32) if(CLR_CMAKE_HOST_LINUX OR CLR_CMAKE_HOST_FREEBSD OR CLR_CMAKE_HOST_NETBSD) # This option is necessary to ensure that the overloaded delete operator defined inside @@ -136,6 +136,12 @@ set(COREDAC_LIBRARIES ) if(CLR_CMAKE_TARGET_WIN32) + list(APPEND COREDAC_LIBRARIES + mdwinmd_dac + ) +endif(CLR_CMAKE_TARGET_WIN32) + +if(CLR_CMAKE_HOST_WIN32) # mscordac.def should be generated before mscordaccore.dll is built add_dependencies(mscordaccore mscordaccore_def) @@ -160,7 +166,6 @@ if(CLR_CMAKE_TARGET_WIN32) set(COREDAC_LIBRARIES ${CMAKE_CURRENT_BINARY_DIR}/mscordaccore.exp # export file ${COREDAC_LIBRARIES} - mdwinmd_dac kernel32.lib advapi32.lib ole32.lib @@ -170,7 +175,7 @@ if(CLR_CMAKE_TARGET_WIN32) ${STATIC_MT_CRT_LIB} ${STATIC_MT_VCRT_LIB} ) -else(CLR_CMAKE_TARGET_WIN32) +else(CLR_CMAKE_HOST_WIN32) list(APPEND COREDAC_LIBRARIES mscorrc_debug ${START_WHOLE_ARCHIVE} # force all PAL objects to be included so all exports are available @@ -178,7 +183,7 @@ else(CLR_CMAKE_TARGET_WIN32) palrt ${END_WHOLE_ARCHIVE} ) -endif(CLR_CMAKE_TARGET_WIN32) +endif(CLR_CMAKE_HOST_WIN32) target_link_libraries(mscordaccore PRIVATE ${COREDAC_LIBRARIES}) @@ -186,7 +191,7 @@ target_link_libraries(mscordaccore PRIVATE ${COREDAC_LIBRARIES}) install_clr(TARGETS mscordaccore) install_clr(TARGETS mscordaccore DESTINATION sharedFramework SKIP_STRIP) -if(CLR_CMAKE_TARGET_WIN32) +if(CLR_CMAKE_HOST_WIN32) set(LONG_NAME_HOST_ARCH ${CLR_CMAKE_HOST_ARCH}) set(LONG_NAME_TARGET_ARCH ${CLR_CMAKE_TARGET_ARCH}) if (LONG_NAME_HOST_ARCH STREQUAL x64) diff --git a/src/coreclr/src/dlls/mscorrc/full/CMakeLists.txt b/src/coreclr/src/dlls/mscorrc/full/CMakeLists.txt index 5414e790146b5e..ffdb8a3b146419 100644 --- a/src/coreclr/src/dlls/mscorrc/full/CMakeLists.txt +++ b/src/coreclr/src/dlls/mscorrc/full/CMakeLists.txt @@ -1,6 +1,6 @@ add_definitions(-DFX_VER_INTERNALNAME_STR=mscorrc.debug.dll) -if(CLR_CMAKE_TARGET_WIN32) +if(CLR_CMAKE_HOST_WIN32) add_library_clr(mscorrc.debug SHARED ../include.rc @@ -16,5 +16,5 @@ else() ${TARGET_CPP_FILE} ) -endif(CLR_CMAKE_TARGET_WIN32) +endif(CLR_CMAKE_HOST_WIN32) diff --git a/src/coreclr/src/hosts/CMakeLists.txt b/src/coreclr/src/hosts/CMakeLists.txt index fed5a0f81c0a58..c3a6875feb6e86 100644 --- a/src/coreclr/src/hosts/CMakeLists.txt +++ b/src/coreclr/src/hosts/CMakeLists.txt @@ -1,14 +1,14 @@ include_directories(inc) -if(CLR_CMAKE_TARGET_WIN32) +if(CLR_CMAKE_HOST_WIN32) add_subdirectory(corerun) add_subdirectory(coreconsole) add_subdirectory(coreshim) -else(CLR_CMAKE_TARGET_WIN32) +else(CLR_CMAKE_HOST_WIN32) add_subdirectory(unixcoreruncommon) add_subdirectory(unixcorerun) add_subdirectory(unixcoreconsole) if(CLR_CMAKE_HOST_DARWIN) add_subdirectory(osxbundlerun) endif(CLR_CMAKE_HOST_DARWIN) -endif(CLR_CMAKE_TARGET_WIN32) +endif(CLR_CMAKE_HOST_WIN32) diff --git a/src/coreclr/src/vm/eventing/CMakeLists.txt b/src/coreclr/src/vm/eventing/CMakeLists.txt index 92d9bd1f607736..98dd158df54577 100644 --- a/src/coreclr/src/vm/eventing/CMakeLists.txt +++ b/src/coreclr/src/vm/eventing/CMakeLists.txt @@ -1,7 +1,7 @@ set(EVENT_MANIFEST ${VM_DIR}/ClrEtwAll.man) set(EVENT_EXCLUSIONS ${VM_DIR}/ClrEtwAllMeta.lst) -if (CLR_CMAKE_TARGET_WIN32) +if (CLR_CMAKE_HOST_WIN32) set(NONEXTERN_ARG "--nonextern") set(NOXPLATHEADER_ARG "--noxplatheader") else() @@ -35,6 +35,6 @@ add_dependencies(eventing_headers eventprovider) add_subdirectory(eventpipe) -if(CLR_CMAKE_TARGET_WIN32) +if(CLR_CMAKE_HOST_WIN32) add_subdirectory(EtwProvider) endif()