草庐IT

cmake-custom-command

全部标签

c++ - 使用 CMake 将编译器标志附加到文件

如何使用cmake向单个翻译单元添加编译器标志(我想附加它,而不是覆盖其他标志)?我试过set_source_files_properties(MyFile.cppPROPERTIESCMAKE_CXX_FLAGS"-msse4.1")但它不起作用..关于如何做到这一点有什么建议吗? 最佳答案 对于CMake3.0或更高版本,使用COMPILE_OPTIONS向单个翻译单元添加标志的属性,即:set_property(SOURCEMyFile.cppAPPENDPROPERTYCOMPILE_OPTIONS"-msse4.1")对于

c++ - 在CMake中如何包含项目的头文件

在C++项目中,我想将头文件设置为项目源目录的后代,而不使用UNIX目录快捷方式.或..。我不确定如何配置cmake来处理它。我有目录结构:Root|-include||-foo.h|-src||foo.cpp 最佳答案 放入root\CMakeList.txt:project(root)include_directories(${root_SOURCE_DIR}/include)...您可以在子项目的任何地方使用root_SOURCE_DIR。有关更多信息,请考虑访问http://www.cmake.org/Wiki/CMake_

c++ - CMake add_executable 目标名称已保留

我有以下CMakeLists.txt文件:CMAKE_MINIMUM_REQUIRED(VERSION3.1)PROJECT(MyProject)FILE(GLOB_RECURSEsourcesRELATIVE${CMAKE_CURRENT_SOURCE_DIR}${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)FILE(GLOB_RECURSEheadersRELATIVE${CMAKE_CURRENT_SOURCE_DIR}${CMAKE_CURRENT_SOURCE_DIR}/src/*.h)ADD_EXECUTABLE(AnyNameHere,${so

c++ - CMake 不适用于 OSX 上的 C++11

我刚刚升级到MountainLion,因此我可以在xcode附带的新版Clang上使用一些C++11功能。我正在使用来自Homebrew的cmake2.8.9。我做了一个非常简单的CMake项目,它为C++11添加了编译器标志:#CMakeLists.txtcmake_minimum_required(VERSION2.8)add_executable(testtest.cxx)add_definitions(-std=c++0x-stdlib=libc++)test.cxx中的C++代码如下:#includeintmain(){std::cout运行cmake和make时,文件编译正

c++ - 使用 CMake 设置应用程序图标

是否有跨平台的方法来使用CMake设置应用程序图标?我在Qt5.4中使用Cmake3.0.2。在Qt中documentation显示了一个方法,但它不是跨平台的。 最佳答案 CMake不会为您处理这个问题。在某些平台上有几个“应用程序图标”。例如,在遵循FreeDesktop.org标准的类UNIX系统上(基本上是您今天在Linux上可以看到的任何东西,无论是KDE、Gnome、Unity、XFCE还是其他一些DE-du-jour),这是完成的通过在应用程序的.desktop文件中设置适当的Icon条目。参见the.desktops

c++ - CMake 顶级 Xcode 项目属性

我在Xcode中使用Cmake来生成一个c++/c“项目”(my_project)和一些c++/c“目标”(一个是二进制文件,其余是库)我的CMakeLists.txt看起来像这样:project(my_project)add_subdirectory(library_projectA)add_subdirectory(library_projectB)add_subdirectory(binary_project)每个子目录都有一个CMakeLists.txt,其中包含:add_library(library_projectA)或者add_executable(binary_proj

c++ - 在 CMake/C++ 项目中高效地使用 SublimeText 和 SublimeClang

我已经尝试使用SublimeText2一段时间了。虽然几乎开箱即用地使用Python非常容易,但使用C++则有点棘手。我可以通过复制和修改现有的Makefile脚本来设法设置CMake构建脚本,但是有很多东西不能像在CMake支持的IDE中那样工作,比如EclipseCDT。SublimeText2似乎不理解单独构建目录的概念,它也无法让我通过SublimeClang自动完成,如果我包含引用CMake中添加的目录的库。SublimeClang一直提示它找不到库,当我尝试#include时,它甚至不能为我提供标准STL头文件名的自动完成功能,例如algorithm.h。如果有人想出了一个

c++ - CMake 无法使用相对文件路径找到静态库

我想玩玩Allegro库,但我似乎无法让我的测试项目正确链接。确切地说,我得到了cannotfind-l错误,其中是我使用target_link_libraries指定的文件.(详情见下文。)郑重声明,我对构建过程不是很了解,我通常的做法是“单击一个按钮并希望弹出一个可执行文件,如果没有弹出,则求助于试错法。”我在这里发现了很多类似的问题,但似乎问题或解决方案与我遇到的不同。我希望得到一个明确的“这是你做错了什么,而这是应该做的”。也就是说,这是我的项目结构:/include/lib/srcmain.cppCMakeLists.txt我从Allegrobinarypackage复制的i

c++ - QtCreator 4 和 CMake 参数

我曾经使用QtCreator打开一个基于CMake的C++项目,并在配置项目时传递我自定义的CMake命令行参数。在最新版本的QtCreator(准确地说是QtCreator4)中,这似乎不再可能了——QtCreator使用自己的一组CMake变量及其默认值配置项目。这非常烦人,因为更改某些CMake变量值的唯一方法是单击“项目”并逐个修改变量,这确实很繁琐。我在一个文本文件中有特定机器的配置参数和该机器上的设置,我可以将其粘贴到Qtcreator的配置对话框中,然后运行​​CMake,但这个对话框现在消失了。您知道是否有一种方法可以在打开新项目时传递自定义CMake值?我尝试清理构建

c++ - 如何将 OpenCV 的测试框架与 CMake 一起使用?

OpenCV似乎有一个testframework基于GTest。他们将它用于自己的单元测试,但我找不到关于如何在OpenCV之外使用它的文档、示例或教程。它非常适合我打算在基于OpenCV的库上实现的测试,但我真的不知道从哪里开始,因为我不是CMake(构建我们的库)方面的真正专家。我非常感谢有关设置某种“HellotsWorld”的帮助,即如何配置主CMakeList.txt和测试目录中的CMakeList.txt以便运行测试,如模块的测试测试子目录(例如core'stestfolder) 最佳答案 经过一些研究和测试,我在我的博