QXlsx icon indicating copy to clipboard operation
QXlsx copied to clipboard

Add installation options

Open MearcDada opened this issue 2 months ago • 0 comments

Hello,Hopefully the installation options will be increased and the code will be flexible.Just like the one below:

// ... existing code ...
# Due historical reasons this value is kept off
option(BUILD_SHARED_LIBS "Build in shared lib mode" OFF)
option(ENABLE_INSTALL "Enable installation of QXlsx" ON)

// ... existing code ...

set_target_properties(QXlsx PROPERTIES
    OUTPUT_NAME ${EXPORT_NAME}
    VERSION ${PROJECT_VERSION}
    SOVERSION ${PROJECT_VERSION_MAJOR}
    PUBLIC_HEADER "${QXLSX_PUBLIC_HEADERS}"
)

if(ENABLE_INSTALL)
    install(TARGETS QXlsx
        EXPORT ${EXPORT_NAME}Targets DESTINATION ${CMAKE_INSTALL_LIBDIR}
        RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime
        ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel
        PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/QXlsxQt${QT_VERSION_MAJOR} COMPONENT devel
    )

    install(EXPORT ${EXPORT_NAME}Targets
        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${EXPORT_NAME}/
        FILE ${EXPORT_NAME}Targets.cmake
        NAMESPACE QXlsx::
        COMPONENT devel
    )

    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/qxlsx-config.cmake.in
        ${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_NAME}Config.cmake
        @ONLY
    )
    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/qxlsx-config-version.cmake.in
        ${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_NAME}ConfigVersion.cmake
        @ONLY
    )
    install(
        FILES
            ${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_NAME}Config.cmake
            ${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_NAME}ConfigVersion.cmake
        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${EXPORT_NAME}/
    )
    include(CPackConfig)
endif()

MearcDada avatar Nov 10 '25 01:11 MearcDada