比方說,我有一個項目,我已經在.build目錄運行cmake:有cmake的變化二進制目錄
project/
.build/
.src
目前,我必須這樣做是爲了運行構建:
cd .build
make
我希望能夠與
make -f ./build/Makefile
運行從我的項目的根做,也許,但它不能正常工作。我得到這樣
make[1]: CMakeFiles/Makefile2: No such file or directory
make[1]: *** No rule to make target `CMakeFiles/Makefile2'. Stop.
make: *** [all] Error 2
這個錯誤是因爲CMake的生成Makefile文件假設其工作目錄是一樣的地方居住(.build)。
是否有可能讓CMake生成一個makefile,使makefile將工作目錄更改爲它所在的位置?
這是一個有趣的想法......關於如何讓CMake將所有目標放入頂層makefile的任何想法? – paleozogt
您可能會考慮使用舊式的源代碼構建過程。這些日子已被棄用,但曾經是常態。將CMakeLists.txt文件放入項目根目錄中。 「ccmake -i。」,「make」,「做任何事」和「make install」就在那裏。您的來源將與您的二進制文件混合在一起,純粹主義者會很好,但它可能會滿足您的需求。 –