Articles of cmake

Procurando por um comando ‘cmake clean’ para limpar a saída do cmake

Assim como make clean apaga todos os arquivos que um makefile produziu, eu gostaria de fazer o mesmo com o CMake. Muitas vezes eu me encontro manualmente passando por diretórios removendo arquivos como cmake_install.cmake e CMakeCache.txt , e as pastas CMakeFiles . Existe um comando como cmake clean para remover todos esses arquivos automaticamente? Idealmente, […]

Cmake não pode encontrar biblioteca usando “link_directories”

Eu Ubuntu, estou aprendendo sobre cmake e make, e apenas tentando um exemplo simples. Eu tenho dois diretórios: src e build . Em src , eu tenho dois arquivos: main.cpp e CMakeLists.txt , que tem (apenas) o seguinte texto: add_executable(test main.cpp) link_directories(/usr/lib/x86_64-linux-gnu) target_link_libraries(test protobuf) Em /usr/lib/x86_64-linux-gnu , existe uma biblioteca compartilhada chamada libprotobuf.so , que […]

Como copiar arquivos DLL para a mesma pasta que o executável usando o CMake?

Usamos o CMake para gerar os arquivos do Visual Studio de nossas fonts em nosso SVN. Agora minha ferramenta requer alguns arquivos DLL para estar na mesma pasta que o executável. Os arquivos DLL estão em uma pasta ao lado da fonte. Como posso alterar meu CMakeLists.txt que o projeto do Visual Studio gerado já […]

Cmake não encontra Boost

Estou tentando configurar um projeto usando o CMake, mas ele não consegue localizar as bibliotecas do Boost, mesmo que estejam na pasta especificada. Eu especifiquei Boost_INCLUDE_DIR, Boost_LIBRARYDIR e BOOST_ROOT, mas ainda recebo um erro dizendo que o CMake não é capaz de encontrar o Boost. Qual poderia ser o motivo de tal erro?

Como construir e instalar o GLFW 3 e usá-lo em um projeto Linux

GLFW3 Ontem à noite eu estava trabalhando até tarde tentando construir os pacotes GLFW 3 para Linux a partir do código-fonte. Este processo levou-me muito tempo, cerca de 3 horas no total, em parte porque não estou familiarizado com CMake e, em parte, porque não estava familiarizado com o GLFW. Espero que este post te […]

Como você adiciona bibliotecas de reforço em CMakeLists.txt

Eu preciso adicionar bibliotecas de reforço no meu CMakeLists.txt. Como você faz isso ou como adicioná-lo?

Como detectar o suporte do C ++ 11 de um compilador com o CMake

Existe uma maneira de permitir que o CMake detecte automaticamente se um compilador suporta o C ++ 11 ou não? Como seria bom informar os usuários durante a execução do CMake, o código não será compilado, pois o compilador não suporta o C ++ 11. No momento, defino os sinalizadores do C ++ 11. No […]

Tornando a biblioteca cmake acessível por outros pacotes cmake automaticamente

Eu tenho um projeto que produz uma biblioteca: project (myCoolLibrary) ADD_LIBRARY(my_cool_library SHARED ${mysources_SRC}) E outro projeto que deveria estar usando esta biblioteca: find_package (myCoolLibrary REQUIRED) INCLUDE_DIRECTORIES(“${myCoolLibrary_INCLUDE_DIRS}” ) add_executable(myCoolExe ${my_sources_SRC} ) TARGET_LINK_LIBRARIES(myCoolExe ${myCoolLibrary_LIBRARIES} ) Existe uma maneira que eu possa mudar o primeiro arquivo para que o segundo arquivo funcione automaticamente? Que rodando o cmake no […]

Depurar vs Lançamento no CMAKE

Em um projeto compilado pelo GCC, como executar o cmake para cada tipo de destino (debug / release)? como especificar depurar e liberar sinalizadores C / C ++ usando cmake ? como expressar que o executável principal será compilado com o g++ e uma biblioteca aninhada com o gcc ?

Quando citar variables?

Eu estou escrevendo macros CMake pela primeira vez, e eu tenho dificuldade em entender como as variables ​​funcionam. Mais especificamente, ${a} parece ter um significado diferente de “${a}” . Por exemplo aqui: Passando uma lista para uma macro cmake Não consigo entender quando devo adicionar citações e quais são os maiores princípios subjacentes.