77 lines
2.3 KiB
CMake
77 lines
2.3 KiB
CMake
############################################################################
|
|
# QSkinny - Copyright (C) The authors
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
############################################################################
|
|
|
|
list(APPEND HEADERS
|
|
QskQmlGlobal.h
|
|
QskShortcutQml.h
|
|
QskLayoutQml.h
|
|
QskQmlModule.h
|
|
QskQmlRegister.h
|
|
QskQml.h
|
|
)
|
|
|
|
list(APPEND SOURCES
|
|
QskShortcutQml.cpp
|
|
QskLayoutQml.cpp
|
|
QskQml.cpp
|
|
)
|
|
|
|
if (QT_VERSION_MAJOR GREATER_EQUAL 6)
|
|
list(APPEND HEADERS QskQmlClassInfo.h)
|
|
list(APPEND SOURCES QskQmlClassInfo.cpp)
|
|
endif()
|
|
|
|
set(target qskqmlexport)
|
|
|
|
if(BUILD_QSKDLL)
|
|
qsk_add_library(${target} SHARED ${SOURCES} ${HEADERS})
|
|
else()
|
|
qsk_add_library(${target} STATIC ${SOURCES} ${HEADERS})
|
|
endif()
|
|
|
|
target_link_libraries(${target} PRIVATE qskinny)
|
|
target_include_directories(${target} PUBLIC
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>)
|
|
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()
|
|
|
|
# packaging
|
|
set(PACKAGE_NAME QmlExport)
|
|
set(PACKAGE_TARGET_FILENAME QSkinny${PACKAGE_NAME}Targets.cmake)
|
|
set(QSKQE_INSTALL_HEADERS "${CMAKE_INSTALL_INCLUDEDIR}/${target}")
|
|
|
|
set_target_properties(${target} PROPERTIES FOLDER libs)
|
|
set_target_properties(${target} PROPERTIES EXPORT_NAME QmlExport)
|
|
|
|
install(TARGETS ${target} EXPORT ${PACKAGE_TARGET_FILENAME}
|
|
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(EXPORT ${PACKAGE_TARGET_FILENAME}
|
|
NAMESPACE ${PACKAGE_NAMESPACE})
|
|
|
|
install(EXPORT ${PACKAGE_TARGET_FILENAME}
|
|
FILE
|
|
${PACKAGE_TARGET_FILENAME}
|
|
NAMESPACE
|
|
${PACKAGE_NAMESPACE}
|
|
DESTINATION
|
|
${PACKAGE_LOCATION})
|
|
|
|
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
|
install(FILES $<TARGET_PDB_FILE:${target}>
|
|
DESTINATION
|
|
${QSK_INSTALL_LIBS} OPTIONAL)
|
|
endif()
|