8

次のCMake構成でGoogleTestを構築してみました。

$ CMAKE_CXX_COMPILER="clang++" CMAKE_CXX_FLAGS="-std=c++11 -stdlib=libc++ -U__STRICT_ANSI__" cmake ../source

ビルドは、CMakeが適切なコンパイラーを選択したことを示していますが、私のコンパイラーフラグが通過していません:

$ VERBOSE=1 make
...
/Users/jfreeman/local/bin/clang++    -I/Users/jfreeman/work/googletest/source/include -I/Users/jfreeman/work/googletest/source      -DGTEST_HAS_PTHREAD=1   -o CMakeFiles/gtest.dir/src/gtest-all.cc.o -c /Users/jfreeman/work/googletest/source/src/gtest-all.cc
...
/Users/jfreeman/local/bin/clang++    -I/Users/jfreeman/work/googletest/source/include -I/Users/jfreeman/work/googletest/source      -DGTEST_HAS_PTHREAD=1   -o CMakeFiles/gtest_main.dir/src/gtest_main.cc.o -c /Users/jfreeman/work/googletest/source/src/gtest_main.cc

最終的な目標は、Clangとlibc ++でビルドするプロジェクトに、GoogleTestでビルドするテストを持たせることです。つまり、libc++で構築されたGoogleTestも必要です。

4

1 に答える 1

12

コマンドラインでCMakeを使用して変数を使用するには、-D(定義用)フラグが必要になる場合があります。

    $ cmake -DCMAKE_CXX_COMPILER="clang++" -DCMAKE_CXX_FLAGS="-std=c++11 -stdlib=libc++ -U__STRICT_ANSI__"  ../source
于 2012-11-02T17:07:38.567 に答える