在CMake中获取当前宏文件的文件



我正在编写一个.cmake文件,该文件处理一堆东西,并且需要访问.cmake文件固定相对路径中的可执行文件。在本例中,组织化如下所示:

CMakeLists.txt 
- cmake
- tools.cmake 
- bin
- exectuable.exe

问题是使用include包含tools.cmake,因此,CMAKE_CURRENT_SOURCE_DIR返回CMakeLists.txt的目录。我不想对路径进行硬编码的原因是我想将tools.cmake和二进制文件放在单独的 GIT 存储库中,并且我不想强迫用户将其放置在某个特定文件夹中。

我现在能想到的唯一解决方案是提供一个函数来设置和存储tools.cmake路径。这并不优雅。

在这里回答:https://stackoverflow.com/a/12854575/2532768

CMAKE_JUCE_TOOLS_PATH不会返回函数内的正确路径或tools.cmake宏,但它会在任何函数外部返回正确的路径。所以我们可以

set(PATH_TO_TOOLS_CMAKE ${CMAKE_JUCE_TOOLS_PATH})

在可以在变量中访问路径时存储路径,而不是在函数和宏中访问路径PATH_TO_TOOLS_CMAKE

相关内容

  • 没有找到相关文章

最新更新