graphics/qcustomplot: add support for Qt5 and Qt6 flavors
- Add support for Qt5 and Qt6 flavors - Switch to cmake using patches from Debian Differential Revision: https://reviews.freebsd.org/D43969
This commit is contained in:
parent
6751c3211a
commit
ddd7c2bdca
|
@ -14,7 +14,7 @@ LIB_DEPENDS= libFLAC.so:audio/flac \
|
|||
libjack.so:audio/jack \
|
||||
libogg.so:audio/libogg \
|
||||
libportaudio.so:audio/portaudio \
|
||||
libQCustomPlot-qt5.so:graphics/qcustomplot \
|
||||
libQCustomPlot-qt5.so:graphics/qcustomplot@qt5 \
|
||||
librtmidi.so:audio/rtmidi \
|
||||
libstk.so:audio/stk \
|
||||
libvorbisfile.so:audio/libvorbis
|
||||
|
|
|
@ -13,7 +13,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.GPL.txt
|
|||
|
||||
BUILD_DEPENDS= ${LOCALBASE}/lib/librustc_demangle.a:devel/rustc-demangle
|
||||
LIB_DEPENDS= libdw.so:devel/elfutils \
|
||||
libQCustomPlot-qt5.so:graphics/qcustomplot \
|
||||
libQCustomPlot-qt5.so:graphics/qcustomplot@qt5 \
|
||||
libkddockwidgets.so:x11-toolkits/kddockwidgets \
|
||||
libzstd.so:archivers/zstd
|
||||
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
PORTNAME= qcustomplot
|
||||
DISTVERSION= 2.1.1
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= graphics
|
||||
MASTER_SITES= https://www.qcustomplot.com/release/${PORTVERSION}/
|
||||
PKGNAMESUFFIX= ${SUFFIX}
|
||||
PKGNAMESUFFIX= -${FLAVOR}
|
||||
DISTNAME= QCustomPlot
|
||||
DIST_SUBDIR= ${PORTNAME}-${DISTVERSION}
|
||||
|
||||
|
@ -13,30 +14,25 @@ WWW= https://www.qcustomplot.com
|
|||
LICENSE= GPLv3
|
||||
LICENSE_FILE= ${WRKSRC}/GPL.txt
|
||||
|
||||
USES= compiler:c++11-lang pkgconfig qt:5
|
||||
USE_QT= core gui widgets printsupport buildtools:build
|
||||
FLAVORS= qt5 qt6
|
||||
FLAVOR?= qt5
|
||||
|
||||
USES= cmake compiler:c++11-lang qt:${FLAVOR:S/qt//}
|
||||
USE_QT= ${_USE_QT_${FLAVOR}}
|
||||
USE_LDCONFIG= yes
|
||||
_USE_QT_qt5= core gui printsupport widgets buildtools:build qmake:build
|
||||
_USE_QT_qt6= base tools:build
|
||||
|
||||
CMAKE_ARGS= -DUSE_QT_VERSION=${FLAVOR:S/qt//}
|
||||
|
||||
WRKSRC= ${WRKDIR}/${PORTNAME}
|
||||
|
||||
SUFFIX= -qt5
|
||||
PLIST_SUB= SHLIB_VER=${DISTVERSION}
|
||||
|
||||
PLIST_FILES= include/qcustomplot.h \
|
||||
lib/libQCustomPlot${SUFFIX}.so
|
||||
${FLAVOR}_PLIST= ${.CURDIR}/pkg-plist.${FLAVOR}
|
||||
|
||||
do-build:
|
||||
@cd ${WRKSRC} && \
|
||||
${MOC} qcustomplot.h > qcustomplot_moc.cpp && \
|
||||
${CXX} ${CXXFLAGS} -shared -fPIC \
|
||||
-I${PREFIX}/include \
|
||||
`pkg-config --cflags --libs Qt5Core Qt5Gui Qt5Widgets Qt5PrintSupport` \
|
||||
qcustomplot.cpp \
|
||||
qcustomplot_moc.cpp \
|
||||
-o ${WRKSRC}/libQCustomPlot${SUFFIX}.so \
|
||||
-Wl,-soname,libQCustomPlot${SUFFIX}.so
|
||||
|
||||
do-install:
|
||||
${INSTALL_DATA} ${WRKSRC}/qcustomplot.h ${STAGEDIR}${PREFIX}/include
|
||||
${INSTALL_LIB} ${WRKSRC}/libQCustomPlot${SUFFIX}.so ${STAGEDIR}${PREFIX}/lib
|
||||
post-patch:
|
||||
${CP} ${FILESDIR}/CMakeLists.txt ${FILESDIR}/Config.cmake.in \
|
||||
${WRKSRC}
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
|
|
@ -0,0 +1,113 @@
|
|||
cmake_minimum_required(VERSION 3.18.4)
|
||||
|
||||
SET(QCustomPlot_MAJOR_VERSION "2")
|
||||
SET(QCustomPlot_MINOR_VERSION "1")
|
||||
SET(QCustomPlot_PATCH_VERSION "1")
|
||||
|
||||
set(QCustomPlot_VERSION "${QCustomPlot_MAJOR_VERSION}.${QCustomPlot_MINOR_VERSION}.${QCustomPlot_PATCH_VERSION}")
|
||||
set(QCustomPlot_SOVERSION "${QCustomPlot_MAJOR_VERSION}")
|
||||
|
||||
PROJECT(QCustomPlot LANGUAGES CXX VERSION ${QCustomPlot_VERSION})
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
include(FeatureSummary)
|
||||
|
||||
#-----------------------------------------------------------#
|
||||
# Dependencies
|
||||
#-----------------------------------------------------------#
|
||||
|
||||
set(REQUIRED_QT_COMPONENTS Core Widgets PrintSupport)
|
||||
|
||||
set(MIN_REQUIRED_QT5_VERSION "5.12")
|
||||
set(MIN_REQUIRED_QT6_VERSION "6.2.0")
|
||||
|
||||
|
||||
find_package(Qt${USE_QT_VERSION} ${MIN_REQUIRED_QT${USE_QT_VERSION}_VERSION}
|
||||
COMPONENTS ${REQUIRED_QT_COMPONENTS} REQUIRED)
|
||||
set(QT_VERSION_MAJOR ${USE_QT_VERSION})
|
||||
|
||||
|
||||
#-----------------------------------------------------------#
|
||||
# Definitions
|
||||
#-----------------------------------------------------------#
|
||||
|
||||
set(LIB5_SUFFIX "-qt5")
|
||||
set(LIB6_SUFFIX "Qt6")
|
||||
set(LIB_SUFFIX "${LIB${QT_VERSION_MAJOR}_SUFFIX}")
|
||||
|
||||
set(LIB_NAME QCustomPlot${LIB_SUFFIX})
|
||||
set(CMAKE_CONFIG_FILE_NAME ${LIB_NAME}Config.cmake)
|
||||
set(CMAKE_CONFIG_LIB_NAMES ${LIB_NAME} lib${LIB_NAME})
|
||||
|
||||
set(INC5_SUBDIR "")
|
||||
set(INC6_SUBDIR "${LIB_NAME}")
|
||||
set(QCUSTOMPLOT_INSTALL_INCLUDEDIR "${CMAKE_INSTALL_INCLUDEDIR}/${INC${QT_VERSION_MAJOR}_SUBDIR}")
|
||||
|
||||
|
||||
#-----------------------------------------------------------#
|
||||
# Compiler Settings
|
||||
#-----------------------------------------------------------#
|
||||
|
||||
#set(CMAKE_CXX_STANDARD 17)
|
||||
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
|
||||
# Only enable strict warnings in debug mode
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall -Wextra -Werror -pedantic")
|
||||
|
||||
# As per the author of the library, we should export the symbols under
|
||||
# MS-Windows.
|
||||
add_definitions(-DQCUSTOMPLOT_COMPILE_LIBRARY)
|
||||
|
||||
#-----------------------------------------------------------#
|
||||
# Sources
|
||||
#-----------------------------------------------------------#
|
||||
|
||||
add_library(${LIB_NAME} SHARED qcustomplot.cpp)
|
||||
|
||||
set_target_properties(${LIB_NAME} PROPERTIES
|
||||
VERSION ${QCustomPlot_VERSION}
|
||||
SOVERSION ${QCustomPlot_SOVERSION})
|
||||
|
||||
target_link_libraries(${LIB_NAME}
|
||||
Qt${QT_VERSION_MAJOR}::Widgets
|
||||
Qt${QT_VERSION_MAJOR}::PrintSupport)
|
||||
|
||||
#-----------------------------------------------------------#
|
||||
# Installation
|
||||
#-----------------------------------------------------------#
|
||||
|
||||
install(TARGETS ${LIB_NAME}
|
||||
EXPORT ${LIB_NAME}Targets
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
INCLUDES DESTINATION ${QCUSTOMPLOT_INSTALL_INCLUDEDIR})
|
||||
|
||||
install(FILES qcustomplot.h DESTINATION "${QCUSTOMPLOT_INSTALL_INCLUDEDIR}")
|
||||
|
||||
install(EXPORT ${LIB_NAME}Targets
|
||||
FILE ${LIB_NAME}Targets.cmake
|
||||
NAMESPACE ${LIB_NAME}::
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${LIB_NAME})
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${LIB_NAME}Config.cmake"
|
||||
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${LIB_NAME})
|
||||
|
||||
install(FILES
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${LIB_NAME}Config.cmake"
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${LIB_NAME})
|
||||
|
||||
#-----------------------------------------------------------#
|
||||
# Summary
|
||||
#-----------------------------------------------------------#
|
||||
|
||||
feature_summary(FATAL_ON_MISSING_REQUIRED_PACKAGES WHAT ALL)
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
@PACKAGE_INIT@
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/@LIB_NAME@Targets.cmake")
|
||||
|
||||
check_required_components(@LIB_NAME@)
|
|
@ -0,0 +1,7 @@
|
|||
include/qcustomplot.h
|
||||
lib/cmake/QCustomPlot-qt5/QCustomPlot-qt5Config.cmake
|
||||
lib/cmake/QCustomPlot-qt5/QCustomPlot-qt5Targets-%%CMAKE_BUILD_TYPE%%.cmake
|
||||
lib/cmake/QCustomPlot-qt5/QCustomPlot-qt5Targets.cmake
|
||||
lib/libQCustomPlot-qt5.so
|
||||
lib/libQCustomPlot-qt5.so.2
|
||||
lib/libQCustomPlot-qt5.so.%%SHLIB_VER%%
|
|
@ -0,0 +1,7 @@
|
|||
include/QCustomPlotQt6/qcustomplot.h
|
||||
lib/cmake/QCustomPlotQt6/QCustomPlotQt6Config.cmake
|
||||
lib/cmake/QCustomPlotQt6/QCustomPlotQt6Targets-%%CMAKE_BUILD_TYPE%%.cmake
|
||||
lib/cmake/QCustomPlotQt6/QCustomPlotQt6Targets.cmake
|
||||
lib/libQCustomPlotQt6.so
|
||||
lib/libQCustomPlotQt6.so.2
|
||||
lib/libQCustomPlotQt6.so.%%SHLIB_VER%%
|
|
@ -18,7 +18,7 @@ BUILD_DEPENDS= avir>0:graphics/avir \
|
|||
png++>0:graphics/png++
|
||||
LIB_DEPENDS= libcgraph.so:graphics/graphviz \
|
||||
libpng.so:graphics/png \
|
||||
libQCustomPlot-qt5.so:graphics/qcustomplot \
|
||||
libQCustomPlot-qt5.so:graphics/qcustomplot@qt5 \
|
||||
libtcmalloc.so:devel/google-perftools
|
||||
|
||||
USES= compiler:c++17-lang cmake pkgconfig qt:5
|
||||
|
|
Loading…
Reference in New Issue