Pytania otagowane jako cmake

CMake to wieloplatformowy generator systemów kompilacji typu open source. Generuje pliki dla systemów kompilacji, takich jak natywne pliki makefile, pliki kompilacji ninja i pliki projektów dla kilku zintegrowanych środowisk programistycznych.

4
Organizacja projektów C ++ (z gtest, cmake i doxygen)
Ogólnie jestem nowy w programowaniu, więc zdecydowałem, że zacznę od stworzenia prostej klasy wektorowej w C ++. Jednak od samego początku chciałbym wypracować dobre nawyki, zamiast próbować później modyfikować mój przepływ pracy. Obecnie mam tylko dwa pliki vector3.hppi vector3.cpp. Ten projekt będzie się powoli rozwijał (czyniąc go bardziej ogólną biblioteką …
123 c++  cmake  doxygen  googletest 

7
Jak określić nową ścieżkę GCC dla CMake
Mój system operacyjny to centos, który ma domyślną ścieżkę gcc /usr/bin/gcc. Ale jest stara, potrzebuję nowej wersji gcc. Więc instaluję nową wersję w nowej ścieżce /usr/local/bin/gcc. Ale kiedy uruchamiam cmake, nadal używa starej wersji ścieżki gcc ( /usr/bin/gcc). Jak mogę określić gcc do nowej ścieżki ( /usr/local/bin/gcc). Próbowałem nadpisać /usr/bin/gccz …
122 gcc  cmake 

1
Jaki jest idiomatyczny sposób dodawania opcji kompilatora -fPIC w CMAKE?
Znalazłem co najmniej 3 sposoby, aby to zrobić i zastanawiam się, który jest idiomatyczny. Należy to zrobić prawie zawsze dla każdej biblioteki statycznej. Dziwię się, że generator Makefile w CMake nie dodaje tego automatycznie do bibliotek statycznych. (chyba że czegoś mi brakuje?) target_compile_options(myLib PRIVATE -fPIC) add_compile_options(-fPIC) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fpic") set(CMAKE_CXX_FLAGS …
120 c++  c  cmake 

12
CMake nie może znaleźć biblioteki OpenSSL
Próbuję zainstalować oprogramowanie, które używa cmake do zainstalowania się, kiedy podam w commandlin cmake .. daje mi następujący błąd w tym pliku, CMakeLists.txt -------- linia ---> find_package ( WYMAGANY OpenSSL): - cmake .. -- Could NOT find Git (missing: GIT_EXECUTABLE) ZLib include dirs: /usr/include ZLib libraries: /usr/lib/arm-linux-gnueabihf/libz.so Compiling with SSL …
119 openssl  cmake 

27
CMake nie znajduje kompilatora Visual C ++
Po zainstalowaniu programu Visual Studio 2015 i uruchomieniu CMake w poprzednim projekcie CMake wystąpił błąd informujący, że nie mógł znaleźć kompilatora C. The C compiler identification is unknown The CXX compiler identification is unknown CMake Error at CMakeLists.txt:4 (PROJECT): No CMAKE_C_COMPILER could be found. CMake Error at CMakeLists.txt:4 (PROJECT): No …

3
Cmake vs zrobić przykładowe kody?
Zastanawiałem się, czy istnieje przykładowy kod dla Makefiles ( make) i CMakeLists.txt( cmake), które robią to samo (jedyną różnicą jest to, że jeden jest zapisany, makea drugi cmake). Próbowałem poszukać „cmake vs make”, ale nigdy nie znalazłem żadnych porównań kodu. Zrozumienie różnic byłoby naprawdę pomocne, nawet w prostym przypadku.
118 makefile  cmake 

3
Najprostszy, ale kompletny przykład CMake
W jakiś sposób jestem całkowicie zdezorientowany tym, jak działa CMake. Za każdym razem, gdy myślę, że zbliżam się do zrozumienia, jak powinno być napisane CMake, znika to w następnym przeczytanym przykładzie. Chcę tylko wiedzieć, jak powinienem ustrukturyzować mój projekt, aby mój CMake wymagał jak najmniejszej konserwacji w przyszłości. Na przykład …
117 c++  cmake  project-setup 

6
Jak ustawić poziom ostrzeżenia w CMake?
Jak ustawić poziom ostrzegania dla projektu (a nie całego rozwiązania) za pomocą CMake ? Powinien działać na Visual Studio i GCC . Znalazłem różne opcje, ale większość z nich nie działa lub nie jest zgodna z dokumentacją.

5
Katalog wyjściowy / kompilacji CMake
Jestem całkiem nowy w CMake i przeczytałem kilka samouczków o tym, jak go używać, i napisałem kilka skomplikowanych 50 linii skryptu CMake, aby stworzyć program dla 3 różnych kompilatorów. To prawdopodobnie kończy całą moją wiedzę o CMake. Teraz mój problem polega na tym, że mam kod źródłowy, którego folderu nie …
116 c++  build  makefile  cmake  output 

5
CMake: Jak budować zewnętrzne projekty i uwzględniać ich cele
Mam projekt A, który eksportuje bibliotekę statyczną jako cel: install(TARGETS alib DESTINATION lib EXPORT project_a-targets) install(EXPORT project_a-targets DESTINATION lib/alib) Teraz chcę użyć projektu A jako projektu zewnętrznego z projektu B i uwzględnić jego wbudowane cele: ExternalProject_Add(project_a URL ...project_a.tar.gz PREFIX ${CMAKE_CURRENT_BINARY_DIR}/project_a CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> ) include(${CMAKE_CURRENT_BINARY_DIR}/lib/project_a/project_a-targets.cmake) Problem polega na tym, że plik …

2
Dodanie opcji wiersza poleceń do CMake
Buduję dużą bibliotekę za pomocą CMake i chciałbym, aby użytkownicy mogli selektywnie włączać / wyłączać niektóre części mojego procesu kompilacji. Jak mogę dodać opcje wiersza poleceń do mojej kompilacji CMake, np. Aby użytkownicy mogli wpisać coś podobnego cmake --build-partone --nobuild-parttwo --dothis=true --dothat=false ..? Wygląda na to, że słowo kluczowe OPTION …

3
Zastąp flagi kompilacji dla pojedynczych plików
Chciałbym użyć globalnego zestawu flag do kompilacji projektu, co oznacza, że ​​w moim pliku CMakeLists.txt najwyższego poziomu określiłem: ADD_DEFINITIONS ( -Wall -Weffc++ -pedantic -std=c++0x ) Jednak dla określonego pliku (powiedzmy "foo.cpp") w podkatalogu, chcę przełączyć flagi kompilacji, aby nie stosować -Weffc ++ (dołączona biblioteka komercyjna, której nie mogę zmienić). Aby …

6
Jak połączyć program C ++ z Boost przy użyciu CMake
Jak powinien wyglądać mój plik CMake do łączenia mojego programu z biblioteką Boost w systemie Ubuntu? Błędy wyświetlane podczas uruchamiania make: main.cpp:(.text+0x3b): undefined reference to `boost::program_options::options_description::m_default_line_length' Główny plik jest naprawdę prosty: #include <boost/program_options/options_description.hpp> #include <boost/program_options/option.hpp> using namespace std; #include <iostream> namespace po = boost::program_options; int main(int argc, char** argv) { …
109 c++  boost  cmake 

11
Używając CMake, jak uzyskać szczegółowe dane wyjściowe z CTest?
Używam CMake do tworzenia mojego projektu. Dodałem plik binarny testu jednostkowego, który korzysta z platformy testów jednostkowych Boost. Ten plik binarny zawiera wszystkie testy jednostkowe. Dodałem ten plik binarny do uruchomienia przez CTest: ADD_EXECUTABLE( tftest test-main.cpp ) ENABLE_TESTING() ADD_TEST( UnitTests tftest) Ale dane wyjściowe kompilacji w programie Visual Studio pokazują …
109 cmake  ctest 

8
Instrukcje dotyczące systemu operacyjnego w CMAKE: jak to zrobić?
Jestem początkującym w CMAKE. Poniżej znajduje się prosty plik cmake, który dobrze działa w oknach środowiska mingw. Problem jest wyraźnie ztarget_link_libraries() funkcji CMAKE, w której łączę libwsock32.a. W oknach to działa i otrzymuję wyniki. Jednak, zgodnie z oczekiwaniami, w Linuksie /usr/bin/ldbędzie szukać tego, -lwsock32czego NIE ma w systemie operacyjnym Linux. …
109 c++  linux  cmake  mingw  portability 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.