You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Many CMake variables are set in <projectDir>/CMakeLists.txt.
Windows and Linux have different result.
For example, when host is x86 and target is ARM,
In Windows, CMakeList.txt set as
CLR_CMAKE_PLATFORM_ARCH_I386: 1
CLR_CMAKE_HOST_ARCH: x86
CLR_CMAKE_TARGET_ARCH: arm
CLR_CMAKE_TARGET_ARCH_ARM: 1
But in Linux,
CLR_CMAKE_PLATFORM_ARCH_ARM: 1
CLR_CMAKE_HOST_ARCH: arm
CLR_CMAKE_TARGET_ARCH: arm
CLR_CMAKE_TARGET_ARCH_ARM: 1
In linux, CLR_CMAKE_HOST_ARCH and CLR_CMAKE_PLATFORM_ARCH_<ARCH> are defined by CLR_CMAKE_PLATFORM_<OS>_<ARCH>, and CLR_CMAKE_PLATFORM__is defined byCMAKE_SYSTEM_PROCESSOR`.
Not build for cross build environment
ex. directory bin/Linux.arm.Release/x64/ and crossgen for x64-host/arm-target is not generated
(it is not confirm correctness of crossgen if we fix to generate this directory and execution file)
Many CMake variables are set in
<projectDir>/CMakeLists.txt.Windows and Linux have different result.
For example, when host is x86 and target is ARM,
In Windows, CMakeList.txt set as
CLR_CMAKE_PLATFORM_ARCH_I386: 1
CLR_CMAKE_HOST_ARCH: x86
CLR_CMAKE_TARGET_ARCH: arm
CLR_CMAKE_TARGET_ARCH_ARM: 1
But in Linux,
CLR_CMAKE_PLATFORM_ARCH_ARM: 1
CLR_CMAKE_HOST_ARCH: arm
CLR_CMAKE_TARGET_ARCH: arm
CLR_CMAKE_TARGET_ARCH_ARM: 1
In linux,
CLR_CMAKE_HOST_ARCHandCLR_CMAKE_PLATFORM_ARCH_<ARCH>are defined byCLR_CMAKE_PLATFORM_<OS>_<ARCH>, and CLR_CMAKE_PLATFORM__is defined byCMAKE_SYSTEM_PROCESSOR`.CMAKE_SYSTEM_PROCESSORhave target architecture. If host and target is same, the result isuname -p. But in cross build environment, it have target architecture.https://cmake.org/cmake/help/v3.7/variable/CMAKE_SYSTEM_PROCESSOR.html
https://cmake.org/cmake/help/v3.7/manual/cmake-toolchains.7.html
This effects
ex. directory
bin/Linux.arm.Release/x64/andcrossgenforx64-host/arm-targetis not generated(it is not confirm correctness of crossgen if we fix to generate this directory and execution file)
ex. src/pal/CMakeLists.txt: not build
libcoreclrtraceptprovider.so(Several Interop tests failing in Helix on ARM #8421)Need to fix for cross build.