-
Notifications
You must be signed in to change notification settings - Fork 3.9k
ARROW-5638: [C++][CMake] Fixes for xcode project builds #5046
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
Conversation
|
@pprudhvi, could you try this out? |
|
Yes, I am able to create the xcodeproj file now. Thanks. |
Great!
I'm not sure I follow, my workflow with Xcode is to build, run, debug, etc different arrow test executables. I mostly work with the parquet component targets so I'm not sure if I'm missing something specific to your workflow? |
|
some *_ep modules fail to build when I run from Xcode |
|
A workaround is to use brew installed dependencies. I can take a look with |
|
Could you tell me how to use installed dependencies and disable building bundled ep's? |
|
Sure I think I just did this: Then with the default dependency source (" |
|
I see that the lz4_ep fails to build in the Xcode project with the following syndrome: Which won't ever work on macOS... |
|
I think I found the problem with the lz4_ep. The makefile for building the shared library checks for the OS like this (see lz4/lib/Makefile) which I think is necessary to support cross-compiling. The test for |
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.
Could you use list(APPEND GTEST_CMAKE_ARGS ...)?
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.
Good tip, thanks @kou for reviewing these changes!
cpp/CMakeLists.txt
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.
I think that we can always set these variables.
We should use UPPERCASE_BUILD_TYPE instead of CMAKE_BUILD_TYPE because users may specify Debug as CMAKE_BUILD_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.
I think that we can always set these variables.
I'm a bit worried about settings these variables unconditionally and possibly breaking multi-configuration generators (MSVC?).
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.
AppVeyor build will answer this... Oh, we don't have a job that uses "Visual Studio XXX" generator.
OK. We can set them only for Xcode for now.
kou
left a comment
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.
+1
We can merge this with a small fix. Could you see my comments for details?
cpp/CMakeLists.txt
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.
cpp/CMakeLists.txt
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.
AppVeyor build will answer this... Oh, we don't have a job that uses "Visual Studio XXX" generator.
OK. We can set them only for Xcode for now.
|
And could you rebase on master to resolve macOS CI failures? |
|
@kou, I've incorporated your suggestions and rebased on master. Thanks for your help on this. |
Codecov Report
@@ Coverage Diff @@
## master #5046 +/- ##
==========================================
+ Coverage 87.51% 89.23% +1.71%
==========================================
Files 912 731 -181
Lines 139034 104535 -34499
==========================================
- Hits 121679 93277 -28402
+ Misses 17003 11258 -5745
+ Partials 352 0 -352Continue to review full report at Codecov.
|
kou
left a comment
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.
+1
Thanks! I'll merge this.
This patch fixes the following build failures with Xcode projects generated with the
-G Xcodeoption for Cmake:ARROW_GANDIVA_JAVAThis patch effectively disables the ability to do multi-configuration builds with the generated Xcode project and makes them behave more like a single-configuration Makefile driven build. I see no problem with this as supporting it would add a lot of extra complexity to the rest of the build system and one can always generate multiple projects with different configurations as needed.