cmake -G的G應該是Generator的意思,該語句可以設置IDE,比如Xcode
cmake -D 是用來設置編譯器的
舉兩個使用的例子:
//設置CC和CXX的環境變量
CC=gcc-4.2 CXX=/usr/bin/g++-4.2 cmake -G "Your Generator" path/to/your/source
cmake -G "Your Generator" -D CMAKE_C_COMPILER=gcc-4.2 -D CMAKE_CXX_COMPILER=g++-4.2 path/to/your/source
舉一個我看到的例子:
// -DCMAKE_TOOLCHAIN_FILE=../cmake/iOS.cmake是設置工具鏈文件的部分
//實際生成代碼是cmake -GXcode ../ ,-G Xcode,源碼為上層路徑
cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/iOS.cmake -GXcode ../
上面是個人的理解,具體的說明可以參考
https://gitlab.kitware.com/cmake/community/wikis/FAQ#what-is-an-out-of-source-build