-
Notifications
You must be signed in to change notification settings - Fork 62
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
[ML] Investigate replacing uses of bash and other Unix tools in CMake build system with platform independent code #2311
Comments
Suggestions:
|
For the date we could use the If we needed accurate timestamps on each sub-compilation step this wouldn't be acceptable, as it gets the date when the build system is generated, not when it's run. However, we're only getting the year to put in the copyright message, and each CI build will generate the build system from scratch, so CMake's |
This looks ideal. Accurate timestamps aren't required, in fact we only require the year. |
I don't think we'd need to use a In fact, CMake might even provide a more elegant way to run |
The reason we're doing this is so that we can set up an environment using This might be the hardest of all to move away from. However, I still think it's worth gradually getting rid of the other places where we're unnecessarily using Git Bash functionality from CMake. Once the lower level locations are dealt with we might find we don't need as many environment variables. Another thing we could look at is setting up some of the paths that are currently in |
I think this would be good. Certainly |
Replace calls to unix like commands with either CMake commands or the appropriate command for the native platform. Relates elastic#2311
The initial approach to migrating to a
CMake
build system has continued to assume the presence of a Unix like build environment. On Windows this requires the presence ofgit bash
and the minimal GNU toolset -MinGW
. It is desirable to lessen the dependency on such tools on Windows as it lowers the bar for developers on that platform and simplifies the setting up of the build environment.What follows is a list of places in the
CMake
build system that make calls tobash
or other Unix commands.lib/ver/CMakeLists.txt
Suggestions:
3rd_party/CMakeLists.txt:
cmake/compiler/vs2019.cmake
cmake/variables.cmake
cmake/functions.cmake
build.gradle
The text was updated successfully, but these errors were encountered: