在CMake 3.12中引入了FindPython
模块来帮助查找Python解释器和其他组件。
然而,我继续看到许多使用find_package(Python ...)
的例子。
如果我能保证我使用CMake 3.12,我应该使用哪个?两者之间的关系是什么?
没有区别。find_package(Python ...)
调用首先在CMAKE_MODULE_PATH
中寻找一个名为FindPython.cmake
的模块,然后在标准的CMake安装文件夹中(在那里它肯定会被找到)。
你期待看到include(FindPython)
吗?如果是这样,那是不好的做法。只能通过find_package(XYZ)
加载FindXYZ.cmake
模块。这适用于CMake 2.x。
如果我能保证我使用CMake 3.12,我应该使用哪个?
您应该使用find_package(Python ...)
,正如文档所建议的那样。https://cmake.org/cmake/help/v3.12/module/FindPython.html