我是新来构建工具,当我遇到Autotool时,我有一个选项,只在顶部生成文件夹中写入一个Makefile.am,并保留包含所有cpp文件的源文件夹干净。我可以使用VPATH告诉automake在该文件夹内查找源代码,而不是在/ src/where处查找。 (请参考我的老问题:Automake Variables to tidy up Makefile.am)我应该从源文件夹中分离CMakeList.txt吗?
但是在我看来,CMake没有设置VPATH,有些狐狸说,这是不可能的。因此,有两种选择:
- 源文件夹
- 在顶部构建文件夹中创建CMakeList.txt和先不谈源创建CMakeList.txt,与我需要“/ src目录”扩大到成本每个源代码文件。
哪一个更普遍使用?我更喜欢第二个,因为它将源代码从任何构建相关源中清除。在那种情况下,无论如何摆脱“/ src”?
您也可以使用文件(GLOB_RECURSE SOURCE_FILES的src/*。CPP),因此,如果在src /你的源文件夹中被分裂,这将让他们automaticaly。 – fbafelipe
您没有回答两个选项中哪一个更好,更常用?如果我指定了add_executable(test test.cpp),src/test.cpp会位于何处? – w00d
请注意,使用GLOB时,如果添加新的src/.cpp文件,它将不会被拾取并编译,直到您再次运行cmake。 “触摸CMakeLists.txt”就足够了,但这是一个棘手的方法。 – richq