Description
UnitTest++ has had CMake support for a while now, which allows users to generate projects for a wide variety of build systems. However, this can be seen as an obstacle to potential users; CMake is yet another dependency that they don't want to take on, yet another tool to learn, etc.
In version 1.4, a simple Makefile, Visual Studio 2003, and Visual Studio 2005 projects were provided.
There has been some discussion in pulls #31 and #40 regarding how best to support the myriad of build systems out there. I see a few paths forward, and I am looking to the users to help decide.
1) Eliminate all build files from the tree aside from CMake
CMake is the one true build system for UnitTest++. Clean house. There is no Dana only Zuul. This makes maintenance easy.
2) Officially support only the CMake files, but blindly accept community pulls providing other build files
Project files are included in the master line. Issues with them are to be labeled as enhancements. Pull requests updating/adding project files would be accepted without any review. Maintenance remains easy, but files can fall out of date and end up broken.
3) Support build files as 'add-ons' per #13
Works in conjunction with option 1), or as a method of implementing 2). Additional contributors can be given access to keep files up-to-date without main project maintainers having to approve a pull. Files can again fall out of date, but will not clutter up the main repo.
4) CMake in master, CMake + build files in 'releases'
Master line will be like 1). A reasonable number of build systems will be supported as part of generating a release tag. (Historically, releases have been few and far between with UnitTest++, though, and I don't know how this will trend in the future.)
Any and all feedback / additional options are welcome.