我想知道是否有可能直接在CMakeLists.txt中包含头文件,而不是cpp或hpp文件。我正在一个项目中,所有cpp文件都需要包括一些hpp文件。我可以添加
#include "foo.hpp"
在每个cpp文件中,但最好在CMakeLists.txt级别管理包含,并避免#include "foo.hpp"
在每个cpp文件中添加。
我已经尝试过了
target_include_directories(${PROJECT_NAME} PRIVATE
"${PROJECT_PATH}/bar/foo.hpp")
但这是行不通的。甚至可以在cmake级别包括头文件而在cpp文件中不包括头文件吗?如果是,如何?
是的,但是你不应该。
您可以-include
通过调整变量来制作CMake问题依赖编译器的编译标志(例如,对于GnuCC)CMAKE_CXX_FLAGS
:
if(GNU)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -include foo.hpp")
elseif(MSVC)
...
endif()
虽然这是不建议,因为它:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句