1

这里的场景:

一个人用 C/++ 创建了一个漂亮的软件库/模块。

现在想要让新用户更容易使用这个库/模块。

所以想要提供所有包含设置、编译器标志和链接器设置都正确设置的 IDE 项目文件。

想为不同平台下的许多不同 IDE 提供项目文件,例如:Linux(32 位和 64 位)、Windows(32 位和 64 位)、Mac(32 位和 64 位)、CodeBlocks、Eclipse CDT、KDevelop3、 CodeLite、Microsoft Visual Studio 等

(假设包含文件和库文件的所有路径以及所有编译器标志都是已知的。例如,通过可下载 SDK 的静态路径)

所以想要使用这个库的用户只需要:

  • 安装库/模块
  • 选择正确的项目文件(取决于用户的操作系统和 IDE)
  • 开始编码
  • (所有包含设置、编译器标志和链接器设置都已在项目文件中正确设置)
  • (无需用户手动设置包括设置、编译器标志和链接器设置)

如何从已知的包含设置、编译器标志和链接器设置中轻松生成这样的项目文件。

我已经看过 CMake(它非常接近最终目标),但它为 IDE 项目文件创建了一个额外的 CMake 文件夹,并且也不会将可能的示例源复制到构建目录中。(也许有可能让 CMake 在没有 CMake 文件夹的情况下生成项目文件并将源文件复制到构建文件夹中?)

4

1 回答 1

3

(所有包含设置、编译器标志和链接器设置都已在项目文件中正确设置)

(无需用户手动设置包括设置、编译器标志和链接器设置)

仅当您的项目没有依赖项时才有可能。否则,您无法知道 deps 的库和标头在用户计算机上的位置。

CMake 正是为此而创建的——查找依赖项并生成项目文件。

但它会为 IDE 项目文件创建一个额外的 CMake 文件夹

如果您正在谈论二进制目录,那么它可以位于任何地方,而不是项目目录中的必要位置。

并且也不会将可能的示例源复制到构建目录中。

可以通过configure_file函数或运行${CMAKE_PROGRAM} -E copy.

于 2012-09-11T03:15:23.810 回答