CMake:如何公开子项目的私有标题以进行测试?

时间:2018-03-08 10:16:26

标签: cmake

我的项目树中有一个子项目,通过add_subdirectory( subproject )添加。在同一级别,还有一些测试,也通过add_subdirectory( tests )添加。子项目公开其公共标题(通过target_set_include_directories( subproject PUBLIC ... ),然而,测试需要访问私有标题(通过PRIVATE关键字添加的标题)。有没有更正确的方法来做到这一点,而不仅仅是指定include_directories( ${CMAKE_SOURCE_DIR)/subproject/private/) in测试'CMakeLists.txt?我有想法添加一个单独的目标subproject_testing,它暴露私有头,但遇到预编译头和并行编译依赖关系的问题(子项目需要在配置步骤中通过add_custom_command编译的非CMake库,以及当两个目标同时尝试运行此构建时,它们中的一个会失败。

0 个答案:

没有答案