1 Star 0 Fork 0

冲锋的羊驼 / ZTestLib

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

CMake 第三方库编写指南一

本项目作为第三方库,供其他项目进行源码集成、编译。此项目比较简单,如果需要在项目内调用其他库(库链式调用),请参考《CMake 第三方库编写指南二》

[TOC]

项目文件预览

ZTestLib

CMakeLists.txt

ZTestLib.h

ZTestLib.cpp

ZTestLib_global.h

项目需加入项

使用CMakeLists.txt模板,在最后面加入target_include_directories描述(指定.h所在目录)即可

cmake_minimum_required(VERSION 3.14)

project(ZTestLib LANGUAGES CXX)

# Qt 自动生成的依赖项
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

# 使用C++17
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# Qt 自动生成的依赖项
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)

# 搜索当前目录下的此类型后缀文件
file(GLOB SourceFiles "*.h" "*.cpp")
# SHARED表示编译动态库,STATIC是静态库
add_library(${PROJECT_NAME} SHARED
        # 项目集成搜索到的文件
        ${SourceFiles}
        )

# 项目链接库
target_link_libraries(${PROJECT_NAME} PRIVATE
        Qt${QT_VERSION_MAJOR}::Widgets
        )

# 用于ZTestLib_global.h文件中
target_compile_definitions(${PROJECT_NAME} PRIVATE ZTESTLIB_LIBRARY)

# 指定.h所在目录,暴露给其他程序
target_include_directories(${PROJECT_NAME} PUBLIC
        $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
        $<INSTALL_INTERFACE:include>  # <prefix>/include
        )

空文件

简介

最简单的CMake库,用来作为第三方库进行验证cpm(FetchContent)的运作方式 展开 收起
C++ 等 3 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C++
1
https://gitee.com/Coder_Zr/ZTestLib.git
git@gitee.com:Coder_Zr/ZTestLib.git
Coder_Zr
ZTestLib
ZTestLib
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891