【发布时间】:2016-02-02 05:03:52
【问题描述】:
我正在编写与 cmake 配合使用的 makefile。 makefile 只是创建构建目录并在其中启动 cmake,如果尚未创建构建目录,或者将目标重定向到由 cmake 创建的 makefile,如果它已经存在。我用mkdir -p创建了一个构建目录,但是它不是跨平台的。
mkdir -p 是否有任何跨平台变体?可能是 cmake 提供了替代命令,就像它提供 autoconf 一样?
【问题讨论】:
我正在编写与 cmake 配合使用的 makefile。 makefile 只是创建构建目录并在其中启动 cmake,如果尚未创建构建目录,或者将目标重定向到由 cmake 创建的 makefile,如果它已经存在。我用mkdir -p创建了一个构建目录,但是它不是跨平台的。
mkdir -p 是否有任何跨平台变体?可能是 cmake 提供了替代命令,就像它提供 autoconf 一样?
【问题讨论】:
您可以使用cmake -E make_directory(请参阅documentation)。如果父目录不存在,它会创建给定目录之上的所有目录。
如果您在 CMake 脚本本身中使用它,例如作为预构建步骤:${CMAKE_COMMAND} -E make_directory
参考文献
【讨论】: