我正在尝试使用cmake安装可执行文件。我真正的问题是:如何安装可执行文件及其依赖项。举个例子:我想安装一个可执行文件,它依赖于我的cmake的两个库和一个3rdparty(预编译)。set(EXECUTABLE_NAMEMyExecutable)file(GLOB_RECURSE${EXECUTABLE_NAME}_SOURCES*.cpp)add_executable(${EXECUTABLE_NAME}${${EXECUTABLE_NAME}_SOURCES})target_link_libraries(${EXECUTABLE_NAME}MyLibrary1MyLibrary2
我最近将我的Qt项目从qmake转移到CMake构建系统,现在我正在尝试建立一个翻译系统。我尝试使用qt5_create_translation宏(记录在here中)来更新我的*.ts文件并生成*.qm文件。默认情况下,宏在源目录中创建(或更新)*.ts文件,在构建目录中创建*.qm文件,这非常合乎逻辑且使用方便。底层lupdate实用程序的性质使得*.ts文件无法被破坏-它们只能被更新。所以我看到我的工作流程如下:添加或修改源文件或UI文件。重建项目:新的可翻译字符串将添加到*.ts文件中。现在将实际翻译添加到*.ts或“按原样”提交更改以便稍后添加翻译。将翻译添加到*.ts后,立即
你好,我正在尝试在Windows8下使用CMake编译VTK和ITK。ITK编译完美,但是当我尝试通过CMake处理VTK时,出现错误cmTryCompileExechasstoppedworking。我怎么解决这个问题?我的CMake版本是2.8.12.1 最佳答案 看起来运行try-compile测试的脚本崩溃了。解决方案:UpdateVTK。 关于c++-CMake错误-cmTryCompileExec已停止工作(VTK),我们在StackOverflow上找到一个类似的问题:
我正在使用cmake来管理我的项目的编译,这是我第一次使用cmake。这个工具非常方便,因为有大量的脚本和函数可以检查给定计算机上是否安装了所有必需的库。然而,有时,这些通用脚本不涵盖某些特定情况,或者它们对于给定的库根本不可用。那么我的问题如下:验证给定头文件(hpp或h)在包含路径中是否可用的正确cmake样式方法是什么?理由:最直接的方法可能是使用CHECK_INCLUDE_FILE宏。例如,如果我想使用UnitTest++库,我可以这样写CHECK_INCLUDE_FILE_CXX("UnitTest++.h"HAVE_UNITTESTXX)IF(NOTHAVE_UNITTES
我想从CMake项目为跨平台Linux项目生成VisualStudio解决方案。VisualStudio2017跨平台工作负载运行良好,尤其是在调试方面。我用它来定位WSL。现在我有一个现有的LinuxCMake项目,我想在Windows和VisualStudio上开发并在WSL上构建它。我只是似乎没有看到为VisualStudio生成适当解决方案的方法。谁能赐教一下? 最佳答案 已经有somequeries支持CMake的“Linux”项目类型,但我不认为thereissomethingimplementedyet(查看代码,它无
我正在尝试使用AndroidNdK独立工具链构建一些东西。但是,我遇到了这些错误。CMakeWarningatcmake/android.toolchain.cmake:387(message):UsingvalueofobsoletevariableANDROID_NDK_TOOLCHAIN_ROOTasinitialvalueforANDROID_STANDALONE_TOOLCHAIN.Pleasenote,thatANDROID_NDK_TOOLCHAIN_ROOTcanbecompletelyremovedinfutureversionsofthetoolchain.Call
在Ubuntu14.04中,我正在编译一个C++程序,它依赖于以下包:CUDA和OpenNI。在该程序的CMakeListst.txt文件中,有以下内容:find_package(CUDA)find_package(OpenNI)cmake的输出是:FoundCUDA:/usr/local/cuda(foundversion"6.5")--CouldNOTfindOpenNI(missing:OpenNI_LIBRARYOpenNI_INCLUDE_DIR)因此,似乎找到了CUDA,但没有找到OpenNI。现在,我肯定已经安装了OpenNI,但可能不在标准位置。如前所述,CUDA文件位
我想静态链接下面列出的库:set_target_properties(execPROPERTIESLINK_SEARCH_START_STATIC1)set_target_properties(execPROPERTIESLINK_SEARCH_END_STATIC1)set(CMAKE_FIND_LIBRARY_SUFFIXES.a${CMAKE_FIND_LIBRARY_SUFFIXES})find_library(SODIUM_LIBlibsodium.aREQUIRED)find_library(SSL_LIBlibssl.aREQUIRED)find_library(CRYP
我正在尝试获取基于CMake的项目(包含多个目标)的代码覆盖率。首先我生成gcno文件:lcov-b.-d.-ocoverage.output--capture--initial生成的*.gcnobuild_dir/[target_dir]/CMakeFiles/[target_dir].dir然后我运行生成*.gcna文件的测试build_dir/tests/CMakeFiles/[target_dir].dir当我再次运行lcov时:lcov-b.-d.-ocoverage.output--capture我收到以下错误:Scanning.for.gcdafiles...Found2
我已经在cmake下构建了一个大项目。我正在寻找一种方法来获取源文件列表及其依赖的头文件以创建新目标(例如Emacs的etags)。我试图自己找到答案,但似乎并不那么容易。理想的灵魂应该是这样的:add_executable(my_project)add_custom_target(tagsCOMMANDetagsDEPENDSCOMMENT"CreatessourcecodetagsforEmacs")您是否知道如何让“tags”目标从“my_project”目标导入所有依赖项,而无需重写所有目录中的所有cmake配置文件? 最佳答案