3. 给一个库添加用法需求(Usage Requirements)
1. usage requirements
目标参数的用法要求(不知道有没有更好的翻译方式)可以更好地控制库或可执行的链接,并包括行,同时还可以更好地控制CMAKE内部目标的传递属性。
2. 给一个库添加 usage requirements
仍旧以官方教程中的例子来学习,对应的文件目录为 Step3,文件内的内容结构如下:
在本节中,我们让上节中创建的 MathFunctions 库来自己指定需要的 include 文件夹,我们的目标项目 Tutorial 只需要链接 MathFunctions 库即可,不需要再额外包含文件夹。
具体想要实现的效果是,如果链接了 MathFunctions 函数库, 就需要包含当前的文件目录,也就是 MathFuntions 文件夹。
在 MathFunctions 文件夹中的 CMakeLists 中添加:target_include_directories(MathFunctions INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
INTERFACE 表示接口,意味着使用该库的目标需要 include 但是库本身不需要 include。
在根目录的 CMakeLists 中便不再需要添加该 include 文件夹了。