2017-02-08 23 views
2

С помощью CMake я использую add_subdirectory(gtest) для сборки gtest для тестирования моего проекта. Я также использую CPack для установки установщика.add_subdirectory() без установки чего-либо

Проблема в том, что gtest repo (который является подмодулем git) запускает install() в некоторых файлах, чтобы они попали в мой установщик! Очевидно, я этого не хочу. Есть ли способ отключить команды install() для данного подкаталога, не удаляя их только из CMakeLists?

+0

Никогда не использовав GTEST, так что это может быть глупый вопрос, но ... почему вы строите инструмент не связан с вашим проект * в * ваш проект? Почему бы вам не построить/установить gtest отдельно и не поделать с ним? (Я бы не создал Boost.Test внутри моего проекта.) – DevSolar

+0

Это упрощает создание проекта и соединение с cmake. Если вы построите его в своем дереве с помощью 'add_directory', вы можете просто сделать« target_link_libraries (mytest gtest) »без необходимости искать его. Это не супер элегантный, но помимо этой проблемы он работает очень хорошо. – Timmmm

+1

Но дело в том, что вы используете 'add_subdirectory()' для чего-то 'find_package()' предназначен для, обнаружил проблему и теперь хотите, чтобы 'add_subdirectory()' to * not * делал что-то, что * * предназначено для. .. Я хотел намекнуть, что «faffing around» с 'find_package()' (что не так сложно сделать) и отбрасывание 'add_subdirectory()' * * * решит вашу проблему. ;-) – DevSolar

ответ

4

Вы можете использовать это, чтобы предотвратить тест Google могут быть установлены:

add_directory(gtest EXCLUDE_FROM_ALL) 
+0

Исправить. Я [уже обнаружил это] (https://stackoverflow.com/a/43043052/265521), но почему-то не ответил на мой собственный вопрос ...: -S – Timmmm

 Смежные вопросы

  • Нет связанных вопросов^_^