Articles of cmake

Come specificare il nuovo percorso GCC per CMake

Il mio sistema operativo è centos che ha un gcc predefinito nel percorso /usr/bin/gcc . Ma è vecchio, ho bisogno di una nuova versione di gcc. Quindi installo una nuova versione in un nuovo percorso /usr/local/bin/gcc . Ma quando cmake , utilizza ancora la vecchia versione gcc path ( /usr/bin/gcc ). Come posso specificare il […]

Come aggiungere correttamente include le directory con CMake?

Circa un anno fa ho chiesto le dipendenze dell’intestazione in CMake . Mi sono reso conto di recente che il problema sembrava essere che CMake considerava quei file di intestazione come esterni al progetto. Almeno, quando si genera un progetto Code :: Blocks i file di intestazione non appaiono all’interno del progetto (i file di […]

Cmake non riesce a trovare la libreria usando “link_directories”

Io Ubuntu, sto imparando a cmake e make, e sto solo provando un semplice esempio. Ho due directory: src e build . In src , ho due file: main.cpp e CMakeLists.txt , che ha (solo) il testo seguente: add_executable(test main.cpp) link_directories(/usr/lib/x86_64-linux-gnu) target_link_libraries(test protobuf) In /usr/lib/x86_64-linux-gnu , c’è una libreria condivisa chiamata libprotobuf.so , a cui […]

Come copiare i file DLL nella stessa cartella dell’eseguibile usando CMake?

Usiamo CMake per generare i file Visual Studio delle nostre fonti nel nostro SVN. Ora il mio strumento richiede che alcuni file DLL si trovino nella stessa cartella dell’eseguibile. I file DLL si trovano in una cartella accanto all’origine. Come posso modificare il mio CMakeLists.txt tale che il progetto di Visual Studio generato abbia già […]

Cmake non trova Boost

Sto cercando di configurare un progetto usando CMake, ma non riesce a trovare le librerie Boost anche se sono nella cartella specificata. Ho specificato Boost_INCLUDE_DIR, Boost_LIBRARYDIR e BOOST_ROOT, ma ricevo comunque un errore che dice che CMake non è in grado di trovare Boost. Quale potrebbe essere la ragione di tale errore?

Come si aggiungono le librerie Boost in CMakeLists.txt?

Ho bisogno di aggiungere librerie Boost nel mio CMakeLists.txt. Come lo fai o come lo aggiungi?

Come rilevare il supporto di C ++ 11 di un compilatore con CMake

C’è un modo per consentire a CMake di rilevare automaticamente se un compilatore supporta C ++ 11 o no? Come sarebbe bello informare gli utenti durante l’esecuzione di CMake che il codice non verrà compilato in quanto il compilatore non supporta C ++ 11. Al momento ho impostato i flag C ++ 11. Tuttavia, se […]

Come build e installare GLFW 3 e usarlo in un progetto Linux

GLFW3 Ieri sera stavo lavorando fino a tardi cercando di build i pacchetti GLFW 3 per Linux dal sorgente. Questo processo mi ha richiesto molto tempo, circa 3 ore in totale, in parte perché non ho familiarità con CMake, e in parte perché non ho familiarità con GLFW. Spero che questo post ti salvi dalla […]

Rendere automaticamente una libreria CMake accessibile da altri pacchetti di CMake

Ho un progetto che produce una libreria: project (myCoolLibrary) ADD_LIBRARY(my_cool_library SHARED ${mysources_SRC}) E un altro progetto che dovrebbe usare questa libreria: find_package (myCoolLibrary REQUIRED) INCLUDE_DIRECTORIES(“${myCoolLibrary_INCLUDE_DIRS}” ) add_executable(myCoolExe ${my_sources_SRC} ) TARGET_LINK_LIBRARIES(myCoolExe ${myCoolLibrary_LIBRARIES} ) C’è un modo per modificare il primo file in modo che il secondo file funzioni automaticamente? Che eseguendo CMake sul primo file e […]

Debug vs Release in CMAKE

In un progetto compilato GCC, come eseguire cmake per ogni tipo di target (debug / release)? come specificare il debug e rilasciare i flag C / C ++ usando cmake ? come esprimere che l’eseguibile principale verrà compilato con g++ e una libreria nidificata con gcc ?