cmake 構建工程


 

1、首先創建工程目錄:/learn/cmake/project

  project目錄中需要編寫CMakeLists.txt

2、在project中創建src子目錄

  放置工程源代碼,src目錄中需要編寫CMakeLists.txt

3、在project中創建build子目錄:
  編譯目錄,外部編譯時:
  (cmake ..) 生成的編譯需要的Makefile以及其他的中間文件,會在這個目錄中
  (make) 生成的目標文件target會在build/bin目錄中
 
4、在project中創建doc子目錄
  存放工程文檔project.txt
 
5、在project中添加文本文件COPYRIGHT,README;
  touch COPYRIGHT
  touch README
6、在工程目錄中添加一個runtarget.sh腳本,用來調用相應的二進制文件
 
工程構建並編譯完成之后,可以安裝:
在project中的CMakeLists.txt 中添加INSTALL指令來安裝COPYRIGHT,README,runtarget.sh腳本,/doc/project.txt,target(可執行文件)

注釋:本例子中的目標文件為hello
INSTALL(FILES COPYRIGHT README DESTINATION share/doc/cmake/t2)
INSTALL(TARGETS hello RUNTIME DESTINATION bin)
INSTALL(PROGRAMS runhello.sh DESTINATION bin)
INSTALL(DIRECTORY doc/ DESTINATION share/doc/cmake/t2)

現在進入 build 目錄進行外部編譯,注意使用 CMAKE_INSTALL_PREFIX 參數,這里我們
將它安裝到了/tmp/t2 目錄:
cmake -DCMAKE_INSTALL_PREFIX=/tmp/t2/usr ..
然后運行
make
make install

目前還存在的疑惑:

1、為什么cmake編譯好的文件需要安裝呢,直接在生成的可執行文件中運行,或者直接把可執行文件復制到相應的目錄,不可以嗎?

2、可執行文件hello 並不在項目目錄下,為什么安裝的時候,不需要指定目錄呢?

 

 

 說明:文章參照《CMAKE實踐》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM