C++ CMake:仅导入库的一部分

C++ CMake:仅导入库的一部分,c++,cmake,C++,Cmake,目前,在编写一些单元测试时,我在项目中遇到了一个问题 考虑以下结构: / - CMakeLists.txt - ModuleA/ - CMakeLists.txt - FileA.cpp - FileB.cpp - Mock/ - CMakeLists.txt - FileA.cpp - UnitTest/ - CMakeLists.txt - FileBTest.cpp FileB使用FileA提供的函数。现在我在为FileB编写UnitTest时遇到了一些

目前,在编写一些单元测试时,我在项目中遇到了一个问题

考虑以下结构:

/
- CMakeLists.txt
- ModuleA/
  - CMakeLists.txt 
  - FileA.cpp
  - FileB.cpp
- Mock/
  - CMakeLists.txt
  - FileA.cpp
- UnitTest/
  - CMakeLists.txt
  - FileBTest.cpp 

FileB使用FileA提供的函数。现在我在为FileB编写UnitTest时遇到了一些问题。在我的单元测试中,我确实包含了目标链接库(ModuleA)中的FileB源代码,但也链接了FileA源代码。但是FileA中的这个函数应该被Mock替换。
如果两者都链接,我会因为重复而得到一个错误。有没有办法只从ModuleA添加文件FileB并使用文件a的Mock?

“有没有办法只从ModuleA添加文件FileB并使用文件a的Mock?”-只使用文件
FileB.cpp
,而不是模块(目标)
FileB