https://doc.qt.io/qt-5/cmake-get-started.html

For find_package to be successful, CMake must find the Qt installation in one of the following ways:

Set your CMAKE_PREFIX_PATH environment variable to the Qt 5 installation prefix. This is the recommended way.

Sample:

# cmake version
cmake_minimum_required(VERSION 3.1.0)

# project name
project(helloworld VERSION 1.0.0 LANGUAGES CXX)

# C++
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# set path for Find_***
set(CMAKE_MODULE_PATH "3rdParty")

# Qt auto on 
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)

if(CMAKE_VERSION VERSION_LESS "3.7.0")
    set(CMAKE_INCLUDE_CURRENT_DIR ON)
endif()

# Add sub folder
add_subdirectory(Math)

# Find Qt
find_package(Qt5 COMPONENTS Widgets REQUIRED)

# set path for Find_***
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/3rdParty)

# Find 3rdparty
find_package(Quazip)
find_package(MyZlib)

# Create executable
add_executable(helloworld
    QtCMake.cpp
    QtCMake.h
    main.cpp
    QtCMake.qrc
)

# link to Widgets
# link to MathLib
target_link_libraries(helloworld Qt5::Widgets)
# MathLib is defined in sub folder Math
target_link_libraries(helloworld MathLib)  

# include & link to Quazip
if (Quazip_FOUND)
    include_directories(${Quazip_INCLUDE_DIR})
    target_link_libraries(helloworld ${Quazip_LIBRARY})
endif(Quazip_FOUND)

# include & link to Zlib
if (MyZlib_FOUND)
    include_directories(${MyZlib_INCLUDE_DIR})
    target_link_libraries(helloworld ${MyZlib_LIBRARY})
endif(MyZlib_FOUND)

CMakeList.txt for Math folder: aux_source_directory(. DIR_MATHLIB_SRCS)

add_library (MathLib ${DIR_MATHLIB_SRCS})

FindMyZlib.cmake: # 辅助输出信息 message(“now using FindMyZlib.cmake find MyZlib lib”)

# 用 CMAKE_CURRENT_LIST_DIR 表示当前 Find****.cmake 文件所在的路径
set(MyZlib_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/include/")
message("./h dir ${MyZlib_INCLUDE_DIR}")

file(GLOB LIB_FILES "${CMAKE_CURRENT_LIST_DIR}/zlib-1.2.11/lib/x64/Release/*")
set (MyZlib_LIBRARY ${LIB_FILES})
message("lib dir: ${MyZlib_LIBRARY}")

if(MyZlib_INCLUDE_DIR AND MyZlib_LIBRARY)
    # 设置变量结果
    set(MyZlib_FOUND TRUE)
endif(MyZlib_INCLUDE_DIR AND MyZlib_LIBRARY)