Używam CMake dla projektu i googletest dla moich przypadków testowych. Rozglądając się po Internecie wydaje się, że zwykłą praktyką jest skopiowanie źródła googletest do podfolderu repozytorium i dodanie go do "add_subdirectory (googletest)". Ja to zrobiłem.CPack: wyklucza polecenia INSTALL z podkatalogu (katalog googletest)
Teraz używam CPack do generowania pakietów debian dla mojego projektu. Niestety, pakiety generowane przez CPack instalują googletest wraz z moim projektem. To oczywiście nie jest to, czego chcę.
Patrząc w katalogu googletest, znalazłem tam kilka poleceń cmake, więc jest jasne, dlaczego tak się dzieje. Pytanie brzmi teraz: jak mogę tego uniknąć? Nie lubię modyfikować plików CMakeLists.txt z googletest, ponieważ będę musiał pamiętać o ponownym zastosowaniu moich modyfikacji w aktualizacji. Czy istnieje inny sposób wyłączenia tych instalacji w CPack?
Druga rzecz zdaje się również wyłączać moje własne polecenia instalacji, chociaż są one zdefiniowane w innym (nie pod) katalogu. W jakim zakresie zastąpiono funkcję instalacji? Czy mogę go zastąpić tylko dla bieżącego katalogu (łącznie z podkatalogami)? – Heinzi
'Czy mogę go zastąpić tylko dla bieżącego katalogu (włączając podkatalogi)? - Dokładnie, więc definicja funkcji powinna działać. Testuję to później. – Tsyvarev
Cóż, w rzeczywistości definicja funkcji ma zasięg globalny.Dodałem kod do przywracania zachowanie 'install()' w odpowiedzi na post. – Tsyvarev