我正在编写一个处理大量内容的.cmake文件,需要访问.cmake文件的固定相对路径中的可执行文件。在这种情况下,组织化如下所示:
CMakeLists.txt
- cmake
- tools.cmake
- bin
- exectuable.exe
问题是使用tools.cmake
包含include
,因此,CMAKE_CURRENT_SOURCE_DIR
会返回CMakeLists.txt
的目录。我不想对路径进行硬编码的原因是我想将tools.cmake
和二进制文件放在一个单独的GIT存储库中,我不想强迫用户将其置于某个特定的位置夹。
我现在唯一能提出的解决方案是提供一个设置和存储tools.cmake
路径的功能。那不是很优雅。
答案 0 :(得分:0)
在这里回答: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