草庐IT

cmake-custom-command

全部标签

c++ - 在 CMake 中添加自定义构建步骤

我正在尝试在CMake中添加一个生成一些文件的自定义构建步骤。我还没有找到它是如何工作的描述。我有一个项目,其中源文件、头文件和实现文件必须由ODBforC++生成。ODB将类头作为参数并生成我想在我的项目中使用的源文件。现在我的CMakeLists.txt中有以下命令:add_custom_command(TARGET${PROJECT_NAME}PRE_BUILDCOMMANDodb-o/home/david/dev/--stdc++11-I/home/david/dev/-dsqlite--generate-query--generate-schema${PROMOTER_LIB

python - LLVM clang 的 CMake 构建失败并显示 "Unexpected failure executing llvm-build: Traceback (...) import llvmbuild"

我想构建LLVMclang编译器,但CMake最终出现以下错误消息:CMakeErroratCMakeLists.txt:256(message):Unexpectedfailureexecutingllvm-build:Traceback(mostrecentcalllast):File"C:/.../llvm/utils/llvm-build/llvm-build",line3,inimportllvmbuildFile"C:\...\llvm\utils\llvm-build\llvmbuild\__init__.py",line1,infrommainimportmainImp

makefile - cmake和并行构建与 "make -jN"

我正在尝试为我的源代码树设置一个基于CMake的并行构建,但是当我发布时$cmake.$make-j2我明白了:jobserverunavailable:using-j1.Add'+'toparentmakerule作为警告。有没有人知道是否有可能以某种方式修复它? 最佳答案 在生成的Makefile中,当调用子make时,它​​需要使用$(MAKE)(不仅仅是'make')或者在该行之前加上一个+。也就是说,规则应如下所示:mysubdir:$(MAKE)-Cmysubdir或者像这样:mysubdir:+make-Cmysubd

使用 cmake 构建 CUDA 目标文件

我得到了以下设置。我将使用MPI和其他使用CUDA的东西来扩展用C++编写的框架。该项目使用cmake进行构建。我想避免为我的扩展使用库并从我的cuda源构建目标文件。之后,我想链接这些目标文件和用其他编译器编译的其他一些文件。有没有人知道如何实现这一目标?我看过http://code.google.com/p/cudpp/wiki/BuildingCUDPPwithCMake获取有关如何将CUDA与cmake一起使用的概述,但此解决方案也使用库。 最佳答案 可以使用较新版本的cmake附带的CUDA支持来编译目标文件。您使用cud

c++ - CMake - 创建一个静态库

我的项目中有两个名为Test4的文件:结构.h结构.c我想创建一个静态库,其他想要使用这些文件的项目可以加载该库。这是我目前的CMake文件:cmake_minimum_required(VERSION3.6)project(Test4)set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-std=c++11")set(SOURCE_FILESStructure.cStructure.h)add_library(Test4STATIC${SOURCE_FILES})当我使用该CMake文件构建时,不会生成静态库。什么都没发生。我做错了吗?我正在使用CLionID

build - CMake将非编译文件导入构建目录

我是这样使用CMake的:$mkdirbuild&&cdbuild$cmake..&&make&&atf-run|atf-report但要运行atf,我需要一些文件(例如/Atffile和test/Atffile),所以我正在寻找一种方法来在我的构建目录中导入所有此类文件。我试过了:file(COPY${PROJECT_SOURCE_DIR}/..DESTINATION${PROJECT_SOURCE_DIR}/..)但它不起作用。他们是一种简单/更清洁的方法吗? 最佳答案 假设“/Atffile”和“/test/Atffile”是

build - 递归 CMake 搜索头文件和源文件

我是CMake的新手,想问是否有人可以帮助解决以下问题。我在它们各自的文件夹中有C++源文件和头文件,现在,我想创建一个CMake文本文件,以递归方式搜索它们。目前,我是这样做的:CMAKE_MINIMUM_REQUIRED(VERSION2.8)PROJECT(CarDetectorDAISY)file(GLOB_RECURSESRCS*.cpp)file(GLOB_RECURSEHDRS*.h)ADD_EXECUTABLE(stereo_framework${SRCS}${HDRS})TARGET_LINK_LIBRARIES(stereo_framework)这将创建我的CarD

c++ - 当 CMake 中的生成器或输入发生更改时,如何仅构建自动生成的代码?

我正在开发一个源代码存储库,该存储库通过运行python脚本输出header和实现来生成一些C++代码。此代码随后被编译并链接到我的库和可执行文件。我知道只有当两个条件之一为真时,生成的代码才会改变:生成器代码本身发生变化生成器的输入(XML文件)发生变化我想使用cmake来管理构建过程。目前,我正在使用execute_process来启动生成器。但是,每次我运行cmake时都会运行它并且它会触及文件,导致我生成的代码被重新编译并增加了我的总编译时间。我还想确保生成的代码始终在我的库之前运行。换句话说,我希望库依赖于生成器来运行。在cmake中处理这种情况的正确方法是什么?我已经看到了

macos - OS X : MACOSX_RPATH is not specified for the following targets 下的 CMake 警告

我尝试在OSX(Yosemite)下构建一个基于CMake的软件,它可以在Fedora21下成功构建。它使用了一堆库。两者都有,像Boost这样的大型开放式程序和一些位于/installation_folder/lib中的自行编写的程序。我使用CMake版本3.3.0。执行后mkdirbuildcdbuildcmake..-DCMAKE_C_COMPILER=/usr/local/Cellar/gcc/5.2.0/bin/gcc-5-DCMAKE_CXX_COMPILER=/usr/local/Cellar/gcc/5.2.0/bin/g++-5-DCMAKE_MODULE_PATH=

command-line - 如何从命令行构建 IntelliJ 项目?

我正在寻找从命令行构建IntelliJ项目的最佳方法。在构建服务器上编译IntelliJ项目时通常需要这样做。 最佳答案 在build菜单中是GenerateAntBuild...Idea将生成build.xml文件。你必须先安装Ant将它添加到PATH中,然后你才能在项目目录中调用命令ant。 关于command-line-如何从命令行构建IntelliJ项目?,我们在StackOverflow上找到一个类似的问题: https://stackoverflo