看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《dos792 (下來一個正妹)》之銘言: : → dos792:我的proj檔引了數百個 .hpp / .cpp 手動會死人 06/02 19:25 單純想回這句, CMake 當然不用真的手動加 source 既然你原本是在 VC 的 solution 上, 就用 VC 的角度思考 首先你要決定這個專案是 1.執行檔 2.靜態連結(*.lib,*.a) 3.動態連結(*.dll,*.so) 1. add_executable(name_of_exe ${SOURCES}); 2. add_library(name_of_lib ${SOURCES}); 3. add_library(name_of_dll SHARED ${SOURCES}); 上述的 SOURCES 就是你的 *.cpp ... 這怎麼來的? 最簡單的方法是用 file 去抓, 假設你的資料夾內容如下: project/ CMakeLists.txt src/*.cpp file(GLOB_RECURSE SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} src/*.cpp) 這樣這個 SOURCES 變數裡就會抓到所有(含子資料夾)的 *.cpp 其他像 *.h 或 *.ui 就如法炮製 如果希望生出來的 VC proj 有檔案分類, 可用 source_group (只對VC有影響): source_group("Resource Files" REGULAR_EXPRESSION .*\\.rc) 這樣就是把 *.rc 集中到 Resource Files 裡 需要 link 其他 lib 就用 target_link_libraries() 要增加安裝功能就用 install(), make install 或 nmake install 就可以安裝 其他還有很多 ... 自己去翻文件 基本上只要 file() 那個 command 設好, 日後加什麼檔案幾乎都不用改 CMakeLists.txt ... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 175.96.113.98
angleevil:我好愛教學文,昨天再研究cmake.結果無法下載投影片 06/03 08:31