这里的情景:
用C /++创建一个漂亮的软件库/模块。
现在,我们想让新用户轻松使用此库/模块。
因此,想要提供IDE项目文件,其中所有包含设置,编译器标志和链接器设置都已正确设置。
有人想在不同平台下为许多不同的IDE提供项目文件,例如:Linux(32位和64位),Windows(32位和64位),Mac(32位和64位),CodeBlocks ,Eclipse CDT,KDevelop3,CodeLite,Microsoft Visual Studio等。
(假设包含文件和库文件以及所有编译器标志的所有路径都是已知的。例如,通过可下载SDK的静态路径)
因此,想要使用此库的用户必须:
如何从已知的包含设置,编译器标志和链接器设置轻松生成此类项目文件。
我已经看过CMake(它非常接近最终目标),但它为IDE项目文件创建了一个额外的CMake文件夹,也没有将可能的示例源复制到构建目录中。 (也许有可能让CMake生成没有CMake文件夹的项目文件,并将源文件复制到build文件夹中?)
答案 0 :(得分:3)
(所有包含设置,编译器标志和链接器设置已经存在 在项目文件中正确设置)
(无需用户手动操作 设置包括设置,编译器标志和链接器设置)
只有当您的项目没有依赖项时才有可能。否则,您无法知道deps的lib和头在用户计算机上的位置。
已经为此创建了CMake - 查找依赖项并生成项目文件。
但它会为IDE项目文件
创建一个额外的CMake文件夹
如果你在谈论二进制目录,那么它可以位于任何地方,在项目目录中不是必需的。
并且也不会将可能的示例源复制到构建目录中。
可以使用configure_file
功能,也可以运行${CMAKE_PROGRAM} -E copy
。