-
Notifications
You must be signed in to change notification settings - Fork 70
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
Using CMake to build the rocks #115
Comments
this sounds okay to me. it's going to be a bit tedious for you to modify each package's rockspec but that's the only way forward, looks like it. |
Note that LuaRocks includes built-in support for cmake, so it accepts |
But from the last time I looked (year-ish ago), luarocks-cmake didn't have the ability to do builds in a separate build folder. That's the reason I think we do it this way. |
You mean passing |
Current luarocks didn't do exact same thing as most rockspec is doing. one common example is the below. this is very common pattern in many rocks files. It will be great to replace this with type='cmake'. A big advantage is bringing windows support for those rocks. type = "command", the above section should be replaced by this: This will touch many many files. are u okay with that? @soumith |
CMake is already used by many rocks to generate the Makefile.
I want to modify the rockspec files to also build and install the code via
cmake
as opposed tomake
.CMake already knows how to properly invoke the chosen make program and we should use this ability to improve the cross-platform, compatibility. For example, on Windows with Visual Studio installed, CMake generates
msbuild
projects by default.luarocks
then tries to build them usingnmake
and fails. CMake on the other hand should handle all builds properly.What I propose:
In all
.rockspec
files I want to replace$(MAKE)
=>cmake --build . --config release
$(MAKE) install
=>cmake --build . --config release --target install
What's the best way for me to handle this? Should I go to each rock's repository and submit PR for the
.rockspec
?The text was updated successfully, but these errors were encountered: