Articles of cmake

¿Cómo le digo a CMake que enlace en una biblioteca estática en el directorio de origen?

Tengo un pequeño proyecto con un Makefile que estoy tratando de convertir a CMake, principalmente para obtener experiencia con CMake. A los efectos de este ejemplo, el proyecto contiene un archivo fuente (C ++, aunque no creo que el idioma sea particularmente relevante) y un archivo de biblioteca estática que he copiado de otro lugar. […]

Anular indicadores de comstackción para archivos individuales

Me gustaría utilizar un conjunto global de indicadores para comstackr un proyecto, lo que significa que en mi archivo CMakeLists.txt de nivel superior he especificado: ADD_DEFINITIONS ( -Wall -Weffc++ -pedantic -std=c++0x ) Sin embargo, para un archivo específico (digamos “foo.cpp”) en un subdirectorio, quiero cambiar los indicadores de comstackción para que no se apliquen -Weffc […]

Cómo vincular el progtwig C ++ con Boost usando CMake

¿Cómo debería ser mi archivo CMake para vincular mi progtwig con la biblioteca de Boost en Ubuntu? Los errores que se muestran durante la ejecución make : main.cpp:(.text+0x3b): undefined reference to `boost::program_options::options_description::m_default_line_length’ El archivo principal es realmente simple: #include #include using namespace std; #include namespace po = boost::program_options; int main(int argc, char** argv) { po::options_description […]

CMAKE: imprime todas las variables accesibles en un script

Me pregunto si hay una forma de imprimir todas las variables accesibles en CMAKE. No estoy interesado en las variables CMAKE, como en la opción –help-variables. Estoy hablando de mis variables que definí, o las variables definidas por los scripts incluidos. Actualmente estoy incluyendo INCLUDE (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityCXX.cmake) y esperaba poder simplemente imprimir todas las variables que […]

Cómo instruir a CMake para usar el comstackdor de architecture de comstackción

Cuando se utiliza CMake para la comstackción cruzada, generalmente se especifica un archivo de cadena de herramientas a través de la opción CMAKE_TOOLCHAIN_FILE . En la terminología de GNU , uno puede especificar el conjunto de herramientas de architecture de host utilizando este archivo. Sin embargo, generalmente no se puede esperar poder ejecutar nada construido […]

No se puede especificar el comstackdor con CMake

Tengo un problema con este archivo 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) Llamando a cmake con: cmake -G “MinGW Makefiles” , falla con el siguiente resultado: 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 […]

CMake: use un enlazador personalizado

Quiero configurar una cadena de herramientas personalizada con qmake. Configuré el comstackdor pero no sé cómo configurar el enlazador. Este error se informa porque cmake intenta usar el comstackdor para vincular: The C compiler “xgcc.exe” is not able to compile a simple test program. Aquí hay un fragmento de mi archivo toolchain # specify the […]

¿Es posible hacer que CMake cree una versión estática y compartida de la misma biblioteca?

La misma fuente, todo eso, solo quiere una versión estática y compartida ambas. ¿Fácil de hacer?

Variable de entorno utilizada por CMake para detectar herramientas de comstackdor de Visual C ++ para Ninja

Tengo Mingw64 GCC 6.3.0 (siempre en PATH ) y herramientas de comstackdor de Visual C ++ de Visual Studio 2017 RTM (no en PATH ). Si ejecuto cmake . -G “MinGW Makefiles” cmake . -G “MinGW Makefiles” , se seleccionará GCC 6.3.0. Si ejecuto cmake . -G “Ninja” cmake . -G “Ninja” , se seleccionará […]

Cambiar el valor predeterminado de CMAKE_CXX_FLAGS_DEBUG y sus amigos en CMake

Me gustaría cambiar los valores predeterminados para CMAKE_CXX_FLAGS_RELEASE o CMAKE_CXX_FLAGS_DEBUG en CMake. Básicamente, tengo algunos valores predeterminados del proyecto que difieren ligeramente de los de CMake (para la versión, por ejemplo), y no debería tener que preguntarme “Oh, su -O3 o nuestro -O2 tienen prioridad cuando se agregan con add_compile_options”. Ahora, sé cómo configurar estos […]