refactor into two packages?
Closed this issue · 8 comments
It might be nice to split this package into two: one (e.g. CMake.jl) that only provides cmake_executable
(or just call it cmake
), and a second (CMakeWrapper.jl) that provides the BinDeps interface.
The smaller CMake.jl package would be for use in build scripts that are not based on BinDeps, and in particular for use with BinaryProvider as a fallback when no binaries are available (for example, see JuliaIO/Blosc.jl#54). In such cases I'd really rather not introduce the BinDeps dependency, but I do want a portable way to run cmake
.
(Of course, currently CMakeWrapper.jl uses BinDeps to install cmake
, so there would still be a BinDeps dependency in building the CMake.jl package itself. But packages using CMake.jl would not need to load BinDeps, and at some point CMake.jl may switch to using BinaryBuilder too.)
Yup, I'd definitely support this.
(It might also be natural to move the new packages to the JuliaPackaging org.)
I'm all for that too (gotta get yet another Julia organization badge!). Realistically, I won't have time to work on this for the next couple of weeks, but I'm happy to review PRs if you're feeling motivated.
I sent you a membership invite to JuliaPackaging, so that you can transfer ownership there. Once it is there, I can work on refactoring.
I've started working on a BinaryBuilder package: https://github.com/JuliaPackaging/CMakeBuilder
Ok, done--I just transferred ownership
Once it is registered in METADATA, we can add it to the REQUIRE of CMakeWrapper.jl and then strip out the cmake installation from this package.