reintegrate find package
This commit is contained in:
parent
b850c18557
commit
32eed71c21
32
.github/workflows/cmake.yml
vendored
32
.github/workflows/cmake.yml
vendored
@ -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
|
||||
|
@ -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)
|
2
cmake/QSkinnyConfig.cmake
Normal file
2
cmake/QSkinnyConfig.cmake
Normal file
@ -0,0 +1,2 @@
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/QSkinnyTargets.cmake")
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/QskTools.cmake")
|
24
examples/iotdashboard_smoketest/CMakeLists.txt
Normal file
24
examples/iotdashboard_smoketest/CMakeLists.txt
Normal 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)
|
Loading…
x
Reference in New Issue
Block a user