Różnica między używaniem Makefile i cmake do kompilacji kodu

Koduję w C / C++ i używam (GNU)Makefile do kompilacji kodu. Mogę zrobić to samo z cmake i dostać MakeFile. Jednak nie rozumiem, jaka jest różnica między używaniem Makefile i cmake do kompilacji kodu.

Author: Raedwald, 2014-09-11

1 answers

Make (a raczej Makefile) jest systemem buildsystem - napędza kompilator i inne narzędzia do budowania kodu.

CMake jest generatorem buildsystemów. Może produkować pliki Makefile, może produkować pliki budowania Ninja, może produkować projekty KDEvelop lub Xcode, może produkować rozwiązania Visual Studio. Z tego samego punktu wyjścia, tych samych Cmakelistów.plik txt. Więc jeśli masz projekt niezależny od platformy, CMake jest sposobem, aby go buildsystem-niezależne, jak również.

Jeśli czy Programiści Windows są przyzwyczajeni do programistów Visual Studio i Unix, którzy przysięgają na GNU Make, CMake jest (jednym z) drogi(s), aby przejść.

Zawsze polecam użycie CMake (lub innego generatora buildsystem, ale CMake to moje osobiste preferencje), jeśli chcesz, aby twój projekt był wieloplatformowy lub szeroko użyteczny. Sam CMake zapewnia również kilka ciekawych funkcji, takich jak wykrywanie zależności, zarządzanie interfejsem biblioteki lub integracja z CTest, CDash i CPack.

Korzystanie z generatora buildsystem sprawia, że twój projekt jest bardziej przyszłościowy. Nawet jeśli jesteś teraz GNU-Make-only, co jeśli później zdecydujesz się rozszerzyć na inne platformy (czy to Windows, czy coś wbudowanego), czy po prostu chcesz użyć IDE?

 256
Author: Angew,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-11 14:24:51