-
-
Notifications
You must be signed in to change notification settings - Fork 8.7k
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
Moved definitions into a config #3479
Conversation
Could you provide a rationale for this change? |
Let us still keep the old one, as the config infra is dependent on cmake, and may not be useful for amagamaltion |
Yes. It stores configuration parameters with the library, which are a link between binaries and headers. So In fact that's why creating a config was chosen over I also wanna note that this approach is used by large projects using CMake, like OpenCV and libcurl. |
@KOLANICH Unlike dmlc/dmlc-core#432, where we enabled MinGW/Cygwin support, this pull request doesn't appear to have tangible benefits. I'd definitely adopt config approach for new projects that exclusively use CMake, but XGBoost will have to keep legacy build system for uses cases such as amalgamation. |
@KOLANICH Actually, we could do what we did dmlc/dmlc-core#432 (supply a default built |
@hcho3 Other than amagamaltion, is there other reason for keeping these makefiles? |
@trivialfis Makefile exists mainly for legacy reasons. If I were to start a new project, I would use CMake exclusively. |
@hcho3 Thanks. But I got curious what are legacy reasons? Eventually I want to remove these makefiles. Amagamaltion can be handled by CMake, maybe I can solve other issues step by step. :) |
That's great to hear. @tqchen Any reason why we should still keep Makefile? Do we support systems without CMake? |
@trivialfis CMake was added in July 2016, whereas Makefile was around since the beginning of the project (2014). So better to say that "it's the way things have been done" |
@hcho3 Great, I will try to think about this. |
Closing for now. Without getting rid of makefiles this won't be possible. And I don't want to set the output path of configured file inside source tree. Sorry for the long stall. |
No description provided.