最近在linux上使用cmake,對於使用GUI習慣的還真不能適應,真是想盡一切辦法把原來使用cmake的工程創建成CodeBlocks工程。工程小了還能接受,工程大了太麻煩了。
看了一下cmake的官方文檔從2.2.8以後的版本可以直接使用命令生成codeblocks工程,我的小心髒啊...不過相關文章不太多,可能有我這想法的也不太多,一般使用CMake的都是高手了,不會再這麼倒騰,廢話不多說了,下面直接從最簡單的工程開始吧。
因為cmake官方建議使用外部編譯,我們最好也用外部編譯。新建一個文件夾為t1,在該目錄下新建兩個目錄分別為Hello_src、build。Hello_src存放源文件和Cmakelists.txt,build存放生成的codeblocks工程。如圖:
main.c代碼為
1 #include <stdio.h> 2 int main() 3 { 4 printf("Hello World from t1 Main!\n"); 5 return 0; 6 }
CMakeLists.txt
1 PROJECT (HELLO) 2 SET(SRC_LIST main.c) 3 MESSAGE(STATUS "This is BINARY dir " ${HELLO_BINARY_DIR}) 4 MESSAGE(STATUS "This is SOURCE dir "${HELLO_SOURCE_DIR}) 5 ADD_EXECUTABLE(hello ${SRC_LIST})
cmake ../Hello_src -G "CodeBlocks - Unix Makefiles"
如圖:
進入build中就看到了codeblocks工程。
不過直接編譯運行是有問題的,如圖:
選擇project-》properties-》Build targets
修改為如圖:
之後點擊編譯運行成功: