草庐IT

language-cmake

全部标签

c++ - 有条件的 CMAKE 链接到 rt-library

如何编写CMakeLists.txt以仅在Linux环境下有条件地链接到系统范围的librt库? 最佳答案 cmake有几个对环境检测有用的预定义变量(WIN32、UNIX、APPLE、CYGWIN)。以下是完整列表:http://www.cmake.org/cmake/help/cmake-2-8-docs.html#section_VariablesThatDescribetheSystem所以你可以写类似的东西if(UNIXANDNOTAPPLE)target_link_libraries(target_namert)endi

c++ - 使用 Google Protocol Buffer 的 CMake

我正在尝试使用cmake使用ProtocolBuffer构建我的小项目。有一个根目录,其中包含许多子目录以及许多库和可执行文件。我的第一个想法是将我的.proto文件放在子目录中,但是当我阅读thisanswer时我用它做了一个图书馆。但是当我尝试在我的可执行文件中包含消息头时,它找不到它。错误信息:fatalerror:msgs.pb.h:Nosuchfileordirectory#include"msgs.pb.h"^compilationterminated.我通过在其中创建一个目录“build”然后“cmake..&&make”来运行它。我看过了,似乎生成的文件被放入了buil

c++ - 如何在基于 CMake 的项目中使用 Boost.Test?

我的项目使用CMake作为其构建系统,我希望它执行我的Boost.Test测试用例。我怎样才能做到这一点?在Boost.Build中,我可以这样做:importtesting;use-project/my_lib:../src;unit-testmy_test:my_test.cpp/my_libboost_unit_test_framework;libboost_unit_test_framework; 最佳答案 CMake本身只是一个构建系统;CTest是一个与CMake集成的公正测试运行器。单元测试框架也不是。这项工作可以由B

c++ - 'cmake' 未被识别为内部或外部命令

我正在尝试在VisualStudio10中为esys-particle-win运行cmake。我的cmake路径:C:\ProgramFiles(x86)\CMake2.8\bin\cmake.exe我的esys-particle-win路径:C:\esys-particle-win\trunk\buildvs2010\mkvs10.bat我在VisualStudio2010的管理员命令提示符中输入的命令是:cdc:\esys-particle-win\trunk\buildvs2010mkvs10.bat我收到了这个错误:'cmake'isnotrecognizedasaninter

c++ - 更改当前的 cmake 生成器

如何在不使用CmakeGUI的情况下更改当前的cmake生成器(我想将标准生成器更改为VisualStudio122013Win64)? 最佳答案 对于那些寻求CMakeGUI答案的人。使用GUI菜单转到文件->删除缓存,然后再次单击配置。需要更改生成器的一种情况是,您保持CMakeGUI处于打开状态并重复使用同一目录(源代码和CMakeList.txt)来执行简单的示例或教程,并在重新开始之前删除构建文件,例如对于源外构建,它将是整个构建目录。这不是CMake的标准用例,但在初学者中很常见。

c++ - 什么 CMake 变量用于在 XCode 中设置 C++ 标准库?

我有一个纯C++11DLL(没有任何类型的依赖项)我已经能够在Linux和Windows上编译一段时间了,现在使用CMake生成项目文件和make/MSVC在每个各自的本地编译系统。我现在想在OSX上编译,我在让CMake在XCode中设置正确的项目设置以编译DLL时遇到了很多问题。软件版本:XCodev5.0CMakev2.8.12相关CMake脚本代码:#SetoutputdirectoryifAppleOSX:IF(${CMAKE_SYSTEM_NAME}MATCHES"Darwin")message("CMAKEHASDETECTEDAOSXSYSTEM-BUILDINGFOR

c++ - CMake 可以生成不 * 使用 cmake 的构建脚本吗?

问题:CMake能否生成不使用CMake的构建脚本?如果不是,那么将CMake生成的automake脚本消化为不对CMake进行任何检查有多难?我是CMake的忠实粉丝,以至于我支持在我目前的工作环境中过渡到CMake的想法。如果我能证明CMake可以生成不需要cmake本身的automake文件,那么可以简化从我们当前的构建系统到CMake的过渡的一件事。显然,我永远不想在日常使用中这样做,但是能够轻松创建可以从源代码构建而无需cmake的代码分支,这将大大有助于我提出自己的观点. 最佳答案 执行此操作的能力取决于您的操作系统,我

c++ - 将 SDL2 与 CMake 一起使用

我正在尝试使用CLion创建一个SDL2项目。问题是使用#include时找不到SDL头。我的CMakeLists.txt文件:cmake_minimum_required(VERSION2.8.4)project(ChickenShooter)set(SDL2_INCLUDE_DIRC:/SDL/SDL2-2.0.3/include)set(SDL2_LIBRARYC:/SDL/SDL2-2.0.3/lib/x64)include_directories(${SDL2_INCLUDE_DIR})set(SOURCE_FILESmain.cpp)add_executable(Chick

c++ - 如何以跨平台方式+CMake自动下载C++依赖?

基本上我想实现这个工作流程:从Windows系统(或任何平台)上的存储库中checkout。运行一些获取依赖项的工具,包括和库,并将它们放在适当的位置(如Windows上的“\ProgramFiles\MicrosoftVisualStudio10.0\VC\Liband\Includes”)运行CMake(在win上创建MSVS项目)打开MSVS项目并编译。我希望在大多数平台上都有这个工作流程。我不想手动下载依赖项如何在不将依赖项存储在存储库中的情况下做到这一点?实现这一目标的最佳方法是什么? 最佳答案 在CMake中,您可以使用

c++ - CMake添加目标以调用clang分析器

我基本上希望达到与http://blog.alexrp.com/2013/09/26/clangs-static-analyzer-and-automake相同的效果,但使用CMake。analyze_srcs=foo.canalyze_plists=$(analyze_srcs:%.c=%.plist)CLEANFILES=$(analyze_plists)$(analyze_plists):%.plist:%.c@echo"CCSA"$@@$(COMPILE)--analyze$这样你就可以运行了makeanalyzemakeclean我想我需要使用add_custom_comma