Warning, /libraries/futuresql/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2022 Jonah BrĂ¼chert <jbb@kaidan.im>
0002 #
0003 # SPDX-License-Identifier: BSD-2-Clause
0004
0005 # Different target names for Qt5 and Qt6 builds
0006 set(FUTURESQL_TARGET futuresql${QT_MAJOR_VERSION})
0007 set(FUTURESQL_NAME FutureSQL${QT_MAJOR_VERSION})
0008
0009 add_library(${FUTURESQL_TARGET}
0010 threadeddatabase.cpp
0011 threadeddatabase.h
0012 threadeddatabase_p.h
0013 )
0014
0015 target_link_libraries(${FUTURESQL_TARGET} PUBLIC Qt::Core Qt::Sql)
0016
0017 add_library(FutureSQL${QT_MAJOR_VERSION}::FutureSQL ALIAS ${FUTURESQL_TARGET})
0018
0019 set(FUTURESQL_INSTALL_INCLUDEDIR "${KDE_INSTALL_INCLUDEDIR}/${FUTURESQL_NAME}")
0020
0021 target_include_directories(${FUTURESQL_TARGET}
0022 PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}
0023 INTERFACE "$<INSTALL_INTERFACE:${FUTURESQL_INSTALL_INCLUDEDIR}>"
0024 )
0025
0026 ecm_setup_version(
0027 PROJECT
0028 VARIABLE_PREFIX ${FUTURESQL_NAME}
0029 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/futuresql_version.h"
0030 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/${FUTURESQL_NAME}ConfigVersion.cmake"
0031 )
0032
0033 set_target_properties(${FUTURESQL_TARGET}
0034 PROPERTIES
0035 EXPORT_NAME FutureSQL
0036 SOVERSION 0
0037 )
0038
0039 ecm_generate_export_header(${FUTURESQL_TARGET}
0040 VERSION ${PROJECT_VERSION}
0041 BASE_NAME FutureSQL
0042 )
0043
0044 install(TARGETS ${FUTURESQL_TARGET}
0045 EXPORT FutureSQLTargets
0046 RUNTIME DESTINATION ${KDE_INSTALL_BINDIR}
0047 LIBRARY DESTINATION ${KDE_INSTALL_LIBDIR}
0048 ARCHIVE DESTINATION ${KDE_INSTALL_LIBDIR}
0049 COMPONENT Devel
0050 )
0051
0052 set(FutureSQL_HEADERS threadeddatabase.h)
0053
0054 ecm_generate_headers(FutureSQL_CAMEL_CASE_HEADERS
0055 HEADER_NAMES
0056 ThreadedDatabase
0057
0058 REQUIRED_HEADERS
0059 ${FutureSQL_HEADERS}
0060 )
0061
0062 set(FutureSQL_HEADERS ${FutureSQL_HEADERS} threadeddatabase_p.h ${CMAKE_CURRENT_BINARY_DIR}/futuresql_export.h)
0063
0064 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/${FUTURESQL_NAME}")
0065
0066 configure_package_config_file(
0067 "${CMAKE_CURRENT_SOURCE_DIR}/FutureSQLConfig.cmake.in"
0068 "${CMAKE_CURRENT_BINARY_DIR}/${FUTURESQL_NAME}Config.cmake"
0069 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
0070 PATH_VARS CMAKE_INSTALL_PREFIX
0071 )
0072
0073 install(FILES ${FutureSQL_HEADERS}
0074 DESTINATION ${FUTURESQL_INSTALL_INCLUDEDIR}
0075 COMPONENT Devel)
0076 install(FILES ${FutureSQL_CAMEL_CASE_HEADERS}
0077 DESTINATION ${FUTURESQL_INSTALL_INCLUDEDIR}
0078 COMPONENT Devel)
0079
0080 install(FILES
0081 "${CMAKE_CURRENT_BINARY_DIR}/${FUTURESQL_NAME}Config.cmake"
0082 "${CMAKE_CURRENT_BINARY_DIR}/${FUTURESQL_NAME}ConfigVersion.cmake"
0083 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0084 COMPONENT Devel
0085 )
0086
0087 install(EXPORT FutureSQLTargets
0088 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0089 FILE FutureSQLTargets.cmake
0090 NAMESPACE FutureSQL${QT_MAJOR_VERSION}::
0091 )