【问题标题】:Generating IDE project files生成 IDE 项目文件
【发布时间】:2012-09-03 20:17:58
【问题描述】:

这里的场景:

用 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 文件夹的情况下生成项目文件并将源文件复制到构建文件夹中?)

【问题讨论】:

  • 标准品牌。将项目文件与代码捆绑在一起是个坏主意。一些 IDE 可以利用现有的 Makefile。
  • Google 为 Chromium 开发了一个工具 gyp:code.google.com/p/gyp/wiki/GypVsCMake
  • 顺便说一句,CMake 的首选用法是在源文件夹中没有二进制文件夹(构建输出)。我将它们放在一个完全不同的树中,并且具有这样的关系,即单个源树用于多个编译器/构建树。这样我就可以独立定位 32 位构建和 64 位构建,并使用几个不同的编译器版本。
  • 这里有更多关于使用 CMake 构建源代码的信息:cmake.org/Wiki/…

标签: c++ c build ide cmake


【解决方案1】:

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

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

只有当您的项目没有依赖项时才有可能。否则,你无法知道 deps 的库和头文件在用户机器上的位置。

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

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

如果你说的是二进制目录,那么它可以位于任何地方,在项目目录中不是必需的。

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

可以使用configure_file 函数或运行${CMAKE_PROGRAM} -E copy

【讨论】:

    猜你喜欢
    • 2021-07-22
    • 2012-11-03
    • 1970-01-01
    • 2020-04-22
    • 1970-01-01
    • 2010-09-23
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多