Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor CMake system to allow cross OS DAC compile #2054

Merged
merged 2 commits into from
Jan 24, 2020

Conversation

sdmaclea
Copy link
Contributor

Add CLR_CMAKE_HOST_OS

Add rules to determine which cross OS combinations are valid

Make add_defintions depend on TARGET OS properties

Wherever reasonable make C++ define defintions depend on runtime target
rather than host.

@sdmaclea
Copy link
Contributor Author

This collided with @am11's #1753. I have fixed the merge conflicts.

@am11
Copy link
Member

am11 commented Jan 24, 2020

Currently src/coreclr and src/installer are sharing host definitions via eng/native/configureplatform.cmake. We can make src/libraries/Native/Unix/CMakeLists.txt also depend on it. Then there will be only one file setting CLR_CMAKE_{HOST,TARGET}_PLATFORM_* in the entire repo.

@jkotas
Copy link
Member

jkotas commented Jan 24, 2020

The build break on musl is likely introduced by these changes. Could you please take a look?

Add CLR_CMAKE_HOST_OS

Add rules to determine which cross OS combinations are valid

Make add_defintions depend on TARGET OS properties

Wherever reasonable make C++ define defintions depend on runtime target
rather than host.
@sdmaclea
Copy link
Contributor Author

Thanks @jkotas. I found the error. I neglected to set CLR_CMAKE_TARGET_LINUX for alpine and tizen. This disabled /PerfMap support in crossgen and caused the failure.

@sdmaclea sdmaclea merged commit a0cb673 into dotnet:master Jan 24, 2020
@sdmaclea sdmaclea deleted the CMakeCross branch January 24, 2020 22:09
@ghost ghost locked as resolved and limited conversation to collaborators Dec 11, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants