CMake教程之構建Qt平台

2021-10-07 01:22:10 字數 1957 閱讀 5450

關於qt環境下的專案,這裡也使用了cmake進行構建,這樣可以減少對工程檔案的依賴,同時可以做到跨平台的使用。

目前使用的平台是:cmake3.16.4 + vs2015。

國際慣例,直接上工程目錄結構:

根目錄:

source目錄:、

同樣的我們看一下根目錄的寫法:

cmake_minimum_required(version 3.5.1)

project(

"eqt"

)message(status "$"

)#設定對c++11的支援

set(cmake_cxx_flags "$ -std=c++11"

)# 設定第三方標頭檔案

set(include_third $/source/thirdlibs/include/)

include_directories(system $

)# 設定第三方庫路徑

set(lib_boost $/source/thirdlibs/libs/widows/boost)

set(lib_opencv $/source/thirdlibs/libs/widows/opencv)

set(lib_tbb $/source/thirdlibs/libs/widows/tbb)

link_directories($$

$)# 配置qt

set(cmake_include_current_dir on)

# 開啟全域性moc,目標關聯的.h,.cpp

set(cmake_automoc on)

# 開啟全域性uic,目標關聯的.ui

set(cmake_autouic on)

# 開啟全域性rcc,用於編譯資源檔案

set(cmake_autorcc on)

# 查詢qt庫檔案

find_package( qt5 required

components widgets core gui qml

)include_directories($$

$ qt5::qml

)add_definitions($)

add_subdirectory(

"source"

)

目前沒有做平台化區分,當前的cmakelists.txt中未對linux平台進行配置。後續在平台移植下會進行補充和修改。

source下的僅僅是對當前目錄檔案的包含,所以不做過多說明。目前widget中是對qt專案的運用,所以直接看widget下的cmakelists.txt:

)#設定標頭檔案搜尋目錄

include_directories(

$/source/widget

)

cmake構建qt工程

如何選擇?using cmake to build qt projects 一文中說 儘管如此,如果簡單qt的工程都不知道怎麼用 cmake 構建,複雜的工程,就更不知道如何使用 cmake 了。還是從簡單的學起吧 include include qdebug int main int argc,c...

用CMake 構建Qt 專案

譯 用cmake構建qt專案 qtsdk中已經包含了qmake用於處理跨平台的編譯問題。然而,還存在其它編譯工具,比如autotools,scons和cmake.這些工具滿足不同的需求,比如外部依賴。當kde專案從使用qt3公升級到使用qt4時,整個專案將構建工具從autotools轉而使用cmak...

用CMake 構建Qt 專案

在本文中我們將只關注cmake本身,並且指出如何將它與qt結合起來。首先,我們看乙個簡單但典型的基於cmake的專案。從下面的列表可以看出,這個工程包括一些源 及文字檔案。ls cmakelists.txt hellowindow.cpp hellowindow.h main.cpp 最基本的,cm...