Я попытался создать Google Test со следующей конфигурацией CMake:
$ 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 ++, были созданы тесты, созданные с помощью Google Test. Это означает, что мне нужен Google Test, собранный также с libc ++.
Использование переменных в командной строке с CMake иногда требует флаг -D (для определения).
$ cmake -DCMAKE_CXX_COMPILER="clang++" -DCMAKE_CXX_FLAGS="-std=c++11 -stdlib=libc++ -U__STRICT_ANSI__" ../source
Других решений пока нет …