我正在开展一个大项目,有些人可能会说很棒。
该项目正在使用cmake和netbeans在c ++中开发。一切都运行正常,除了每次我对项目进行更新,添加或删除源文件,netbeans运行cmake并将新项目添加到“项目”列表。这有点令人讨厌,因为我倾向于这么做。
是否有一种聪明的方法可以确保每次添加子目录时netbeans都不会创建新项目?
答案 0 :(得分:26)
从NetBeans 6.8开始,CMake处理得很好,就像任何其他configure
脚本一样:
CMakeLists.txt
所在的目录)。 NetBeans将在必要时运行cmake
以构建Makefile
(或者当您单击“重新配置项目”时)。
有关详细信息,请参阅original thread on the NetBeans forums。
答案 1 :(得分:24)
基于CMake的项目与NetBeans完美配合。
C/C++ Project with Existing Sources
CMakeLists.txt
的目录)Select Configuration mode
设置 Custom
Next
Run Configure Script in Subfolder
(默认文件夹为build
)Next
,直到您点击完成Finish
,Cmake将运行并构建您的项目这种方式比自动方式长一些,但实际上它只设置了两个刻度。
优势以及额外费用的原因:CMake现在将所有 本地缓存文件 放在 子文件夹中 (build
)并将它们分开放在一个地方 - 不要将它们与其他项目内容混合在一起。
这样可以保持一个干净的项目结构,因为这些文件仅适用于您的项目并由每个配置运行创建。
作为额外的:如果您必须手动删除CMake缓存 - 有时会发生这种情况 - 只有一个目录,其中包含所有内容。
由于 NetBeans 8.0 所有CMake文件都有语法着色。
答案 2 :(得分:6)
我收到了这个错误:“无法启动cmake:没有这样的文件或目录”
我不得不使用NetBeans - >偏好 - > C / C ++(构建工具) - >将CMake命令设置为/ opt / local / bin / cmake。
答案 3 :(得分:4)
我正在使用带有大型c ++项目的Cmake,netbeans和SVN,没有问题。
我通常使用“c ++ with existing sources”选项配置项目并选择 由cmake生成的makefile所以netbeans不知道我正在使用哪个make工具。然后只选择包含您需要处理的来源的文件夹。
每次更新源代码时,都必须更新运行cmake的Makefile(以及Netbeans项目也会更新源代码),这样你就可以手动执行,也可以只在项目的build命令中执行:“cmake ..&&制作“(这很棘手,但工作正常)。 希望有用。