reintegrate find package

This commit is contained in:
Vogel, Rick 2023-12-21 14:12:38 +01:00 committed by uwerat
parent b850c18557
commit 32eed71c21
4 changed files with 87 additions and 16 deletions

View File

@ -431,22 +431,22 @@ jobs:
killall iotdashboard
killall Xvfb
#- name: Configure ( CMake Integration Test )
# shell: bash
# run: |
# mkdir qskinny_build_test
# cmake \
# -S qskinny_source/examples/iotdashboard_smoketest \
# -B qskinny_build_test \
# -G "${{ matrix.config.generators }}" \
# -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} \
# -DCMAKE_PREFIX_PATH:PATH="${{ matrix.config.cmake.qtprefixpath }}" \
# -D${{ matrix.config.cmake.qtdirkey }}:PATH="${{ matrix.config.cmake.qtdirvalue }}" \
# -DQSkinny_DIR:PATH=$GITHUB_WORKSPACE/qskinny_install/lib/cmake/QSkinny
#
#- name: Build ( CMake Integration Test )
# shell: bash
# run: cmake --build qskinny_build_test --config ${{ matrix.config.build_type }}
- name: Configure ( CMake Integration Test )
shell: bash
run: |
mkdir qskinny_build_test
cmake \
-S qskinny_source/examples/iotdashboard_smoketest \
-B qskinny_build_test \
-G "${{ matrix.config.generators }}" \
-DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} \
-DCMAKE_PREFIX_PATH:PATH="${{ matrix.config.cmake.qtprefixpath }}" \
-D${{ matrix.config.cmake.qtdirkey }}:PATH="${{ matrix.config.cmake.qtdirvalue }}" \
-DQSkinny_DIR:PATH=$GITHUB_WORKSPACE/qskinny_install/lib/cmake/QSkinny
- name: Build ( CMake Integration Test )
shell: bash
run: cmake --build qskinny_build_test --config ${{ matrix.config.build_type }}
# - name: Pack
# shell: bash

View File

@ -118,3 +118,48 @@ endif()
if(BUILD_PLAYGROUND)
add_subdirectory(playground)
endif()
# packaging
set(PACKAGE_NAME ${PROJECT_NAME})
set(PACKAGE_VERSION ${CMAKE_PROJECT_VERSION})
set(PACKAGE_NAMESPACE Qsk)
set(PACKAGE_LOCATION lib/cmake/${PROJECT_NAME})
install(TARGETS qskinny EXPORT ${PACKAGE_NAME}Targets
LIBRARY DESTINATION ${QSK_INSTALL_LIBS}
ARCHIVE DESTINATION ${QSK_INSTALL_LIBS}
RUNTIME DESTINATION ${QSK_INSTALL_LIBS}
INCLUDES DESTINATION ${QSK_INSTALL_HEADERS}
PUBLIC_HEADER DESTINATION ${QSK_INSTALL_HEADERS})
include(CMakePackageConfigHelpers)
write_basic_package_version_file(
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}/${PACKAGE_NAME}ConfigVersion.cmake
VERSION ${PACKAGE_VERSION}
COMPATIBILITY AnyNewerVersion)
export(EXPORT ${PACKAGE_NAME}Targets
FILE ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}/${PACKAGE_NAME}Targets.cmake
NAMESPACE ${PACKAGE_NAMESPACE}::)
configure_file(cmake/${PACKAGE_NAME}Config.cmake
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}/${PACKAGE_NAME}Config.cmake
COPYONLY)
install(EXPORT ${PACKAGE_NAME}Targets
FILE
${PACKAGE_NAME}Targets.cmake
NAMESPACE
${PACKAGE_NAMESPACE}::
DESTINATION
${PACKAGE_LOCATION})
install(
FILES
cmake/${PACKAGE_NAME}Config.cmake
cmake/QskTools.cmake
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}/${PACKAGE_NAME}ConfigVersion.cmake
DESTINATION
${PACKAGE_LOCATION}
COMPONENT
Devel)

View File

@ -0,0 +1,2 @@
include("${CMAKE_CURRENT_LIST_DIR}/QSkinnyTargets.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/QskTools.cmake")

View File

@ -0,0 +1,24 @@
cmake_minimum_required(VERSION 3.18)
project(iotdashboard_smoketest)
find_package(QSkinny REQUIRED)
find_package(Qt6 COMPONENTS Core QUIET)
if (NOT Qt6_FOUND)
find_package(Qt5 5.15 REQUIRED COMPONENTS Core Gui OpenGL Quick Svg Widgets)
find_package(Qt5 5.15 OPTIONAL_COMPONENTS QuickWidgets WebEngine WebEngineCore)
message(WARNING "using QSkinny's 'qt_add_executable()'")
function(qt_add_executable)
add_executable(${ARGV})
endfunction(qt_add_executable)
message(WARNING "using QSkinny's 'qt_add_library()'")
function(qt_add_library)
add_library(${ARGV})
endfunction(qt_add_library)
else()
find_package(Qt6 REQUIRED COMPONENTS Core Gui OpenGL Quick QuickWidgets Svg Widgets)
find_package(Qt6 OPTIONAL_COMPONENTS QuickWidgets WebEngineCore WebEngineQuick)
endif()
add_subdirectory(../iotdashboard ${CMAKE_CURRENT_BINARY_DIR}/../iotdashboard)