Boost logo

Boost-Build :

From: Larry Evans (cppljevans_at_[hidden])
Date: 2007-10-17 09:58:19


On 10/16/07 22:06, Larry Evans wrote:
> On 10/16/07 16:44, David Abrahams wrote:
>> on Tue Oct 16 2007, Larry Evans <cppljevans-AT-cox-internet.com> wrote:
> [snip]
>>> But this would require the user to understand the flags for all the
>>> compilers that are targeted. Bjam saves the users this chore by
>>> providing a uniform name for all these flags.
>> Doug's layer does that for any flags that aren't portable in practice
>> (i.e. I don't think he did anything for -D and -I).
>>
> You're right. I see it in the options call below:
>
> http://svn.boost.org/trac/boost/browser/sandbox-branches/boost-cmake/boost_1_34_0/CMakeLists.txt#L51
>
> Thanks.
Hmm..., but how does cmake know what options are valid for a *new*
compiler, such as Doug's variadic template compiler. Although
usage of the CMake-env.sh attached here:

http://article.gmane.org/gmane.comp.lib.boost.build/16632

results in the correct value for CMAKE_CXX_COMPILER:FILEPATH in the
CMakeCache.txt file, I can't imagine how Doug's layer could infer
what the valid values for options to this compiler since it is
new. I've tried finding the definition of the option macro
on CMakeLists.txt#151 without success. I looked in the
directories:

*/boost-cmake/boost_1_34_0/tools/build/CMake
/usr/share/cmake-2.4/Modules

with the command:

  find . -name \*.cmake -exec grep -e 'option' {} \; -ls

without success.

Could some cmake expert point me in the right direction or
tell me how cmake+Doug's layer figures out how to translate the
uniform names (e.g. the BUILD_SINGLE_THREADED on:

http://svn.boost.org/trac/boost/browser/sandbox-branches/boost-cmake/boost_1_34_0/CMakeLists.txt#L59

) to the compiler specific options?


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk