Merge branch 'feature/cmake-install-paths' of https://github.com/lgtmak/qskinny into cmake
This commit is contained in:
commit
9c6686e1db
|
@ -1,6 +1,7 @@
|
||||||
Makefile
|
Makefile
|
||||||
.qmake.stash
|
.qmake.stash
|
||||||
.uuid
|
.uuid
|
||||||
|
build
|
||||||
obj
|
obj
|
||||||
moc
|
moc
|
||||||
rcc
|
rcc
|
||||||
|
|
|
@ -62,8 +62,18 @@ macro(qsk_setup_build)
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
macro(qsk_setup_install)
|
macro(qsk_setup_install)
|
||||||
set(QSK_INSTALL_HEADERS include)
|
|
||||||
set(QSK_INSTALL_LIBS lib)
|
# package vars
|
||||||
|
set(PACKAGE_NAME ${PROJECT_NAME})
|
||||||
|
set(PACKAGE_VERSION ${CMAKE_PROJECT_VERSION})
|
||||||
|
set(PACKAGE_NAMESPACE ${PROJECT_NAME}::)
|
||||||
|
set(PACKAGE_LOCATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
|
||||||
|
|
||||||
|
# install paths for headers and libraries
|
||||||
|
string(TOLOWER "${PROJECT_NAME}" PACKAGE_DIR)
|
||||||
|
set(QSK_INSTALL_HEADERS ${CMAKE_INSTALL_INCLUDEDIR}/${PACKAGE_DIR})
|
||||||
|
set(QSK_INSTALL_LIBS ${CMAKE_INSTALL_LIBDIR}/${PACKAGE_DIR})
|
||||||
|
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
|
@ -76,6 +86,7 @@ project(QSkinny
|
||||||
VERSION 0.8.0)
|
VERSION 0.8.0)
|
||||||
|
|
||||||
set(QSK_SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR})
|
set(QSK_SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR})
|
||||||
|
set(QSK_CMAKE_DIR ${QSK_SOURCE_DIR}/cmake)
|
||||||
|
|
||||||
qsk_setup_options()
|
qsk_setup_options()
|
||||||
|
|
||||||
|
@ -95,6 +106,32 @@ qsk_setup_install()
|
||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
add_subdirectory(skins)
|
add_subdirectory(skins)
|
||||||
|
|
||||||
|
include(CMakePackageConfigHelpers)
|
||||||
|
|
||||||
|
# write QSkinnyConfigVersion.cmake file for cmake import
|
||||||
|
write_basic_package_version_file(
|
||||||
|
${CMAKE_BINARY_DIR}/_QSkinny/${PACKAGE_NAME}ConfigVersion.cmake
|
||||||
|
VERSION ${PACKAGE_VERSION}
|
||||||
|
COMPATIBILITY AnyNewerVersion)
|
||||||
|
|
||||||
|
# Copy QSkinnyConfig.cmake to build dir
|
||||||
|
configure_file(${QSK_CMAKE_DIR}/${PACKAGE_NAME}Config.cmake
|
||||||
|
${CMAKE_BINARY_DIR}/_QSkinny/${PACKAGE_NAME}Config.cmake
|
||||||
|
COPYONLY)
|
||||||
|
|
||||||
|
# install QSkinnyConfig.cmake and QSkinnyConfigVersion.cmake
|
||||||
|
# and QskTools.cmake file to lib/cmake/QSkinny directory
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
${CMAKE_BINARY_DIR}/_QSkinny/${PACKAGE_NAME}Config.cmake
|
||||||
|
${CMAKE_BINARY_DIR}/_QSkinny/${PACKAGE_NAME}ConfigVersion.cmake
|
||||||
|
${QSK_CMAKE_DIR}/QskTools.cmake
|
||||||
|
DESTINATION
|
||||||
|
${PACKAGE_LOCATION}
|
||||||
|
COMPONENT
|
||||||
|
Devel)
|
||||||
|
|
||||||
|
# Build other libraries
|
||||||
if(BUILD_QML_EXPORT)
|
if(BUILD_QML_EXPORT)
|
||||||
add_subdirectory(qmlexport)
|
add_subdirectory(qmlexport)
|
||||||
endif()
|
endif()
|
||||||
|
@ -118,48 +155,3 @@ endif()
|
||||||
if(BUILD_PLAYGROUND)
|
if(BUILD_PLAYGROUND)
|
||||||
add_subdirectory(playground)
|
add_subdirectory(playground)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# packaging
|
|
||||||
set(PACKAGE_NAME ${PROJECT_NAME})
|
|
||||||
set(PACKAGE_VERSION ${CMAKE_PROJECT_VERSION})
|
|
||||||
set(PACKAGE_NAMESPACE Qsk)
|
|
||||||
set(PACKAGE_LOCATION ${QSK_INSTALL_LIBS}/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)
|
|
|
@ -35,9 +35,9 @@ It might support all versions Qt >= 5.15, but you can rely on:
|
||||||
- current long term supported ( LTS ) version of Qt ( at the moment Qt 6.5.x )
|
- current long term supported ( LTS ) version of Qt ( at the moment Qt 6.5.x )
|
||||||
- current version of Qt
|
- current version of Qt
|
||||||
|
|
||||||
On debian bullseye these packages need to be installed for Qt5: `build-essential
|
On debian bullseye these packages need to be installed for Qt5: `build-essential cmake
|
||||||
qtbase5-dev qtbase5-private-dev qtdeclarative5-dev qtdeclarative5-private-dev libqt5svg5-dev`.
|
qtbase5-dev qtbase5-private-dev qtdeclarative5-dev qtdeclarative5-private-dev libqt5svg5-dev`.
|
||||||
For Qt6 you need the corresponding ones.
|
For Qt6 you need the corresponding packages.
|
||||||
|
|
||||||
> Optional: When enabling the `hunspell` feature the following package needs to be installed: `libhunspell-dev`
|
> Optional: When enabling the `hunspell` feature the following package needs to be installed: `libhunspell-dev`
|
||||||
|
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
include("${CMAKE_CURRENT_LIST_DIR}/QSkinnyTargets.cmake")
|
include("${CMAKE_CURRENT_LIST_DIR}/QSkinnyTargets.cmake")
|
||||||
include("${CMAKE_CURRENT_LIST_DIR}/QskTools.cmake")
|
|
|
@ -65,7 +65,7 @@ function(qsk_add_plugin target TYPE CLASS_NAME)
|
||||||
set_target_properties( ${target} PROPERTIES
|
set_target_properties( ${target} PROPERTIES
|
||||||
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/plugins/${TYPE})
|
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/plugins/${TYPE})
|
||||||
|
|
||||||
install(TARGETS ${target} DESTINATION "plugins/${TYPE}" )
|
install(TARGETS ${target} DESTINATION "${QSK_INSTALL_LIBS}/plugins/${TYPE}" )
|
||||||
set_target_properties(${target} PROPERTIES
|
set_target_properties(${target} PROPERTIES
|
||||||
INSTALL_RPATH "\${ORIGIN}/../../lib" )
|
INSTALL_RPATH "\${ORIGIN}/../../lib" )
|
||||||
|
|
||||||
|
@ -99,3 +99,11 @@ function(qsk_add_example target)
|
||||||
target_include_directories(${target} PRIVATE ${CMAKE_CURRENT_LIST_DIR})
|
target_include_directories(${target} PRIVATE ${CMAKE_CURRENT_LIST_DIR})
|
||||||
|
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
function(qsk_update_package_config_file target)
|
||||||
|
|
||||||
|
file(APPEND
|
||||||
|
${CMAKE_BINARY_DIR}/_QSkinny/QSkinnyConfig.cmake
|
||||||
|
"include(\"\${CMAKE_CURRENT_LIST_DIR}/${target}.cmake\")\n")
|
||||||
|
|
||||||
|
endfunction()
|
||||||
|
|
|
@ -11,21 +11,26 @@ layout: docs
|
||||||
=== Building the QSkinny repository
|
=== Building the QSkinny repository
|
||||||
|
|
||||||
In this chapter we will write a simple QSkinny application on Linux from scratch.
|
In this chapter we will write a simple QSkinny application on Linux from scratch.
|
||||||
As a prerequisite, a recent Qt version (>= 5.6) should be available and the directory of
|
As a prerequisite, a recent Qt version (>= 5.15) should be available. On debian bullseye we need to install
|
||||||
its `qmake` binary in the current `$PATH`. On debian bullseye we need to install
|
these packages `build-essential cmake qtbase5-dev qtbase5-private-dev qtdeclarative5-dev qtdeclarative5-private-dev libqt5svg5-dev`.
|
||||||
these packages `build-essential qt-qmake qtbase5-dev qtbase5-private-dev
|
For Qt6 you need the corresponding packages.
|
||||||
qtdeclarative5-dev qtdeclarative5-private-dev libqt5svg5-dev`.
|
|
||||||
|
|
||||||
Then we can build and install QSkinny to `/opt/qskinny` with the following commands:
|
Then we can build and install QSkinny to `/opt/qskinny` with the following commands:
|
||||||
|
|
||||||
[source,xml]
|
[source,shell]
|
||||||
....
|
....
|
||||||
cd /home/user/dev/
|
$ git clone https://github.com/uwerat/qskinny.git # clone
|
||||||
git clone https://github.com/uwerat/qskinny.git
|
$ cd qskinny
|
||||||
cd qskinny
|
$ mkdir build && cd build
|
||||||
PREFIX=/opt/qskinny qmake -r
|
$ cmake ../ && make # build
|
||||||
make
|
$ sudo make install # install
|
||||||
sudo make install
|
....
|
||||||
|
|
||||||
|
To target a specific Qt version simply pass the cmake build variable `QSK_QT_VERSION` during the build step:
|
||||||
|
|
||||||
|
[source,shell]
|
||||||
|
....
|
||||||
|
$ cmake -DQSK_QT_VERSION=Qt5 ../ && make
|
||||||
....
|
....
|
||||||
|
|
||||||
=== Compiling our first app
|
=== Compiling our first app
|
||||||
|
@ -52,40 +57,49 @@ int main( int argc, char* argv[] )
|
||||||
For now this will just create an empty window (the `QskWindow`) without any controls.
|
For now this will just create an empty window (the `QskWindow`) without any controls.
|
||||||
Next, we need to create a `myapp.pro` file in our `myapp` directory.
|
Next, we need to create a `myapp.pro` file in our `myapp` directory.
|
||||||
|
|
||||||
.myapp.pro
|
.CMakeLists.txt
|
||||||
[source,xml]
|
[source,cmake]
|
||||||
....
|
....
|
||||||
TEMPLATE = app
|
cmake_minimum_required(VERSION 3.27)
|
||||||
TARGET = myapp
|
|
||||||
|
|
||||||
QT *= quick
|
project(myapp
|
||||||
|
VERSION 1.0.0
|
||||||
|
LANGUAGES CXX)
|
||||||
|
|
||||||
QSK_ROOT=/opt/qskinny
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
INCLUDEPATH += $${QSK_ROOT}/include
|
set(CMAKE_AUTOMOC ON)
|
||||||
LIBS += -L$${QSK_ROOT}/lib -lqskinny
|
set(CMAKE_AUTORCC ON)
|
||||||
|
set(CMAKE_AUTOUIC ON)
|
||||||
|
|
||||||
QMAKE_RPATHDIR *= $${QSK_ROOT}/lib
|
find_package(Qt5 REQUIRED COMPONENTS Widgets Quick)
|
||||||
|
find_package(QSkinny REQUIRED)
|
||||||
|
|
||||||
SOURCES += \
|
add_executable(myapp
|
||||||
main.cpp
|
src/main.cpp)
|
||||||
|
|
||||||
|
target_link_libraries(myapp PRIVATE
|
||||||
|
Qt5::Widgets
|
||||||
|
Qt5::Quick
|
||||||
|
QSkinny::QSkinny)
|
||||||
....
|
....
|
||||||
|
|
||||||
Now we can compile our app:
|
Now we can compile our app:
|
||||||
|
|
||||||
[source,xml]
|
[source,shell]
|
||||||
....
|
....
|
||||||
cd myapp
|
$ cd myapp
|
||||||
qmake
|
$ mkdir build && cd build
|
||||||
make
|
$ cmake ../ && make
|
||||||
....
|
....
|
||||||
|
|
||||||
When running myapp it needs to find the skin plugins. Setting QT_PLUGIN_PATH is one
|
When running myapp it needs to find the skin plugins. Setting QT_PLUGIN_PATH is one
|
||||||
option ( see https://doc.qt.io/qt-5/deployment-plugins.html ):
|
option ( see https://doc.qt.io/qt-5/deployment-plugins.html ):
|
||||||
|
|
||||||
[source,xml]
|
[source,shell]
|
||||||
....
|
....
|
||||||
QT_PLUGIN_PATH=/opt/qskinny/plugins ./myapp
|
$ QT_PLUGIN_PATH=/opt/qskinny/plugins ./myapp
|
||||||
....
|
....
|
||||||
|
|
||||||
This should show just an empty window.
|
This should show just an empty window.
|
||||||
|
@ -95,7 +109,7 @@ This should show just an empty window.
|
||||||
Now that we have our app running, we can add some UI controls to it by extending the `main.cpp` file we created earlier. We will add some additional include directives, and then create a horizontal layout containing two push buttons. The layout with the two buttons will be shown in the window. Below is the complete updated source file:
|
Now that we have our app running, we can add some UI controls to it by extending the `main.cpp` file we created earlier. We will add some additional include directives, and then create a horizontal layout containing two push buttons. The layout with the two buttons will be shown in the window. Below is the complete updated source file:
|
||||||
|
|
||||||
.main.cpp
|
.main.cpp
|
||||||
[source]
|
[source, cpp]
|
||||||
....
|
....
|
||||||
#include <QskWindow.h>
|
#include <QskWindow.h>
|
||||||
#include <QskLinearBox.h>
|
#include <QskLinearBox.h>
|
||||||
|
|
|
@ -18,7 +18,16 @@ When using a QSkinny control, all the methods exposed as either properties,
|
||||||
slots or invokables can be used in QML. For example, the QSkinny control
|
slots or invokables can be used in QML. For example, the QSkinny control
|
||||||
`QskLinearBox` defines the following properties:
|
`QskLinearBox` defines the following properties:
|
||||||
|
|
||||||
[source]
|
.CMakeLists.txt
|
||||||
|
[source,cmake]
|
||||||
|
....
|
||||||
|
target_link_libraries(myapp PRIVATE
|
||||||
|
...
|
||||||
|
QSkinny::QmlExport)
|
||||||
|
...
|
||||||
|
....
|
||||||
|
|
||||||
|
[source,cpp]
|
||||||
....
|
....
|
||||||
class QSK_EXPORT QskLinearBox : public QskIndexedLayoutBox
|
class QSK_EXPORT QskLinearBox : public QskIndexedLayoutBox
|
||||||
{
|
{
|
||||||
|
|
|
@ -22,7 +22,7 @@ endfunction()
|
||||||
function(qsk_add_example target)
|
function(qsk_add_example target)
|
||||||
cmake_parse_arguments(PARSE_ARGV 1 arg "MANUAL_FINALIZATION" "" "")
|
cmake_parse_arguments(PARSE_ARGV 1 arg "MANUAL_FINALIZATION" "" "")
|
||||||
add_executable(${target} WIN32 MACOSX_BUNDLE ${arg_UNPARSED_ARGUMENTS} )
|
add_executable(${target} WIN32 MACOSX_BUNDLE ${arg_UNPARSED_ARGUMENTS} )
|
||||||
target_link_libraries(${target} PRIVATE Qsk::qskinny )
|
target_link_libraries(${target} PRIVATE QSkinny::QSkinny )
|
||||||
target_include_directories(${target} PRIVATE ${CMAKE_CURRENT_LIST_DIR})
|
target_include_directories(${target} PRIVATE ${CMAKE_CURRENT_LIST_DIR})
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
@ -44,4 +44,4 @@ add_subdirectory(../iotdashboard ${CMAKE_CURRENT_BINARY_DIR}/../iotdashboard)
|
||||||
# TODO we don't delivery the support library
|
# TODO we don't delivery the support library
|
||||||
get_target_property(iotdashboard_COMPILE_DEFINITIONS iotdashboard COMPILE_DEFINITIONS)
|
get_target_property(iotdashboard_COMPILE_DEFINITIONS iotdashboard COMPILE_DEFINITIONS)
|
||||||
list(FILTER iotdashboard_COMPILE_DEFINITIONS EXCLUDE REGEX [[^USE_SHORTCUTS=1$]])
|
list(FILTER iotdashboard_COMPILE_DEFINITIONS EXCLUDE REGEX [[^USE_SHORTCUTS=1$]])
|
||||||
set_property(TARGET iotdashboard PROPERTY COMPILE_DEFINITIONS ${iotdashboard_COMPILE_DEFINITIONS})
|
set_property(TARGET iotdashboard PROPERTY COMPILE_DEFINITIONS ${iotdashboard_COMPILE_DEFINITIONS})
|
||||||
|
|
|
@ -10,7 +10,8 @@ set(target qskqmlexport)
|
||||||
qsk_add_library(${target} SHARED ${SOURCES} ${HEADERS})
|
qsk_add_library(${target} SHARED ${SOURCES} ${HEADERS})
|
||||||
|
|
||||||
target_link_libraries(${target} PRIVATE qskinny)
|
target_link_libraries(${target} PRIVATE qskinny)
|
||||||
target_include_directories(${target} PUBLIC ${CMAKE_CURRENT_LIST_DIR})
|
target_include_directories(${target} PUBLIC
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>)
|
||||||
set_target_properties(${target} PROPERTIES PUBLIC_HEADER QskQml.h)
|
set_target_properties(${target} PROPERTIES PUBLIC_HEADER QskQml.h)
|
||||||
|
|
||||||
if(BUILD_QSKDLL)
|
if(BUILD_QSKDLL)
|
||||||
|
@ -20,6 +21,26 @@ if(BUILD_QSKDLL)
|
||||||
VERSION ${CMAKE_PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} )
|
VERSION ${CMAKE_PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} )
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set_target_properties(${target} PROPERTIES FOLDER libs)
|
# packaging
|
||||||
|
set(PACKAGE_NAME QmlExport)
|
||||||
|
set(QSKQE_INSTALL_HEADERS "${CMAKE_INSTALL_INCLUDEDIR}/${target}")
|
||||||
|
|
||||||
install(TARGETS ${target} )
|
set_target_properties(${target} PROPERTIES FOLDER libs)
|
||||||
|
set_target_properties(${target} PROPERTIES EXPORT_NAME ${PACKAGE_NAME})
|
||||||
|
|
||||||
|
install(TARGETS ${target} EXPORT ${PACKAGE_NAME}Targets
|
||||||
|
INCLUDES DESTINATION ${QSKQE_INSTALL_HEADERS}
|
||||||
|
PUBLIC_HEADER DESTINATION ${QSKQE_INSTALL_HEADERS})
|
||||||
|
|
||||||
|
export(EXPORT ${PACKAGE_NAME}Targets
|
||||||
|
NAMESPACE ${PACKAGE_NAMESPACE})
|
||||||
|
|
||||||
|
install(EXPORT ${PACKAGE_NAME}Targets
|
||||||
|
FILE
|
||||||
|
${PACKAGE_NAME}Targets.cmake
|
||||||
|
NAMESPACE
|
||||||
|
${PACKAGE_NAMESPACE}
|
||||||
|
DESTINATION
|
||||||
|
${PACKAGE_LOCATION})
|
||||||
|
|
||||||
|
qsk_update_package_config_file(${PACKAGE_NAME}Targets)
|
||||||
|
|
|
@ -513,7 +513,30 @@ set_target_properties(${target}
|
||||||
|
|
||||||
list(TRANSFORM HEADERS PREPEND "${CMAKE_CURRENT_LIST_DIR}/")
|
list(TRANSFORM HEADERS PREPEND "${CMAKE_CURRENT_LIST_DIR}/")
|
||||||
set_target_properties(${target} PROPERTIES PUBLIC_HEADER "${HEADERS}")
|
set_target_properties(${target} PROPERTIES PUBLIC_HEADER "${HEADERS}")
|
||||||
|
set_target_properties(${target} PROPERTIES EXPORT_NAME ${PROJECT_NAME})
|
||||||
set_target_properties(${target} PROPERTIES
|
set_target_properties(${target} PROPERTIES
|
||||||
VERSION ${CMAKE_PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} )
|
VERSION ${CMAKE_PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} )
|
||||||
|
|
||||||
install(TARGETS ${target} )
|
# packaging
|
||||||
|
set(PACKAGE_NAME ${PROJECT_NAME})
|
||||||
|
|
||||||
|
# setup destination file paths for qskinny target
|
||||||
|
install(TARGETS ${target} 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})
|
||||||
|
|
||||||
|
# export QSkinnyTargets namespace
|
||||||
|
export(EXPORT ${PACKAGE_NAME}Targets
|
||||||
|
NAMESPACE ${PACKAGE_NAMESPACE})
|
||||||
|
|
||||||
|
# install QSkinnyTargets under QSkinny namespace
|
||||||
|
install(EXPORT ${PACKAGE_NAME}Targets
|
||||||
|
FILE
|
||||||
|
${PACKAGE_NAME}Targets.cmake
|
||||||
|
NAMESPACE
|
||||||
|
${PACKAGE_NAMESPACE}
|
||||||
|
DESTINATION
|
||||||
|
${PACKAGE_LOCATION})
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
if(TARGET Qt::Svg)
|
if(TARGET Qt::Svg)
|
||||||
add_subdirectory(svg2qvg)
|
add_subdirectory(svg2qvg)
|
||||||
endif()
|
qsk_update_package_config_file(QskTools)
|
||||||
|
endif()
|
||||||
|
|
Loading…
Reference in New Issue