2023-04-05 17:47:15 +02:00
|
|
|
############################################################################
|
2024-01-17 14:31:45 +01:00
|
|
|
# QSkinny - Copyright (C) The authors
|
2023-04-06 09:23:37 +02:00
|
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
2023-04-05 17:47:15 +02:00
|
|
|
############################################################################
|
|
|
|
|
2024-02-29 13:31:26 +01:00
|
|
|
list(APPEND HEADERS
|
2024-01-10 00:33:35 +01:00
|
|
|
QskQmlGlobal.h
|
|
|
|
QskShortcutQml.h
|
|
|
|
QskLayoutQml.h
|
2024-02-29 13:31:26 +01:00
|
|
|
QskQmlModule.h
|
|
|
|
QskQmlRegister.h
|
|
|
|
QskQml.h
|
|
|
|
)
|
2024-01-10 00:33:35 +01:00
|
|
|
|
2024-02-29 13:31:26 +01:00
|
|
|
list(APPEND SOURCES
|
2024-01-10 00:33:35 +01:00
|
|
|
QskShortcutQml.cpp
|
|
|
|
QskLayoutQml.cpp
|
2024-02-29 13:31:26 +01:00
|
|
|
QskQml.cpp
|
|
|
|
)
|
|
|
|
|
|
|
|
if (QT_VERSION_MAJOR GREATER_EQUAL 6)
|
|
|
|
list(APPEND HEADERS QskQmlClassInfo.h)
|
|
|
|
list(APPEND SOURCES QskQmlClassInfo.cpp)
|
|
|
|
endif()
|
2023-04-05 17:47:15 +02:00
|
|
|
|
|
|
|
set(target qskqmlexport)
|
2024-01-19 09:05:43 +01:00
|
|
|
|
|
|
|
if(BUILD_QSKDLL)
|
|
|
|
qsk_add_library(${target} SHARED ${SOURCES} ${HEADERS})
|
|
|
|
else()
|
|
|
|
qsk_add_library(${target} STATIC ${SOURCES} ${HEADERS})
|
|
|
|
endif()
|
2023-04-05 17:47:15 +02:00
|
|
|
|
|
|
|
target_link_libraries(${target} PRIVATE qskinny)
|
2023-12-29 01:11:43 -05:00
|
|
|
target_include_directories(${target} PUBLIC
|
|
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>)
|
2023-04-05 17:47:15 +02:00
|
|
|
set_target_properties(${target} PROPERTIES PUBLIC_HEADER QskQml.h)
|
|
|
|
|
|
|
|
if(BUILD_QSKDLL)
|
|
|
|
set_target_properties(${target} PROPERTIES DEFINE_SYMBOL QSK_QML_MAKEDLL)
|
|
|
|
set_target_properties(${target} PROPERTIES INSTALL_RPATH "\${ORIGIN}" )
|
|
|
|
set_target_properties(${target} PROPERTIES
|
|
|
|
VERSION ${CMAKE_PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} )
|
|
|
|
endif()
|
|
|
|
|
2023-12-29 01:11:43 -05:00
|
|
|
# packaging
|
2024-01-11 17:46:28 +01:00
|
|
|
set(PACKAGE_NAME QmlExport)
|
2024-01-11 18:48:58 +01:00
|
|
|
set(PACKAGE_TARGET_FILENAME QSkinny${PACKAGE_NAME}Targets.cmake)
|
2024-01-10 00:33:35 +01:00
|
|
|
set(QSKQE_INSTALL_HEADERS "${CMAKE_INSTALL_INCLUDEDIR}/${target}")
|
2023-12-29 01:11:43 -05:00
|
|
|
|
2023-04-11 08:18:45 +02:00
|
|
|
set_target_properties(${target} PROPERTIES FOLDER libs)
|
2024-01-11 17:46:28 +01:00
|
|
|
set_target_properties(${target} PROPERTIES EXPORT_NAME QmlExport)
|
2023-12-29 01:11:43 -05:00
|
|
|
|
2024-01-11 18:48:58 +01:00
|
|
|
install(TARGETS ${target} EXPORT ${PACKAGE_TARGET_FILENAME}
|
2024-01-10 06:16:13 -05:00
|
|
|
LIBRARY DESTINATION ${QSK_INSTALL_LIBS}
|
2024-01-11 18:06:51 +01:00
|
|
|
ARCHIVE DESTINATION ${QSK_INSTALL_LIBS}
|
|
|
|
RUNTIME DESTINATION ${QSK_INSTALL_LIBS}
|
2024-01-10 06:16:13 -05:00
|
|
|
INCLUDES DESTINATION ${QSK_INSTALL_HEADERS}
|
|
|
|
PUBLIC_HEADER DESTINATION ${QSK_INSTALL_HEADERS})
|
2023-12-29 01:11:43 -05:00
|
|
|
|
2024-01-11 18:48:58 +01:00
|
|
|
export(EXPORT ${PACKAGE_TARGET_FILENAME}
|
2023-12-29 01:11:43 -05:00
|
|
|
NAMESPACE ${PACKAGE_NAMESPACE})
|
|
|
|
|
2024-01-11 18:48:58 +01:00
|
|
|
install(EXPORT ${PACKAGE_TARGET_FILENAME}
|
2023-12-29 01:11:43 -05:00
|
|
|
FILE
|
2024-01-11 18:48:58 +01:00
|
|
|
${PACKAGE_TARGET_FILENAME}
|
2023-12-29 01:11:43 -05:00
|
|
|
NAMESPACE
|
|
|
|
${PACKAGE_NAMESPACE}
|
|
|
|
DESTINATION
|
|
|
|
${PACKAGE_LOCATION})
|
2024-01-11 17:46:28 +01:00
|
|
|
|
2024-01-11 18:05:45 +01:00
|
|
|
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
|
|
|
install(FILES $<TARGET_PDB_FILE:${target}>
|
|
|
|
DESTINATION
|
|
|
|
${QSK_INSTALL_LIBS} OPTIONAL)
|
2024-01-17 14:31:45 +01:00
|
|
|
endif()
|