2011-05-05 98 views
1

时忽略单个文件是否有告诉CMake在使用include_directories时忽略一个特定的头文件?在使用include_directories和CMake

由于目录没有展开为单个文件,因此我不能将list(REMOVE_ITEM ..)文件移出。

欢呼丹尼尔

+0

你的问题不清楚。你是否想忽略一个头文件(如果是这样,在某种意义上?)还是你想从include_directories调用中忽略一个目录?我不知道如何忽略单个文件,但是我知道如何删除文件... – DLRdave 2011-05-05 20:45:05

+0

我有一个目录在两个项目之间共享。由于某些原因,我希望其中一个项目包含除三个特定头文件以外的所有内容。 – luuke 2011-05-07 12:47:58

回答

3

的include_directories在CMakeLists调用不会导致所有可用的报头文件的列表。它只是将这些目录直接传递给编译器,作为“#include < ...>”的搜索目录。在GCC 4.6的“-I”选项中查看documentation

另外:我不知道为什么你想要排除单个文件。通常你可以通过在自己的项目中创建自己的头文件来解决有问题的头文件,除了单文件外,它包括了所有的东西...

如果你确实想要这样的东西,而且你坚持用CMake解决它,你可能最终会得到file-globing所有的头文件,将它们手工复制(当然没有那一个文件),然后将它们手动添加到新的include-dir中,然后包含新的目录。

+0

感谢您的建议安德烈,我已经做了文件全球化的一部分,但没有拿出临时移动文件的想法。然而,鉴于你说的手动,我认为没有机制在CMake中可以为我做到这一点。不管怎么说,还是要谢谢你.. – luuke 2011-05-07 12:49:52