-
Notifications
You must be signed in to change notification settings - Fork 85
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
Unified CMake Build #1752
Unified CMake Build #1752
Conversation
61043a6
to
1b48070
Compare
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.
LGTM
isn't that also possible with CMake only - defaults but overwriteable? something like: https://cmake.org/cmake/help/latest/command/set.html set(BUILD_PARAMETERXYZ false CACHE BOOL "Use to activate XYZ feature")
so this way BUILD_PARAMETERXYZ is set to false per default but can be overwritten by -D parameter or CMake-UI |
1b48070
to
d7e541d
Compare
Not for the generator as far as I can tell, but presumably everything else should be. |
Codecov ReportPatch coverage has no change and project coverage change:
Additional details and impacted files@@ Coverage Diff @@
## master #1752 +/- ##
==========================================
+ Coverage 91.15% 91.16% +0.01%
==========================================
Files 769 769
Lines 28089 28089
==========================================
+ Hits 25604 25608 +4
+ Misses 2485 2481 -4 ☔ View full report in Codecov by Sentry. |
Addresses an issue mentioned in #1736 and also #1745 by running the apache arrow cmake build during the configure step of the kuzu cmake build.
This might be a little unexpected since you don't usually expect a large and slow compilation step when running the configure step, but
USE_SYSTEM_ARROW
andARROW_INSTALL
can still be used to avoid building arrow by pointing it at a pre-built version.I simplified the makefile accordingly, but didn't entirely remove it. There are some situations where it is still helpful to provide default settings, particularly in the case of Windows MSVC builds where (last I checked) the default Visual Studio generator produces build errors. The makefile targets are also being used for CI, though they could be inlined into the CI files.
Note that while this removes the distinction between
make clean
andmake clean-all
, you can still clean without removing arrow by runningmake clean
inside the build directory, i.e. on the cmake generated makefile, when using the makefile generator (not quite the same as removing all the files, but it's close enough for most purposes I think).I also took the liberty of setting
GIT_SHALLOW
on the arrow ExternalProject (cuts the download size from >100MB to ~20MB), and since it requires a named tag, also updated that to 12.0.1, which seems to work fine.