草庐IT

cmake-custom-command

全部标签

c++ - 微软 nmake : Is it possible to define macros from shell command output?

在使用MicrosoftVisualStudio的nmake编写代码时,我试图将我的SVN修订信息保存到宏中。在GNUmake中,我会做类似的事情:SVN_REVISION=r$(shellsvnversion-n)所以我得到例如:SVN_REVISION=r10001这也可以在Microsoftnmake中实现吗?提前谢谢你。 最佳答案 使用提到的技术以及递归调用make,可以这样完成:!IFNDEFMAKEMAKE=NMAKE!ENDIF!IFNDEFSVN_REVISION!IF[echooff&&FOR/F"usebackq

c++ - 从另一个 CMakeLists.txt 将变量读入 cmake

使用Ubuntu、C++和cmake,我想创建一个基于代码的程序Alpha对于另一个程序,Beta。我已经有了Beta的源代码,我需要为使用现有代码的Alpha编写代码。我试图保持一切整洁,所以我有一个单独的目录用于Alpha和Beta源文件,Alpha.cpp和Beta.cpp.这是我的目录结构:/CMakeLists.txt/Alpha.cpp(themainfunction)/Beta/CMakeLists.txt/Beta.cppAlpha的CMakeLists.txt文件如下所示:cmake_minimum_required(VERSION2.8)project(Alpha)

c++ - 在 OSX 上使用 CMake 构建 Unity native 包

我有一个Xcode项目,它构建了一个包含库的包。我使用以下菜单创建了项目:NewProject->Framework&Library->Bundle为了提供更多背景信息,我想创建一个nativepluginforUnity.目前header非常简单,仅包含一个header和一个源文件。我现在希望能够使用CMake生成一个类似的项目,但我正在努力让它发挥作用。我的CMake文件归结为:cmake_minimum_required(VERSION3.3)project(Plugin)set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-std=c++11")set(

c++ - Emscripten 的 CMake 项目

我想让CMake和Emscripten成为friend。在Emscripten项目网站上没有找到更多或更少的信息文档,但他们提供了CMake工具链文件,所以我认为它应该是可能的。到目前为止,没有高级参数的非常基本的编译工作正常,但我在使用embind和预加载文件时遇到问题。链接过程似乎错过了Emscripten“二进制文件”,并为所有与嵌入相关的函数产生警告,如下所示:warning:unresolvedsymbol:_embind_register_class这导致在rowser中加载已编译的JS文件时出现相应的错误。编译过程中没有生成.data文件。我创建了一个极简示例,其中包括两

c++ - 如何配置 CMake 以使用 -fPIC 构建库?

这个问题在这里已经有了答案:HowtolinkagainstPICversionofalibrary'sdependencyinCMake?(1个回答)关闭6年前。我正在尝试创建一个指定了-fPIC的静态库。add_library(cpp-netlib_picSTATIC${SRCS})set_property(TARGETcpp-netlib_picPROPERTYPOSITION_INDEPENDENT_CODE)这行不通。库(cpp-netlib_pic)是在没有-fPIC标志的情况下构建的。链接到cpp-netlib_pic的其他目标做但是,将-fPIC添加到他们的编译器标志中

c++ - CMake:如何指定 ctest 应在其中查找可执行文件的目录?

我想将ctest集成到一个c++/c项目中。我使用谷歌测试来编写单元测试。我的CMakeLists.txt的相关部分如下所示:...#######CREATINGEXE#######add_executable(test_exemain.cpptest.cpp)target_link_libraries(test_exeGTest::GTestGTest::Main)set_target_properties(test_exePROPERTIESRUNTIME_OUTPUT_DIRECTORY${UNIT_TEST_BIN_OUTPUT_DIR})add_test(test_exete

c++ - CMake 和 Visual Studio : How to get a quick, 安静的命令行构建?

我有一个cmake项目,它成功地完成了我想要的一切。但是我有大约100个文件,我厌倦了看到生成的巨大输出,每次我只需要重新编译一个文件时每个文件30行。明确地说,我正在编译cmake--build.以获得此结果。我需要传递给编译器(或MSBuild)以跳过检查未更改文件的打印的参数是什么?在VisualStudio中编译项目不会产生所有这些视觉垃圾。这是我为每个未更改的文件获得的输出:Project"C:\noscan\working\proj\build\ALL_BUILD.vcxproj"(1)isbuilding"C:\noscan\working\proj\build\os\s

opencvb 十七 使用cmake配置opencv c++项目

1、cmake简介1.1cmake是什么CMake是一个开源、跨平台的编译(Build)工具,是用来构建、测试和打包软件的。它能够用简单的语句来描述所有平台的编译过程。它能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。CMake并不直接生成最终的软件,而是产生标准的建构文件(如Unix的Makefile或WindowsVisual,C++的projects/workspaces),这些文件可以被一般的编译工具所使用。1.2cmake能做什么CMake是一个跨平台的构建自动化工具,可以自动生成跨平台的Makefile、V

c++ - 带有 C++ 包装器的 OpenCL - 如何将 cl::CommandQueue 转换为 cl_command_queue?

我将OpenCL与CL/cl.hppc++​​包装器一起使用。所以我有C++对象,例如cl::CommandQueue而不是cl_command_queue。我还想使用AMD的BLAS库clAmdBlas。那里的函数需要一个cl_command_queue作为它们的参数之一。如何从cl::CommandQueue获取cl_command_queue? 最佳答案 要获取cl_command_queue对象,您只需使用()运算符:cl::CommandQueuecppQueue;...cl_command_queuequeue=cppQ

c++ - 如何使用 CMake 添加编译器参数?

我一直在使用ClionIDE并试图获得一个简单的GTK程序来使用它进行编译。我发现Clion使用CMake,所以问题出在这里而不是IDE本身。我能够直接从终端成功编译和运行程序,但使用CMake却没有成功。问题很简单:当我尝试编译时,编译器找不到位于/usr/include/gtk-3.0/gtk/gtk.h中的gtk.h。我发现命令编译器参数'pkg-config--libs--cflagsgtk+-3.0'以某种方式修复了这个问题,但我无法使用CMake添加这个参数。我试过:set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}`pkg-config--lib