-
-
Notifications
You must be signed in to change notification settings - Fork 39
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
Build sentry from source #706
base: main
Are you sure you want to change the base?
Conversation
only windows tested currently
|
needed to make build self contained
@tustanivsky Any insights on the build issues. from what i can tell something is referencing |
Only thing left before final review is add the ability to build for both crashpad and breakpad independently |
# Conflicts: # CHANGELOG.md # modules/sentry-native
I have marked this as ready to review as all contents are ready. The is 1 thing missing related to building backtrace from CI and this looks to be a larger discussion |
|
Ah yeah when I looked at it before it looked to be a permissions issue but looks to be doesn't with that last build. I'll take a look |
sentry-native/.codecov.yml | ||
sentry-native/.craft.yml | ||
sentry-native/.editorconfig | ||
sentry-native/.git |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe a @tustanivsky question:
Should we be adding .git
to the packages? This will include all commit history etc.
Similarly about .github
, looks like we're adding the whole git submodule as-is.
plugin-dev/sentry-native
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did this require a change in sentry-native
to work?
If so, lets get that added to main
through a PR on sentry-native
first. Then we bump main
here and pull that into this branch.
This way we don't need to change sentry-native
in this PR and having it pass CI checks that the change is compatible with it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There should be no changes to native. The current issues to CI imply im missing something with building Linux.
public class Sentry : ModuleRules | ||
{ | ||
[CommandLine("-usebreakpad")] | ||
public bool bUseBreakpad = false; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I say false
, what am I using then?
And would that be true regardless of platform? (On Xbox today we only support breakpad so that's odd)
Seems like config will be more complicated than a bool
as it'll depend on what platform you're targeting, and what's supported there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I should probably rename this. Its an override more then anything. Native already select the backend needed for selected platforms but this allows the build system to override to build to use breakpad on windows. its needed for shipping releases as we only ship breakpad for the marketplace version
{ | ||
string generatorName=""; | ||
|
||
switch(compiler) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we cover all these branches in CI?
I don't think we're building on Windows yet, so we need to add that, for example.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We do not currently build windows. i did talk to Ivan about this briefly when gathering information. Last info i got on the topic was during a weekly meeting it was mentioned he was pointed at some stuff that may help get it working.
As for the generators we currently dont build all the unreal generators even on linux. Im not even sure we try all cmake generators on the native side. But the general goal here is to map the unreal compiler to its best fit in the cmake space.
} | ||
public class CMakeTargetInst | ||
{ | ||
// Based on UE4CMake with modifications |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a link to where this came from that you can copy and paste here?
Instead of linking to the file through a branch, use the commit sha (on GitHub, if you press y
it changes the path from branch to sha automatically.
.gitmodules
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did it need to move to plugin-dev
? It was located on modules
before and it's unclear why it had to change.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The SDK plugin now needs to know the path to native in order to build. I did originally try do this via symlink but with the SDK itself being used as a symlink it caused errors and pointed to the wrong direction. The safest and least error prone option for users was to simple move native into the SDK folder so that wherever you build SDK it can easily locate native without manual user steps
Co-authored-by: Bruno Garcia <[email protected]>
WIP changes to build sentry-native from source.
Currently i have only tested/developed on windows and will not yet fully compile due to not linking libraries.
The changes here are based on UE4CMake with modification and cleanup to better function for the needs of sentry.
going forward further modification will be needed to add platform support for all our needs.
In addition we will need to load custom toolchains for some platforms.
TODO: