草庐IT

cmake-custom-command

全部标签

c++ - 使用 CMake 查找使用 CLang 编译的 Boost

我已经使用rubenvb在Windows上编译了Boost1.51.0|的CLang构建。我实际上使用MinGW编译了b2:bootstrapmingw...compilingb2usingmingw...然后我用CLang编译了这些库:b2toolset=clangstage--stagedir=.--build-type=complete--with-regex...顺便说一句,即使我指定了--build-type=completelib目录中也没有DLL,但我在某处读到CLang在Windows上的链接仍然存在问题,所以这可能是原因。无论如何,静态库对我来说很好。我在%BOOST

c++ - 无法导出 cmake PROJECT_VERSION_MAJOR,因为它等于零

我在将cmakePROJECT_VERSION_MAJOR变量导出到config.h文件时遇到问题。在我的主CMakeLists.txt中,我通过在主CMakeLists.txt文件中调用project()来根据cmake文档设置此变量:cmake_minimum_required(VERSION3.2.2)cmake_policy(SETCMP0048NEW)set(PROJECT"SampleName")project(${PROJECT}VERSION"0.0.0")configure_file(${CMAKE_SOURCE_DIR}/cmake/config.h.cmake${

c++ - 强制 CMake 在每次构建时生成 configure_file 目标

我的CMakeLists.txt文件中有以下命令configure_file([...]/Version.h.in[...]/Version.h@ONLY)如何让它在每次构建时都运行,而不仅仅是在Version.h.in更改时运行?我需要它,因为Version.h中有__DATE__宏,实际上每个构建都应该被视为新的,即使它保持不变也是如此。Version.h.in看起来像staticconstcharVERSION[]="Bla-bla-bla"@FOOBAR@"builton"__DATE__; 最佳答案 我将我的版本字符串生成

c++ - CMake + 库达 : compile cpp files in Cuda-mode (--x=cu)

假设我有一个文件,我们称它为foo.cpp,我的目标是在cuda模式下用nvcc编译这个文件。在命令行中,这可以通过调用轻松完成:nvcc--x=cufoo.cpp我正在苦苦挣扎的是让CMake做同样的事情。事实证明,CMake命令cuda_add_executable(foofoo.cpp)将过滤*.cpp文件并使用c++编译器(而不是nvcc)。请注意,将所有文件重命名为*.cu不是一种选择,因为代码库还必须支持非cuda构建。 最佳答案 在FindCUDAsourcecode我找到了一个选项来为特定的非.cu文件激活CUDA编

c++ - 将 CMake 与 LLVM 一起使用时出错

所以我正在尝试使用LLVM构建一个玩具编译器,并且我想使用CMake作为我的构建系统。我尝试使用sampleCMakeLists.txt来自LLVM的网站,但在运行cmake时遇到以下错误:CMakeErrorat/usr/share/llvm-3.8/cmake/LLVMConfig.cmake:178(include):includecouldnotfindloadfile:/usr/share/llvm/cmake/LLVMExports.cmakeCallStack(mostrecentcallfirst):CMakeLists.txt:4(find_package)CMake

c++ - 如何从 CMake 中隐藏 Visual Studio 中的目标

我正在使用CMake生成.sln。我想使用GoogleTest并使用那种代码来添加新测试:add_executable(my_testtest/my_test.cpp)target_link_libraries(my_testgtestgmock_main)add_test(NAMEmy_testCOMMANDmy_test)它工作正常,但是当我打开我的.sln时,我的所有目标都出现在解决方案资源管理器中:库、单元测试等。有没有办法隐藏这些目标? 最佳答案 您不能在cmake(ATM)中仅明确地做到这一点,但这里有一种方法可以更有效

c++ - CMake 与 Qt3d 用于 Qt5?

我已经从ubuntu-developers存储库(我在Ubuntu13.04下)安装了Qt5和Qt3d,我想用CMake编译一个非常简单的应用程序(我的版本是2.8.10.1)。Qthelloworld的工作CMakeLists.txt如下:cmake_minimum_required(VERSION2.8.8)project(testproject)#Findincludesincorrespondingbuilddirectoriesset(CMAKE_INCLUDE_CURRENT_DIRON)#InstructCMaketorunmocautomaticallywhenneed

c++ - CMake:如何更改子目录项目目标的属性?

我试图在我的子项目(在本例中为poco)中组织目标,但我发现无法为ALIAS目标修改属性。我希望我的外部项目中的目标位于它们自己的文件夹中,而不是散布在项目树中的任何地方(比如visualstudio生成器)。有没有更简单的方法来添加具有我自己的属性的项目?所以代替:-CMakePredefinedTargets-ALL_BUILD-INSTALL-...-MyTargets-SomeLibrary-SomeExe-CppUnit-Crypto-Data-...我要:-CMakePredefinedTargets-ALL_BUILD-INSTALL-...-MyTargets-Some

c++ - 是否可以将文件添加到 Visual Studio 中的 CMake 生成的解决方案文件夹中?

这个问题或多或少是这个问题的热身:howtogetcmaketoaddfilestomsvcssolutiontree它从来没有得到有效的答案,所以我想稍微改变一下:是否可以使用cmake2.8.3引入的cmake解决方案文件夹将文件直接添加到vs解决方案?我想做相当于VS->Solution->Add->ExistingItem的cmake。所以我的文件将出现在属于解决方案而不属于项目的文件夹中。我找到了如何使用解决方案文件夹将目标分组到文件夹中的示例,代码如下:set_property(GLOBALPROPERTYUSE_FOLDERSON)set_property(TARGET$

c++ - opencv ubuntu 12.04 Cmake错误: Source directory does not appear to contain CmakeLists. txt

我使用的是Ubuntu12.04。我试图使用http://karytech.blogspot.in/2012/05/opencv-24-on-ubuntu-1204.html中显示的步骤安装OpenCV但是当涉及到编译步骤时,我得到一个错误:clive@clive-Aspire-4755:~/OpenCV-2.4.0/build$cmake-DWITH_QT=ON-DWITH_XINE=ON-DWITH_OPENGL=ON-DWITH_TBB=ON-DBUILD_EXAMPLES=ON..CMakeError:Thesourcedirectory"/home/clive"doesnot