-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
CMake: Update Deployment #11341
CMake: Update Deployment #11341
Conversation
@DonLakeFlyer Let me know if any of the extra macos properties made any differences |
Not sure what you want me to look at for this? |
.github/workflows/android.yml
Outdated
@@ -128,37 +143,24 @@ jobs: | |||
env: | |||
GST_VERSION: 1.18.5 | |||
run: | | |||
wget --quiet https://gstreamer.freedesktop.org/data/pkg/android/${GST_VERSION}/gstreamer-1.0-android-universal-${GST_VERSION}.tar.xz | |||
wget https://gstreamer.freedesktop.org/data/pkg/android/${GST_VERSION}/gstreamer-1.0-android-universal-${GST_VERSION}.tar.xz |
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.
How come removal of quiet. Without this it makes lookout the the raw logs really tough with a massive amount of wget logs.
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 had an issue at one point where it wasn't downloading correctly and I couldn't tell but I can put it back.
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.
Would be better without it. It ends up dumping page after page of downloading progress.
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} | ||
MACOSX_BUNDLE_COPYRIGHT "Copyright (c) 2018 QGroundControl. All rights reserved." | ||
MACOSX_BUNDLE_GUI_IDENTIFIER "io.mavlink.qgroundcontrol" | ||
MACOSX_BUNDLE_ICON_FILE "${CMAKE_SOURCE_DIR}/resources/icons/macx.icns" |
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.
Are these the additions you are talking?
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.
Yeah, they were taken from here.
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.
Ok, nice. That should get it closer. It's still going to have problems with the streamer framework though. There will be extra futzing needed that macdeployqt doesn't do.
src/comm/CMakeLists.txt
Outdated
@@ -77,6 +77,14 @@ endif() | |||
|
|||
target_compile_definitions(comm PUBLIC QGC_ENABLE_BLUETOOTH) | |||
|
|||
if(NOT EXISTS ${CMAKE_SOURCE_DIR}/libs/mavlink/include/mavlink/v2.0/ardupilotmega) |
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.
What is this for? In general QGC doesn't use ardupilotmega dialect. It uses "all" dialect.
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 don't know to be honest. It was in the qmake stuff
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 think you can get rid of 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.
Should I remove its usage in the code too?
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.
Can you point me at that?
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 is a PX4 one as well to make an ArduPilot only build. It also reduces some of the complexity in the UI since it's simpler to support a single firmware type.
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.
So two things:
- As I said NO_ARDUPILOT_DIALECT is used to compile out all ArduPilot specific code. It shouldn't really have "DIALECT" in the name, which confuses things with mavlink dialects. It really should be NO_ARDUPILOT_SUPPORT.
- MAV_AUTOPILOT_ARDUPILOTMEGA is a firmware type from the mavlink spec: MAV_AUTOPILOT_ARDUPILOTMEGA. Is to determine what firmware type the vehicle is running
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.
In the past QGC used to use the ArduPilot mavlink dialect to build against instead of common. That's because at that time that dialect was a superset of what Ardupilot and PX4 used. So it made thing in QGC be able to talk mavlink with both firmwares. Also ages ago I decided to stop supporting Ardupilot specific mavlink stuff and just focus on generic across the board support because it was too much of a pain to implement things multiple ways. From the mavlink spec side this has been cleaned up such that the "all" dialect is now the one that all firmwares support. Hence the whole "DIALECT" aspect of "NO_ARDUPILOT_DIALECT" no longer makes any sense. Whereas in the past it made more sense.
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.
Wait then why should we get rid of the NO_ARDUPILOT_DIALECT compile definition? Or are you referring the check if it exists? Like it should be a cmake option instead of checking if the file exists?
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.
You should get rid of this check:
if(NOT EXISTS ${CMAKE_SOURCE_DIR}/libs/mavlink/include/mavlink/v2.0/ardupilotmega)
target_compile_definitions(${PROJECT_NAME} PUBLIC NO_ARDUPILOT_DIALECT) # TODO: Make this QGC_NO_ARDUPILOT_DIALECT
endif()
You shouldn't get rid of NO_ARDUPILOT_DIALECT.
This has some CMake and Android CI fixes including adjustments to multiabi builds, macos deployment settings, and compilation definitions. Adds back Android caching for now. Somehow revealed a small bug in QGCTileCacheWorker.cpp