On May 17, 2016, at 8:43 PM, Belcourt, Kenneth
wrote: On May 17, 2016, at 8:14 PM, Rene Rivera
wrote: On Tue, May 17, 2016 at 9:09 PM, Belcourt, Kenneth
wrote: On May 17, 2016, at 6:11 PM, Peter Dimov
wrote: Paul Fultz II wrote:
Ok, you could just do `cmake libs/hana` for the cmake step. However, this won't build hana's dependencies. Another way would be for hana to provide a target just for its test, so using `hana-check` instead of `check`:
git clone git@github.com:boostorg/boost.git mkdir build && cd build cmake ../boost cmake --build . --target hana cmake --build . --target hana-check cmake --build . --target install
Is it possible to write a top-level CMakeLists.txt which would add_subdirectory for each present library in libs/ ? (b2 does this - invoking it at top level automatically works on a subset and builds whatever is present.)
Add code like this to the top-level CMakeLists.txt
# Add Boost subdirectories SUBDIRS(libs/accumulators) SUBDIRS(libs/algorithm) SUBDIRS(libs/align) ...
would look for a CMakeLists.txt file in each subdirectory listed.
Peter meant programatically. As in, pseudo code:
for each libs/*: add_subdirectory( X )
Updated results, seems like we might want to disable the use of FindBoost.cmake if we’re actually configuring Boost itself. s988329:boost kbelco$ cmake -F CMakeLists.txt Configuring Boost libraries: /Users/kbelco/Projects/boost/libs/compute/CMakeLists.txt /Users/kbelco/Projects/boost/libs/hana/CMakeLists.txt CMake Error at /Users/kbelco/Projects/local/cmake-3.2.2/share/cmake-3.2/Modules/FindBoost.cmake:1182 (message): Unable to find the requested Boost libraries. Unable to find the Boost header files. Please set BOOST_ROOT to the root directory containing Boost or BOOST_INCLUDEDIR to the directory containing Boost's headers. Call Stack (most recent call first): libs/compute/CMakeLists.txt:24 (find_package) -- Could NOT find Boost CMake Warning at libs/hana/CMakeLists.txt:109 (message): The Boost library headers were not found; targets depending on Boost won't be available. -- Could NOT find Ruby: Found unsuitable version "2.0.0", but required is at least "2.1" (found /usr/bin/ruby) CMake Warning at libs/hana/benchmark/CMakeLists.txt:10 (message): Ruby >= 2.1 was not found; the benchmarks will be unavailable. -- Configuring incomplete, errors occurred! See also "/Users/kbelco/Projects/boost/CMakeFiles/CMakeOutput.log". See also "/Users/kbelco/Projects/boost/CMakeFiles/CMakeError.log".