CMake as a build tool ?
Posted: 07 Oct 2016, 23:34
Currently wz2100 is using autotools on Linux and Mac and a separate .sln for MSVC. Maintaining 2 build systems is usually quite tedious and is error prone, that's why a lots of c++ project use cmake.
A couple of weeks ago Microsoft announced the vcpkg project which is an "apt-get source" like tools : it fetches sources and their dependencies (as source too), build them and made the includes/binaries available system wide. It's heavily based on cmake (the build script is actually a cmake script) and it provides helpers to run vcpkg from any cmake script. This means that a project using cmake can automatically download and build dependency on windows which heavily simplifies the build process.
Currently some dependencies are not yet supported by vcpkg though : harfbuzz libtheora libvorbis qt5 and libintl are missing. I'm about to submit harfbuzz (I have an issue with the install part of the script) and I think it's not far fetched to ask user to download qt5 from qt website instead of building it from source (which is likely to take age) ; since libintl is widely used by open source project I'm expecting it to be provided in a near future. This means a cmake based script on windows would only have to build libtheora and libvorbis. I think this may be a viable way to proceed.
(I'm posting this here since I can't reply to #4500)
A couple of weeks ago Microsoft announced the vcpkg project which is an "apt-get source" like tools : it fetches sources and their dependencies (as source too), build them and made the includes/binaries available system wide. It's heavily based on cmake (the build script is actually a cmake script) and it provides helpers to run vcpkg from any cmake script. This means that a project using cmake can automatically download and build dependency on windows which heavily simplifies the build process.
Currently some dependencies are not yet supported by vcpkg though : harfbuzz libtheora libvorbis qt5 and libintl are missing. I'm about to submit harfbuzz (I have an issue with the install part of the script) and I think it's not far fetched to ask user to download qt5 from qt website instead of building it from source (which is likely to take age) ; since libintl is widely used by open source project I'm expecting it to be provided in a near future. This means a cmake based script on windows would only have to build libtheora and libvorbis. I think this may be a viable way to proceed.
(I'm posting this here since I can't reply to #4500)