相关疑难解决方法(0)

使用CMake自动将文件夹中的所有文件添加到目标?

我正在考虑将跨平台项目从Visual C++,XCode和makefile中的单独构建管理系统切换到CMake.

我需要的一个基本功能是自动将目录中的所有文件添加到目标.虽然这很容易用make做,但使用Visual C++和XCode并不容易做到(如果我错了,请纠正我).是否可以直接在CMake中进行?怎么样?

在学习CMake之前,请随意添加我应该注意的任何其他事情,考虑到目前该项目是中等规模的(8个库,2个可执行文件,8个测试项目,它取决于大约8个外部库).

c++ cross-platform cmake

150
推荐指数
3
解决办法
13万
查看次数

在CMake中使用GLOB或每个文件单独指定源文件是否更好?

CMake提供了几种指定目标源文件的方法.一种是使用globbing(文档),例如:

FILE(GLOB MY_SRCS dir/*)
Run Code Online (Sandbox Code Playgroud)

另一个是单独指定每个文件.

哪种方式更喜欢?Globbing似乎很容易,但我听说它有一些缺点.

cmake

145
推荐指数
4
解决办法
7万
查看次数

让CMake递归扫描文件夹?

如何设置CMake以递归方式扫描给定目录并确定源文件列表?

我的项目是一个共享库.我有一个与此类似的文件夹结构:

/
  src/              # Source files in an arbitrary tree
  include/          # Headers, tree mirrors that of the src/ folder
  examples/         # Executable code examples that link against the library
  CMakeLists.txt
Run Code Online (Sandbox Code Playgroud)

我想避免:

  • 用无尽的文件污染srcinclude目录src/
  • 每次我更改文件夹结构时都必须更改和修改脚本

但是,每个示例都可以拥有自己的构建脚本.

build-automation build-process build cmake build-system

38
推荐指数
1
解决办法
3万
查看次数

递归CMake搜索头文件和源文件

我是CMake的新手,想问一下是否有人可以帮助解决以下问题.

我在各自的文件夹中有C++源代码和头文件,现在,我想制作一个递归搜索它们的CMake文本文件.

目前,我这样做:

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(CarDetectorDAISY)

file(GLOB_RECURSE SRCS *.cpp)
file(GLOB_RECURSE HDRS *.h)

ADD_EXECUTABLE(stereo_framework  ${SRCS} ${HDRS})
TARGET_LINK_LIBRARIES(stereo_framework) 
Run Code Online (Sandbox Code Playgroud)

这将创建我的CarDetectorDAISY.sln解决方案文件,当我尝试构建它时,它会显示找不到头文件的错误(没有这样的文件或目录).

如果有人能帮助我,真的很感激.谢谢.

build-automation build-process build cmake

19
推荐指数
2
解决办法
4万
查看次数