我目前正在进行一个 BF 解释器项目。我决定使用 CMake,它工作正常。我按照以下树确定了源外构建:
+ Project root
|
+-- src/
+-- bin/
+-- build/ <- holds the "rubbish" generated by CMake when generating the Makefile
+-- CMakeLists.txt
当我想构建项目时,我从项目的根文件夹运行:
cd build
cmake ..
make
在 CMakeLists.txt 中,我添加了以下行:
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
但是,我发现它在 build/bin 文件夹中输出二进制文件,所以我将这一行编辑为:
SET(EXECUTABLE_OUTPUT_PATH "../bin/"
它工作得很好,但恕我直言,有点丑陋。是否有任何“干净”的方式来做到这一点,即不对项目的结构做出假设,而是使用类似的东西set(EXECUTABLE_OUTPUT_PATH ${PROJECT_ROOT}/bin")
?提前感谢您的回复,并对我可能犯的任何英语错误表示歉意,因为英语不是我的第一语言。