


全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
cmake學(xué)習(xí)筆記(五)在cmake 學(xué)習(xí)筆記(三) 中簡(jiǎn)單學(xué)習(xí)了 find_package 的 model 模式,在cmake 學(xué)習(xí)筆記(四)中了解一個(gè)CMakeCache相關(guān)的東西。但靠這些知識(shí)還是不能看懂PySide使用CMakeLists文件,接下來(lái)繼續(xù)學(xué)習(xí)find_package的 config 模式及package configure文件相關(guān)知識(shí)find_package 的 config 模式當(dāng)CMakeLists.txt中使用find_package命令時(shí),首先啟用的是 module 模式:按照 CMAKE_MODULE_PATH 路徑和cmake的安裝路徑去搜索finder文件 Find.cmake如果finder未找到,則開(kāi)始 config 模式:將在下列路徑下查找 配置 文件 Config.cmake 或 -config.cmake/(W)/(cmake|CMake)/(W)/*/(W)/*/(cmake|CMake)/(W)/(share|lib)/cmake/*/(U)/(share|lib)/*/(U)/(share|lib)/*/(cmake|CMake)/(U) find_package 參數(shù)及規(guī)則見(jiàn)manualConfig.cmake該文件至少需提供頭文件路徑和庫(kù)文件信息。比如 ApiExtractorConfig.cmake 在Windows下一個(gè)例子:# - try to find APIEXTRACTOR# APIEXTRACTOR_INCLUDE_DIR - Directories to include to use APIEXTRACTOR# APIEXTRACTOR_LIBRARIES - Files to link against to use APIEXTRACTORSET(APIEXTRACTOR_INCLUDE_DIR D:/shiboken/dist/include/apiextractor)if(MSVC) SET(APIEXTRACTOR_LIBRARY D:/shiboken/dist/lib/apiextractor.lib)elseif(WIN32) SET(APIEXTRACTOR_LIBRARY D:/shiboken/dist/bin/apiextractor.dll)else() SET(APIEXTRACTOR_LIBRARY D:/shiboken/dist/lib/apiextractor.dll)endif()該文件是通過(guò) configure_file 機(jī)制生成的,我們看看 ApiExtractorConfig.cmake.in 文件:SET(APIEXTRACTOR_INCLUDE_DIR CMAKE_INSTALL_PREFIX/include/apiextractorapiextractor_SUFFIX)if(MSVC) SET(APIEXTRACTOR_LIBRARY LIB_INSTALL_DIR/CMAKE_SHARED_LIBRARY_PREFIXapiextractorapiextractor_SUFFIXLIBRARY_OUTPUT_SUFFIX.lib)elseif(WIN32) SET(APIEXTRACTOR_LIBRARY CMAKE_INSTALL_PREFIX/bin/CMAKE_SHARED_LIBRARY_PREFIXapiextractorapiextractor_SUFFIXLIBRARY_OUTPUT_SUFFIXCMAKE_SHARED_LIBRARY_SUFFIX)else() SET(APIEXTRACTOR_LIBRARY LIB_INSTALL_DIR/CMAKE_SHARED_LIBRARY_PREFIXapiextractorapiextractor_SUFFIXLIBRARY_OUTPUT_SUFFIXCMAKE_SHARED_LIBRARY_SUFFIX)endif()對(duì)應(yīng)的命令(變量的定義略過(guò))configure_file($CMAKE_CURRENT_SOURCE_DIR/ApiExtractorConfig.cmake.in $CMAKE_CURRENT_BINARY_DIR/ApiExtractorConfig.cmake ONLY)ConfigVersion.cmake該文件用來(lái)比對(duì)版本是否匹配,看看ApiExtractorConfigVersion.cmake.in 的內(nèi)容:set(PACKAGE_VERSION apiextractor_VERSION)if($PACKAGE_VERSION VERSION_LESS $PACKAGE_FIND_VERSION ) set(PACKAGE_VERSION_COMPATIBLE FALSE)else($PACKAGE_VERSION VERSION_LESS $PACKAGE_FIND_VERSION ) set(PACKAGE_VERSION_COMPATIBLE TRUE) if( $PACKAGE_FIND_VERSION STREQUAL $PACKAGE_VERSION) set(PACKAGE_VERSION_EXACT TRUE) endif( $PACKAGE_FIND_VERSION STREQUAL $PACKAGE_VERSION)endif($PACKAGE_VERSION VERSION_LESS $PACKAGE_FIND_VERSION )一般提供設(shè)置下面的變量PACKAGE_VERSION完整的版本字符串PACKAGE_VERSION_EXACT如果完全匹配為真PACKAGE_VERSION_COMPATIBLE如果兼容為真PACKAGE_VERSION_UNSUITABLE如果不可用為真find_package進(jìn)而根據(jù)這些設(shè)置_VERSIONfull provided version string_VERSION_MAJORmajor version if provided, else 0_VERSION_MINORminor version if provided, else 0_VERSION_PATCHpatch version if provided, else 0_VERSION_TWEAKtweak version if provided, else 0參考/cmake/help/cmake-2-8-docs.ht
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年按季度結(jié)算的商鋪?zhàn)赓U與營(yíng)銷(xiāo)支持合同
- 人工智能賦能下的醫(yī)療器械診斷設(shè)備:2025年行業(yè)競(jìng)爭(zhēng)格局與市場(chǎng)機(jī)遇
- 二零二五年度農(nóng)產(chǎn)品電商平臺(tái)合作合同
- 2025版汽車(chē)租賃企業(yè)一半股權(quán)轉(zhuǎn)讓與業(yè)務(wù)整合合同
- 2025版建筑鋼材采購(gòu)質(zhì)量保障合同
- 2025版三子女離婚撫養(yǎng)協(xié)議財(cái)產(chǎn)分配與監(jiān)護(hù)權(quán)明確
- 二零二五年度13合同商定版風(fēng)險(xiǎn)評(píng)估與應(yīng)對(duì)協(xié)議
- 2025版LED燈珠L(zhǎng)ED照明配件購(gòu)銷(xiāo)合作協(xié)議
- 2025版旅游項(xiàng)目開(kāi)發(fā)與運(yùn)營(yíng)管理服務(wù)合同范本
- 二零二五版居間代理保險(xiǎn)期貨業(yè)務(wù)專(zhuān)項(xiàng)合同
- 房屋定購(gòu)協(xié)議書(shū)8篇
- 中式面點(diǎn)師考試試卷及答案
- 論語(yǔ) 學(xué)而 教學(xué)課件
- 巡察流程培訓(xùn)課件
- 二手房基礎(chǔ)知識(shí)培訓(xùn)
- DB42T 1923-2022 城鎮(zhèn)瀝青路面冷補(bǔ)瀝青混合料施工技術(shù)規(guī)程
- 【中考真題】2025年北京市中考數(shù)學(xué)真題(含解析)
- 中國(guó)高尿酸血癥與痛風(fēng)診療指南(2024年)
- 浙江省臺(tái)州市2024-2025學(xué)年高一下學(xué)期6月期末英語(yǔ)試題
- 光伏發(fā)電項(xiàng)目施工方案(安裝)光伏施工方案
- 行為安全觀察與溝通
評(píng)論
0/150
提交評(píng)論