Articles of cmake

Come faccio a dire a CMake di collegarsi in una libreria statica nella directory dei sorgenti?

Ho un piccolo progetto con un Makefile che sto cercando di convertire in CMake, principalmente solo per fare esperienza con CMake. Per gli scopi di questo esempio, il progetto contiene un file sorgente (C ++, anche se non penso che la lingua sia particolarmente rilevante) e un file di libreria statico che ho copiato da […]

Sostituisci flag di compilazione per singoli file

Vorrei utilizzare un set globale di flag per la compilazione di un progetto, ovvero nel mio file CMakeLists.txt di livello superiore che ho specificato: ADD_DEFINITIONS ( -Wall -Weffc++ -pedantic -std=c++0x ) Tuttavia, per un file specifico (diciamo “foo.cpp”) in una sottodirectory, voglio cambiare i flag di compilazione per non applicare -Weffc ++ (libreria commerciale inclusa […]

Come colbind il programma C ++ con Boost usando CMake

Come dovrebbe essere il mio file CMake per colbind il mio programma alla libreria Boost sotto Ubuntu? Gli errori mostrati durante l’esecuzione make : main.cpp:(.text+0x3b): undefined reference to `boost::program_options::options_description::m_default_line_length’ Il file principale è davvero semplice: #include #include using namespace std; #include namespace po = boost::program_options; int main(int argc, char** argv) { po::options_description desc(“Allowed options”); desc.add_options() […]

CMAKE: stampa tutte le variabili accessibili in uno script

Mi chiedo se esiste un modo per stampare tutte le variabili accessibili in CMAKE. Non sono interessato alle variabili CMAKE, come nell’opzione –help-variables. Sto parlando delle mie variabili che ho definito, o delle variabili definite dagli script inclusi. Attualmente sto includendo INCLUDE (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityCXX.cmake) e speravo di poter stampare tutte le variabili che sono qui, invece […]

Come istruire CMake a utilizzare il compilatore di architettura di compilazione

Quando si utilizza CMake per la compilazione incrociata, in genere si specifica un file toolchain tramite l’opzione CMAKE_TOOLCHAIN_FILE . Nella terminologia GNU , è ansible specificare il set di strumenti dell’architettura host utilizzando questo file. Tuttavia, generalmente non ci si può aspettare di essere in grado di eseguire qualsiasi cosa creata con questa toolchain. Abbastanza […]

Imansible specificare il compilatore con CMake

Ho un problema con questo file CMakeLists.txt : cmake_minimum_required(VERSION 2.6) SET(CMAKE_C_COMPILER C:/MinGW/bin/gcc) SET(CMAKE_CXX_COMPILER C:/MinGW/bin/g++) project(cmake_test) add_executable(a.exe test.cpp) Chiamando cmake con: cmake -G “MinGW Makefiles” , fallisce con il seguente output: c:\Users\pietro.mele\projects\tests\buildSystem_test\cmake_test>cmake -G “MinGW Makefiles” . — The C compiler identification is GNU 4.6.1 — The CXX compiler identification is GNU 4.6.1 — Check for working […]

CMake: usa un linker personalizzato

Voglio impostare una toolchain personalizzata con qmake. Ho impostato il compilatore ma non so come impostare il linker. Questo errore viene segnalato perché cmake tenta di utilizzare il compilatore per colbind: The C compiler “xgcc.exe” is not able to compile a simple test program. Qui c’è uno snippet del mio file toolchain # specify the […]

È ansible ottenere CMake per creare sia una versione statica che condivisa della stessa libreria?

La stessa fonte, tutto questo, vuole solo una versione statica e condivisa entrambi. Facile da fare?

Come supportare sia vcxproj a cmake su un progetto?

Sto sviluppando un progetto c ++ multipiattaforma. L’idea originale è di lavorare con msvc2010 e successivamente compilare per altri sistemi con l’aiuto di CMake e Hudson. Non sembra conveniente modificare manualmente i file CMake dopo le modifiche nelle impostazioni dello studio. Quindi, qual è il modo più semplice: scrivere parser per vcxproj e vcxproj.filters, o […]

Variabile d’ambiente utilizzata da CMake per rilevare gli strumenti del compilatore Visual C ++ per Ninja

Ho Mingw64 GCC 6.3.0 (sempre in PATH ) e strumenti di compilazione Visual C ++ da Visual Studio 2017 RTM (non in PATH ). Se cmake . -G “MinGW Makefiles” cmake . -G “MinGW Makefiles” , verrà selezionato GCC 6.3.0. Se cmake . -G “Ninja” cmake . -G “Ninja” , GCC 6.3.0 sarà selezionato. I […]