Czasami dobrze jest sprawdzić, że pewne rzeczy nie budować, np .:Oczekiwane testy build-failure w CMake
// Next line should fail to compile: can't convert const iterator to iterator.
my_new_container_type::iterator it = my_new_container_type::const_iterator();
Czy to możliwe, aby włączyć te rodzaje rzeczy do CMake/CTest? Szukam czegoś takiego w CMakeLists.txt
:
add_build_failure_executable(
test_iterator_conversion_build_failure
iterator_conversion_build_failure.cpp)
add_build_failure_test(
test_iterator_conversion_build_failure
test_iterator_conversion_build_failure)
(. Oczywiście, te konkretne wytyczne CWprowadä nie istnieją, do mojej najlepszej wiedzy)
Doskonale! To działa idealnie. Wielkie dzięki! –
Czy mogę zapytać, skąd znasz te wszystkie rzeczy? Lubię cmake, ale w przeciwieństwie do innych systemów kompilacji nigdy nie znalazłem obszernego samouczka online. –
Głównie współpracując z CMake w średniej wielkości codebase, podążając za listą mailingową i odpowiadając na pytania StackOverflow :) Dokumenty są teraz całkiem niezłe i są ulepszane, chociaż dokumenty CTest są zdecydowanie za CMake'a w mojej opinii. – Fraser