Boost Build and Test
I started a new thread to accommodate the widening discussion on CMake. Build and Test systems: I've always been a big complainer about Boost Build. Now I'm a big complainer about CMake as well. Just so you know. I always found it weird that the buiding of libraries jam file was stashed in it's own directory - build while jam files for other components like test and building docs was found inside their respective directories. I also added to the serialization library some other jam files in subdirectories example and in performance. So to me by far the most natural place to find the library jam file would be in the directory we've agreed to name src. I never made any issue of this as my whole progress through life is about moving on to get my own projects done. Largely motivated by the desire to do cutting edge C++ development I replaced my old windows system with a mac mini. Soon I wanted to build and test my projects in XCode IDE. I like to use an IDE, but setting it and maintaining it for a project like the serialization library is an incredible amount of work. So I resolved to setup CMake to do the job. I had exposure to CMake before and found it no better than all the other build systems. But it needed to do what I wanted it to do - create the IDE project and it was very popular. So I managed to make it work in this context and the result has been quite satisfactory. But making it run all the tests I want to run - different compilers, libraries, etc. etc. integrating with my own library_status dashboard builder looked like a serious pain and I already had an elaborate Jamfile set for doing all of that. So upshot is I use them both for different purposes. I don't see anything wrong with that. In order not to upset the established structure I put my CMakeLists.txt file inside it's own directory. If it was totally up to me, what I'd like to see is: a) jam files in the build directory moved to src b) thereby acknowledging the practice of having jam files in the same directories which contain the build sources. c) which is pretty much the same as the CMake approach. c) official tolerance for including other build systems at the same level such as CMakeLists.txt and maybe MS projects and solutions. d) official tolerence for including a top level CMakeLists.txt. Personally I don't think this is necessary or even a good idea - but I want to leave that as a separate discussion. Robert Ramey
participants (1)
-
Robert Ramey