1. 程式人生 > >Cmake中的find_package功能

Cmake中的find_package功能

find_package其實在windows下扮演的角色並不是很重要。在Unix下就非常重要了,find_package可以根據cmake內建的.cmake的指令碼去找相應的庫的模組,當然,內建了很多庫的模組變數,呼叫了find_package之後,會有相應的變數“生成”有效。

比如呼叫了find_package(Qt5Widgets),find_package(Qt4 COMPONENTS QTCORE QTGUI QTOPENGL QTSVG)返回之後

就會有變數Qt5Widgets_FOUND,Qt5Widgets_INCLUDE_DIRS相應的變數生效。

然後就可以在CMakeLists.txt裡面使用上述的變量了。類似如下:

1 INCLUDE_DIRECTORIES(${QT_INCLUDES})
2 INCLUDE_DIRECTORIES(${Qt5Widgets_INCLUDE_DIRS})
3 INCLUDE_DIRECTORIES(${Qt5Svg_INCLUDE_DIRS})
4 INCLUDE_DIRECTORIES(${Qt5OpenGL_INCLUDE_DIRS})
5 INCLUDE_DIRECTORIES(${Qt5Concurrent_INCLUDE_DIRS})
1 if(Qt5Widgets_FOUND)
2 
3 
4 message(STATUS ${Qt5Widgets_INCLUDE_DIRS})
5 #qt5 6 else() 7 find_package(Qt4 REQUIRED) #qt4 8 include(${QT_USE_FILE}) 9 endif()

references:

http://qt-project.org/doc/qt-5/cmake-manual.html

http://blog.csdn.net/bowater/article/details/2477227

http://www.kdab.com/using-cmake-with-qt-5/

相關推薦

Cmakefind_package功能

find_package其實在windows下扮演的角色並不是很重要。在Unix下就非常重要了,find_package可以根據cmake內建的.cmake的指令碼去找相應的庫的模組,當然,內建了很多庫的模組變數,呼叫了find_package之後,會有相應的變數“生成”有效。 比如呼叫了find_pa

cmake使用ccache

g++ c++ compiler make compile cmake set 代碼 使用 對於C代碼:SET(CMAKE_C_COMPILER "ccache")SET(CMAKE_C_COMPILER_ARG1 "gcc")對於C++代碼:SET(CMAKE_

SQL Server 實現類似C# PadLeft功能

left ret cnblogs alt div use sql eat pan 1 USE [Test] 2 GO 3 SET ANSI_NULLS ON 4 GO 5 SET QUOTED_IDENTIFIER ON 6 GO 7 --@column 表

cmake設置ELF文件加載動態庫的位置

table main post 位置 nbsp 可執行 可執行文件 nim .so 1. 三個文件 1. world.c #include<stdio.h> void world(void) { printf("world.\n"); }

回歸測試只有功能測試用例-Bug總結系列筆記

需求 特性 size 質量 mil 設計 陷阱 mar 定義 一、定義:測試人員只執行了變更引起的相關功能的回歸測試 二、發生時間段Always 三、陷阱表現1.只測試了系統或軟件功能2.回歸測試未包含系統質量測試3.未對架構、設計和實現約束的回歸測試 四、負面後果1.無

Oracle12c RAC功能增強新特性之ASM&amp;Grid

網格 配置方法 改變 節點配置 root ext crc RM IT 1. 自動存儲管理(ASM)方面的增強 1.1. Flex ASM 在典型的網格架構安裝中,每個節點有自己的ASM實例運行並扮演該節點上數據庫的存儲容器的角色,對這種安裝配置,存在單點失敗的

虛擬幣交易系統開發,探究虛擬幣交易平臺源碼功能和技術特色

虛擬幣交易系統 虛擬幣交易平臺開發 虛擬幣交易平臺源碼 過去的一周,對於“幣圈”的朋友來說,好消息是比特幣價格的上漲回溫。同時,多國的央行陸續推出了數字貨幣,讓我們對數字貨幣的未來有了更多地期待。如果要進行虛擬幣交易系統開發,應重點關註虛擬幣交易平臺源碼。虛擬幣交易平臺源碼是搭建虛擬幣交易系統的基

re模塊常用功能函數

sed pen call 理解 err erl cal 序列 port re模塊中常用功能函數 正則表達式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配。 Python 自1.5版本起增加了re 模塊,它提供 Perl 風格的正則表達式模式。

想讓港揚盛的變頻電源濾波功能使用更久的方法

為什麽 .com ffffff 現實 water 故障 輸出 良好的 必須 什麽是變頻電源?交流變頻電源技術在工業發達國已得到廣泛應用,其原理是將市電中的交流電經過AC→DC→AC變換, 輸出為純凈的正弦波,輸出頻率和電壓 一定範圍內可調。 為什麽中港揚盛的變頻電源會被如此

idea 部分按鈕功能

1. reimport 重新匯入依賴; 2. version control :可切換同一個專案不同地址下的程式碼(切換路徑[directory設定]); 3. modules 每一個有pom檔案的專案都會產生一個modules; 4. artfacts: 和部署專案時有關的;artifact是一個專案

Sublime Text 3新增在瀏覽器開啟功能

Sublime Text 3 編寫的 HTML 檔案如何在瀏覽器中開啟?可以在 HTML 檔案中右鍵點選 Open in Browser 選項,這種方式經常出現網頁打不開的情況。例如路徑不允許出現中文;莫名其妙開啟 Firefox 瀏覽器等。這裡介紹使用 View

041 Spring Boot排除功能的處理

  這個問題,原本是沒有注意,主要是理解的不夠深刻。 1.先看我的配置檔案 1 package com.springBoot.ioc.config; 2 3 4 import com.springBoot.ioc.controller.StudentController; 5 impo

CMake的字串及檔案操作

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

用React的自定義元件模擬實現Vue-routertag功能

  我們在使用react-router-dom時,跳轉連結的<List>會轉換成<a>標籤。由於<a>標籤會破壞我們的佈局,所以今天我用React中的自定義元件實現一個類似Vue中路由跳轉中tag的功能,保留我們本來的標籤。   本篇文章涉及到的知識點包括:高階元件wit

13.ideadebug功能詳解

左鍵雙擊加斷點,選擇debug執行 如下:這是idea裡的debug的一個強大之處,直接給你把物件資訊顯示在後面了,   然後關於幾個鍵的分析 alt+F10:展示執行斷點,游標會移到斷點那一行首  F6:跳到下一行  F5:進入程式碼裡面

OpenGL功能與OSG對應功能

OpenGL中的功能與OSG對應功能 (摘) 將OpenGL中的功能與OSG對應功能進行列舉:   OpenGL function OpenSceneGraph implementation glClear(

CMakefind_package

首先強烈推薦對CMake不熟的同學先看這本書《Cmake實踐》。 CMake說起來是個好東西,可是真正用的時候並不那麼容易,很容易出現各種各樣的錯誤。這不,最近就被find_package這個命令折騰得死去活來。只好花了一天半時間,看上面那本書,再查資料,總算解決了昨天遇到的問題。

Android工程師開發iOS之與Android對應功能的控制元件

iOS中和安卓控制元件應用還是差不的,從控制元件的命名上我們就能看出來,下面來介紹一下吧: ios中UILabel 對應Android 中TextView ios中UIImage對應Android 中ImageView 圖片控制元件 ios中UIButton對應An

cmake使用wxWidgets

在deepin下安裝wxWidgets sudo apt install libwxgtk3.0-dev 在cmake中使用wxWidgets find_package(wxWidgets REQUIRED) set(TARGET WoeUSB) file(GLOB SRC

HelloWorld CMake CMake構建靜態庫與動態庫及其使用

繼續完善Hello World,建立它的共享庫, 包括靜態庫和動態庫。   本節的任務: 1,建立一個靜態庫和動態庫,提供HelloFunc函式供其他程式程式設計使用,HelloFunc 向終端輸出Hello World字串。 2,安裝標頭檔案與