x11-toolkits/copperspice: resurrect CopperSpice

CopperSpice is a toolkit, forked from Qt and updated to use
modern C++ and CMake in the Qt 5.something LGPL days. It was
removed from the tree for being unfetchable in 2017, now
restored. I didn't bother to look at the old ports files, so
this is entirely new work.

CS builds cleanly, except I patched in -pthread as a linker
option; I think this ought to be part of the Threads package
found by CMake, but it isn't (on FreeBSD at least). Some linkage
options need to be PUBLIC to be carried through to consuming
applications (this is a FreeBSD thing).

While here, introduce the misc/copperspice-examples which
is a demo application *kitchensink* that exercises the libraries.

CopperSpice shares notional-filenames with Qt (e.g. binaries
called "lupdate" for UI design) but the Qt ports are versioned
("lupdate-qt5"). CopperSpice gets "-cs" as a suffix.

There's a bunch of patching to make things "behave" like a
regularly packaged set of libraries and applications that
consume those libraries. In particular using $(LOCALBASE)/share/
rather than putting everything in the same target directory.
This commit is contained in:
Adriaan de Groot 2022-02-07 12:11:28 +01:00
parent fb02dbdb45
commit 8de46b4745
40 changed files with 2789 additions and 1 deletions

2
MOVED
View file

@ -13107,7 +13107,6 @@ games/xscorch||2019-10-16|Has expired: Unfetchable, unmaintained
graphics/aeskulap||2019-10-16|Has expired: Unfetchable, unmaintained
graphics/agave||2019-10-16|Has expired: Unfetchable, unmaintained
graphics/cbview||2019-10-16|Has expired: Unfetchable, unmaintained
graphics/copperspice||2019-10-16|Has expired: Unfetchable, unmaintained
graphics/cthumb||2019-10-16|Has expired: Unfetchable, unmaintained
graphics/fujiplay||2019-10-16|Has expired: Unfetchable, unmaintained
graphics/gimp-ez-perspective-plugin||2019-10-16|Has expired: Unfetchable, unmaintained
@ -16892,3 +16891,4 @@ security/php81-openssl||2022-02-12|php81-openssl module is a default module for
math/qhull8|math/qhull|2022-02-19|qhull as version 8 is the default from now on
print/tex-aleph||2022-02-19|tex-aleph has been removed from texlive-2021 system
sysutils/intel-pcm-devel||2022-02-19|intel-pcm-devel has been removed, encouraging users to use intel-pcm instead
graphics/copperspice|x11-toolkits/copperspice|2022-02-20|Revive in more appropriate category

View file

@ -53,6 +53,7 @@
SUBDIR += compat8x
SUBDIR += compat9x
SUBDIR += concourse
SUBDIR += copperspice-examples
SUBDIR += countrycodes
SUBDIR += cpuid
SUBDIR += crosti

View file

@ -0,0 +1,38 @@
PORTNAME= copperspice-examples
DISTVERSIONPREFIX= ks-
DISTVERSION= 1.7.3
CATEGORIES= misc
MAINTAINER= adridg@FreeBSD.org
COMMENT= Example programs for Copperspice
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libasound.so:audio/alsa-lib \
libpulse.so:audio/pulseaudio \
libgstreamer-1.0.so:multimedia/gstreamer1 \
libcups.so:print/cups \
libxcb-icccm.so:x11/xcb-util-wm \
libxcb-image.so:x11/xcb-util-image \
libxcb-keysyms.so:x11/xcb-util-keysyms \
libxcb-render-util.so:x11/xcb-util-renderutil \
libxcb.so:x11/libxcb \
libxkbcommon.so:x11/libxkbcommon \
libfontconfig.so:x11-fonts/fontconfig
BUILD_DEPENDS= copperspice>=1.7:x11-toolkits/copperspice
RUN_DEPENDS= copperspice>=1.7:x11-toolkits/copperspice
USES= compiler:c++17-lang cmake gl gnome iconv jpeg pkgconfig ssl xorg
USE_GL= gl
USE_GNOME= cairo glib20 libxml2
USE_GSTREAMER1= yes
USE_XORG= ice sm x11 xau xcb xcursor xext xfixes xi xinerama xrandr xrender
USE_GITHUB= yes
GH_ACCOUNT= copperspice
GH_PROJECT= kitchensink
PLIST_FILES= bin/kitchensink
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1644188375
SHA256 (copperspice-kitchensink-ks-1.7.3_GH0.tar.gz) = 5e7f8cab97e6260ad6dc7e1195ef7983bb4ecf88c47047196ad48e8bf7690c3d
SIZE (copperspice-kitchensink-ks-1.7.3_GH0.tar.gz) = 626928

View file

@ -0,0 +1,62 @@
--- src/CMakeLists.txt.orig 2022-02-15 21:15:36 UTC
+++ src/CMakeLists.txt
@@ -182,25 +182,26 @@ endif()
if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
install(TARGETS KitchenSink DESTINATION ../MacOS)
else()
- install(TARGETS KitchenSink DESTINATION .)
+ install(TARGETS KitchenSink)
endif()
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../resources/script.js DESTINATION ./resources)
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../resources/sampleMenu.xml DESTINATION ./resources)
+set(install_resource_dir ${CMAKE_INSTALL_DATADIR}/copperspice/kitchensink/resources)
+# install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../resources/script.js DESTINATION ${install_resource_dir})
+# install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../resources/sampleMenu.xml DESTINATION ${install_resource_dir})
# installs the CopperSpice libraries
-cs_copy_library(CsCore)
-cs_copy_library(CsGui)
-cs_copy_library(CsNetwork)
-cs_copy_library(CsOpenGL)
-cs_copy_library(CsScript)
-cs_copy_library(CsSql)
-cs_copy_library(CsSvg)
-cs_copy_library(CsXml)
-cs_copy_library(CsXmlPatterns)
+# cs_copy_library(CsCore)
+# cs_copy_library(CsGui)
+# cs_copy_library(CsNetwork)
+# cs_copy_library(CsOpenGL)
+# cs_copy_library(CsScript)
+# cs_copy_library(CsSql)
+# cs_copy_library(CsSvg)
+# cs_copy_library(CsXml)
+# cs_copy_library(CsXmlPatterns)
if("Multimedia" IN_LIST COPPERSPICE_COMPONENTS)
- cs_copy_library(CsMultimedia)
+ # cs_copy_library(CsMultimedia)
endif()
if("WebKit" IN_LIST COPPERSPICE_COMPONENTS)
@@ -226,15 +227,15 @@ if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
elseif(CMAKE_SYSTEM_NAME MATCHES "(Linux|OpenBSD|FreeBSD|NetBSD|DragonFly)")
# installs the platform Gui plugin
- cs_copy_plugins(CsGui)
- cs_copy_plugins(CsOpenGL)
+ # cs_copy_plugins(CsGui)
+ # cs_copy_plugins(CsOpenGL)
# three files
if("Multimedia" IN_LIST COPPERSPICE_COMPONENTS)
- cs_copy_plugins(CsMultimedia)
+ # cs_copy_plugins(CsMultimedia)
endif()
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../resources/ks.png DESTINATION ./resources)
+ # install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../resources/ks.png DESTINATION ${install_resource_dir})
elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")

View file

@ -0,0 +1,5 @@
CopperSpice is a set of individual libraries which can be used to develop
cross platform software applications in C++. This is the example application
for CopperSpice, which showcases most of the things the library can do.
WWW: https://www.copperspice.com/

View file

@ -7,6 +7,7 @@
SUBDIR += blt
SUBDIR += bwidget
SUBDIR += color-widgets-qt5
SUBDIR += copperspice
SUBDIR += ctk
SUBDIR += fltk
SUBDIR += fox14

View file

@ -0,0 +1,46 @@
PORTNAME= copperspice
DISTVERSIONPREFIX= cs-
DISTVERSION= 1.7.3
CATEGORIES= x11-toolkits
MAINTAINER= adridg@FreeBSD.org
COMMENT= First class GUI library to unite the C++ community
LICENSE= LGPL21
LICENSE_FILE= ${WRKSRC}/license/LICENSE.LGPL
LIB_DEPENDS= libasound.so:audio/alsa-lib \
libpulse.so:audio/pulseaudio \
libgstreamer-1.0.so:multimedia/gstreamer1 \
libcups.so:print/cups \
libxcb-icccm.so:x11/xcb-util-wm \
libxcb-image.so:x11/xcb-util-image \
libxcb-keysyms.so:x11/xcb-util-keysyms \
libxcb-render-util.so:x11/xcb-util-renderutil \
libxcb.so:x11/libxcb \
libxkbcommon.so:x11/libxkbcommon \
libfontconfig.so:x11-fonts/fontconfig
USES= compiler:c++17-lang cmake gl gnome iconv jpeg pkgconfig ssl xorg
USE_GL= gl
USE_GNOME= cairo glib20 libxml2
USE_GSTREAMER1= yes
USE_XORG= ice sm x11 xau xcb xcursor xext xfixes xi xinerama xrandr xrender
USE_GITHUB= yes
CMAKE_ARGS+= -DCMAKE_INSTALL_BINDIR:PATH='$(LOCALBASE)/lib/copperspice/bin' \
-DCMAKE_INSTALL_INCLUDEDIR:PATH='$(LOCALBASE)/include/copperspice' \
-DCMAKE_INSTALL_PREFIX:PATH='$(LOCALBASE)' \
-DTOOLS_SUFFIX:STRING=-cs
# There is a notional conflict with the Qt ports: those have **versioned**
# tool names, like designer-qt5, lupdate-qt5, to allow co-installation
# of Qt[456] (when we had / have more than one current-version in ports).
#
# Since CopperSpice doesn't version the binaries, it doesn't conflict
# with the Qt ports, but does "rudely" occupy the unversioned name.
#
# CONFLICTS= qt5-core
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1644180687
SHA256 (copperspice-copperspice-cs-1.7.3_GH0.tar.gz) = c1c1318f04aae0e4af10fffa6d20267768c2b1acc4c339f41609629584f81c39
SIZE (copperspice-copperspice-cs-1.7.3_GH0.tar.gz) = 35455780

View file

@ -0,0 +1,29 @@
--- CMakeLists.txt.orig 2022-01-14 18:52:21 UTC
+++ CMakeLists.txt
@@ -43,12 +43,6 @@ if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
elseif (CMAKE_SYSTEM_NAME MATCHES "(Linux|OpenBSD|FreeBSD|NetBSD|DragonFly)")
include(GNUInstallDirs)
- # rpath used for rcc and uic when compiling a user application
- file(RELATIVE_PATH CS_BIN_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}"
- "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
-
- set(CMAKE_INSTALL_RPATH "$ORIGIN/${CS_BIN_RPATH}")
-
elseif (CMAKE_SYSTEM_NAME MATCHES "Windows")
set(CMAKE_INSTALL_BINDIR bin)
set(CMAKE_INSTALL_LIBDIR lib)
@@ -549,6 +543,13 @@ elseif (WITH_WEBKIT AND NOT (WITH_GUI AND WITH_NETWORK
message(SEND_ERROR "WebKit component requires Gui, Network, and Script components")
endif()
+
+# To improve co-installability, insert this subdirectory in library-
+# and include-file installation paths (e.g. libraries end up installed
+# in ${PREFIX}/lib/${CS_NAMESPACE_DIRECTORY}/ ) It may be empty,
+# for no intermediate subdirectory. If it isn't empty, must end with /.
+set(CS_NAMESPACE_DIRECTORY "/copperspice/")
+set(CS_FULL_LIBDIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY})
add_subdirectory(src/core)
foreach(component ${CS_OPTIONAL_COMPONENTS})

View file

@ -0,0 +1,36 @@
--- src/core/CMakeLists.txt.orig 2022-01-14 18:52:21 UTC
+++ src/core/CMakeLists.txt
@@ -128,9 +128,10 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
elseif(CMAKE_SYSTEM_NAME MATCHES "(OpenBSD|FreeBSD|NetBSD|DragonFly)")
target_link_libraries(CsCore
- PRIVATE
+ PUBLIC
${CMAKE_THREAD_LIBS_INIT}
)
+ target_link_options(CsCore PUBLIC -pthread)
include_directories(${CMAKE_SOURCE_DIR}/src/3rdparty/forkfd)
elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")
@@ -154,8 +155,8 @@ target_sources(CsCore
target_include_directories(CsCore
PUBLIC
- $<INSTALL_INTERFACE:include>
- $<INSTALL_INTERFACE:include/QtCore>
+ ${CMAKE_INSTALL_INCLUDEDIR}
+ ${CMAKE_INSTALL_INCLUDEDIR}/QtCore
)
if(MSVC)
@@ -196,8 +197,8 @@ install(
TARGETS CsCore
EXPORT CopperSpiceLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
)
install(

View file

@ -0,0 +1,17 @@
--- src/core/kernel/kernel.cmake.orig 2022-02-17 22:27:19 UTC
+++ src/core/kernel/kernel.cmake
@@ -150,6 +150,7 @@ target_sources(CsCore
${CMAKE_CURRENT_SOURCE_DIR}/kernel/csobject_debug.cpp
${CMAKE_CURRENT_SOURCE_DIR}/kernel/csobject_private.cpp
)
+target_compile_definitions(CsCore PRIVATE CS_DEFAULT_PLUGINPATH="${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}")
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
target_sources(CsCore
@@ -194,4 +195,4 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")
${CMAKE_CURRENT_SOURCE_DIR}/kernel/qsystemsemaphore_win.cpp
)
-endif()
\ No newline at end of file
+endif()

View file

@ -0,0 +1,11 @@
--- src/core/kernel/qcoreapplication.cpp.orig 2022-02-17 22:23:09 UTC
+++ src/core/kernel/qcoreapplication.cpp
@@ -1653,6 +1653,8 @@ QStringList QCoreApplication::libraryPaths()
app_libpaths->append(canonicalPath);
}
}
+ } else { // Bung in the #defined default, which comes from CMake
+ QString canonicalPath = QDir(CS_DEFAULT_PLUGINPATH).canonicalPath(); if (! canonicalPath.isEmpty() && !app_libpaths->contains(canonicalPath)) app_libpaths->append(CS_DEFAULT_PLUGINPATH);
}
}

View file

@ -0,0 +1,13 @@
--- src/declarative/CMakeLists.txt.orig 2022-01-14 18:52:21 UTC
+++ src/declarative/CMakeLists.txt
@@ -73,8 +73,8 @@ macro_generate_package(
install(TARGETS CsDeclarative
EXPORT CopperSpiceLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
)
install(

View file

@ -0,0 +1,22 @@
--- src/gui/CMakeLists.txt.orig 2022-01-14 18:52:21 UTC
+++ src/gui/CMakeLists.txt
@@ -179,7 +179,7 @@ target_sources(CsGui
target_include_directories(CsGui
PUBLIC
- $<INSTALL_INTERFACE:include/QtGui>
+ ${CMAKE_INSTALL_INCLUDEDIR}/QtGui
${OPENGL_INCLUDE_DIR}
)
@@ -215,8 +215,8 @@ install(
TARGETS CsGui
EXPORT CopperSpiceLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
)
install(

View file

@ -0,0 +1,22 @@
--- src/multimedia/CMakeLists.txt.orig 2022-01-14 18:52:21 UTC
+++ src/multimedia/CMakeLists.txt
@@ -81,7 +81,7 @@ target_link_libraries(CsMultimedia
target_include_directories(CsMultimedia
PUBLIC
${GSTREAMER_INCLUDE_DIRS}
- $<INSTALL_INTERFACE:include/QtMultimedia>
+ ${CMAKE_INSTALL_INCLUDEDIR}/QtMultimedia
)
set_target_properties(CsMultimedia
@@ -103,8 +103,8 @@ install(
TARGETS CsMultimedia
EXPORT CopperSpiceLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
)
install(

View file

@ -0,0 +1,22 @@
--- src/network/CMakeLists.txt.orig 2022-01-14 18:52:21 UTC
+++ src/network/CMakeLists.txt
@@ -92,7 +92,7 @@ target_link_libraries(CsNetwork
target_include_directories(CsNetwork
PUBLIC
- $<INSTALL_INTERFACE:include/QtNetwork>
+ ${CMAKE_INSTALL_INCLUDEDIR}/QtNetwork
)
set_target_properties(CsNetwork
@@ -114,8 +114,8 @@ install(
TARGETS CsNetwork
EXPORT CopperSpiceLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
)
install(

View file

@ -0,0 +1,22 @@
--- src/opengl/CMakeLists.txt.orig 2022-01-14 18:52:21 UTC
+++ src/opengl/CMakeLists.txt
@@ -130,7 +130,7 @@ function_variable_fixup("${EXTRA_OPENGL_LDFLAGS}" EXT
target_include_directories(CsOpenGL
PUBLIC
- $<INSTALL_INTERFACE:include/QtOpenGL>
+ ${CMAKE_INSTALL_INCLUDEDIR}/QtOpenGL
)
target_link_libraries(CsOpenGL
@@ -159,8 +159,8 @@ install(
TARGETS CsOpenGL
EXPORT CopperSpiceLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
)
install(

View file

@ -0,0 +1,13 @@
--- src/plugins/multimedia/mediaservices/gstreamer/gstreamer.cmake.orig 2022-02-17 11:16:53 UTC
+++ src/plugins/multimedia/mediaservices/gstreamer/gstreamer.cmake
@@ -284,7 +284,7 @@ if(WITH_MULTIMEDIA AND GStreamer_FOUND)
set_target_properties(CsMultimedia_gst_camerabin PROPERTIES PREFIX "")
set_target_properties(CsMultimedia_gst_mediaplayer PROPERTIES PREFIX "")
- install(TARGETS CsMultimedia_gst_audiodecoder DESTINATION ${CMAKE_INSTALL_LIBDIR})
- install(TARGETS CsMultimedia_gst_camerabin DESTINATION ${CMAKE_INSTALL_LIBDIR})
- install(TARGETS CsMultimedia_gst_mediaplayer DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ install(TARGETS CsMultimedia_gst_audiodecoder DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}/mediaservices)
+ install(TARGETS CsMultimedia_gst_camerabin DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}/mediaservices)
+ install(TARGETS CsMultimedia_gst_mediaplayer DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}/mediaservices)
endif()

View file

@ -0,0 +1,8 @@
--- src/plugins/multimedia/playlistformats/playlistformats.cmake.orig 2022-02-17 11:15:59 UTC
+++ src/plugins/multimedia/playlistformats/playlistformats.cmake
@@ -24,4 +24,4 @@ target_compile_definitions(CsMultimedia_m3u
-DQT_PLUGIN
)
-install(TARGETS CsMultimedia_m3u DESTINATION ${CMAKE_INSTALL_LIBDIR})
+install(TARGETS CsMultimedia_m3u DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}/mediaservices)

View file

@ -0,0 +1,9 @@
--- src/plugins/platforms/xcb/glx/xcb_glx.cmake.orig 2022-02-17 11:21:35 UTC
+++ src/plugins/platforms/xcb/glx/xcb_glx.cmake
@@ -51,5 +51,5 @@ if(BUILD_PLATFORMS_XCB_PLUGIN AND XCB_GLX_LIB)
-DXCB_USE_XINPUT2
)
- install(TARGETS CsGuiXcb_Glx DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ install(TARGETS CsGuiXcb_Glx DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}/xcbglintegrations)
endif()

View file

@ -0,0 +1,10 @@
--- src/plugins/platforms/xcb/xcb.cmake.orig 2022-02-17 11:13:33 UTC
+++ src/plugins/platforms/xcb/xcb.cmake
@@ -28,6 +28,6 @@ if(BUILD_PLATFORMS_XCB_PLUGIN)
-DXCB_USE_XINPUT2
)
- install(TARGETS CsGuiXcb DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ install(TARGETS CsGuiXcb DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}/platforms)
endif()

View file

@ -0,0 +1,12 @@
--- src/plugins/platforms/xcb/xcb_support/xcb_support.cmake.orig 2022-02-17 11:18:08 UTC
+++ src/plugins/platforms/xcb/xcb_support/xcb_support.cmake
@@ -151,7 +151,7 @@ if(BUILD_PLATFORMS_XCB_PLUGIN)
TARGETS CsXcbSupport
EXPORT CopperSpiceLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
)
endif()

View file

@ -0,0 +1,10 @@
--- src/plugins/printerdrivers/cups/cupsprinter.cmake.orig 2022-02-17 11:23:12 UTC
+++ src/plugins/printerdrivers/cups/cupsprinter.cmake
@@ -37,6 +37,6 @@ if(Cups_FOUND)
function_generate_resources(CsPrinterDriverCups)
- install(TARGETS CsPrinterDriverCups DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ install(TARGETS CsPrinterDriverCups DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}/platforms)
endif()

View file

@ -0,0 +1,22 @@
--- src/script/CMakeLists.txt.orig 2022-01-14 18:52:21 UTC
+++ src/script/CMakeLists.txt
@@ -569,7 +569,7 @@ target_sources(CsScript
target_include_directories(CsScript
PUBLIC
- $<INSTALL_INTERFACE:include/QtScript>
+ ${CMAKE_INSTALL_INCLUDEDIR}/QtScript
)
target_link_libraries(CsScript
@@ -596,8 +596,8 @@ install(
TARGETS CsScript
EXPORT CopperSpiceLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
)
install(

View file

@ -0,0 +1,13 @@
--- src/scripttools/CMakeLists.txt.orig 2022-01-14 18:52:21 UTC
+++ src/scripttools/CMakeLists.txt
@@ -62,8 +62,8 @@ install(
TARGETS CsScriptTools
EXPORT CopperSpiceLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
)
install(

View file

@ -0,0 +1,22 @@
--- src/sql/CMakeLists.txt.orig 2022-01-14 18:52:21 UTC
+++ src/sql/CMakeLists.txt
@@ -76,7 +76,7 @@ target_link_libraries(CsSql
target_include_directories(CsSql
PUBLIC
- $<INSTALL_INTERFACE:include/QtSql>
+ ${CMAKE_INSTALL_INCLUDEDIR}/QtSql
)
set_target_properties(CsSql
@@ -98,8 +98,8 @@ install(
TARGETS CsSql
EXPORT CopperSpiceLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
)
install(

View file

@ -0,0 +1,22 @@
--- src/svg/CMakeLists.txt.orig 2022-01-14 18:52:21 UTC
+++ src/svg/CMakeLists.txt
@@ -89,7 +89,7 @@ target_sources(CsSvg
target_include_directories(CsSvg
PUBLIC
- $<INSTALL_INTERFACE:include/QtSvg>
+ ${CMAKE_INSTALL_INCLUDEDIR}/QtSvg
)
target_link_libraries(CsSvg
@@ -123,8 +123,8 @@ install(
TARGETS CsSvg
EXPORT CopperSpiceLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
)
install(

View file

@ -0,0 +1,11 @@
--- src/tools/lconvert/CMakeLists.txt.orig 2022-01-14 18:52:21 UTC
+++ src/tools/lconvert/CMakeLists.txt
@@ -39,7 +39,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "DARWIN")
endif()
if(CMAKE_SYSTEM_NAME MATCHES "(OpenBSD|FreeBSD|NetBSD)")
- list(APPEND EXTRA_LCONVERT_LDFLAGS '-Wl,-rpath,$ORIGIN/../lib')
+ list(APPEND EXTRA_LCONVERT_LDFLAGS '-Wl,-rpath,${CS_FULL_LIBDIR}')
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Linux")

View file

@ -0,0 +1,11 @@
--- src/tools/linguist/CMakeLists.txt.orig 2022-01-14 18:52:21 UTC
+++ src/tools/linguist/CMakeLists.txt
@@ -100,7 +100,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
endif()
if(CMAKE_SYSTEM_NAME MATCHES "(OpenBSD|FreeBSD|NetBSD)")
- list(APPEND EXTRA_LINGUIST_LDFLAGS '-Wl,-rpath,$ORIGIN/../lib')
+ list(APPEND EXTRA_LINGUIST_LDFLAGS '-Wl,-rpath,${CS_FULL_LIBDIR}')
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Windows")

View file

@ -0,0 +1,11 @@
--- src/tools/lrelease/CMakeLists.txt.orig 2022-01-14 18:52:21 UTC
+++ src/tools/lrelease/CMakeLists.txt
@@ -38,7 +38,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
endif()
if(CMAKE_SYSTEM_NAME MATCHES "(OpenBSD|FreeBSD|NetBSD)")
- list(APPEND EXTRA_LRELEASE_LDFLAGS '-Wl,-rpath,$ORIGIN/../lib')
+ list(APPEND EXTRA_LRELEASE_LDFLAGS '-Wl,-rpath,${CS_FULL_LIBDIR}')
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Windows")

View file

@ -0,0 +1,11 @@
--- src/tools/lupdate/CMakeLists.txt.orig 2022-01-14 18:52:21 UTC
+++ src/tools/lupdate/CMakeLists.txt
@@ -36,7 +36,7 @@ target_sources(lupdate${TOOLS_SUFFIX}
)
if(CMAKE_SYSTEM_NAME MATCHES "(OpenBSD|FreeBSD|NetBSD)")
- set(EXTRA_LUPDATE_LDFLAGS ${EXTRA_LUPDATE_LDFLAGS} '-Wl,-rpath,$ORIGIN/../lib')
+ set(EXTRA_LUPDATE_LDFLAGS ${EXTRA_LUPDATE_LDFLAGS} '-Wl,-rpath,${CS_FULL_LIBDIR}')
endif()
if(CMAKE_SYSTEM_NAME MATCHES "DARWIN")

View file

@ -0,0 +1,11 @@
--- src/tools/rcc/CMakeLists.txt.orig 2022-01-14 18:52:21 UTC
+++ src/tools/rcc/CMakeLists.txt
@@ -35,7 +35,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "DARWIN")
endif()
if(CMAKE_SYSTEM_NAME MATCHES "(OpenBSD|FreeBSD|NetBSD)")
- list(APPEND EXTRA_RCC_LDFLAGS '-Wl,-rpath,$ORIGIN/../lib')
+ list(APPEND EXTRA_RCC_LDFLAGS '-Wl,-rpath,${CS_FULL_LIBDIR}')
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Linux")

View file

@ -0,0 +1,11 @@
--- src/tools/uic/CMakeLists.txt.orig 2022-01-14 18:52:21 UTC
+++ src/tools/uic/CMakeLists.txt
@@ -70,7 +70,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
endif()
if(CMAKE_SYSTEM_NAME MATCHES "(OpenBSD|FreeBSD|NetBSD)")
- list(APPEND EXTRA_UIC_LDFLAGS '-Wl,-rpath,$ORIGIN/../lib')
+ list(APPEND EXTRA_UIC_LDFLAGS '-Wl,-rpath,${CS_FULL_LIBDIR}')
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Windows")

View file

@ -0,0 +1,22 @@
--- src/webkit/CMakeLists.txt.orig 2022-01-14 18:52:21 UTC
+++ src/webkit/CMakeLists.txt
@@ -2432,7 +2432,7 @@ function_variable_fixup("${EXTRA_WEBKIT_LDFLAGS}" EXT
target_include_directories(CsWebKit
PUBLIC
- $<INSTALL_INTERFACE:include/QtWebKit>
+ ${CMAKE_INSTALL_INCLUDEDIR}/QtWebKit
)
target_link_libraries(CsWebKit
@@ -2462,8 +2462,8 @@ install(
TARGETS CsWebKit
EXPORT CopperSpiceLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
)
install(

View file

@ -0,0 +1,22 @@
--- src/xml/CMakeLists.txt.orig 2022-01-14 18:52:21 UTC
+++ src/xml/CMakeLists.txt
@@ -44,7 +44,7 @@ target_sources(CsXml
target_include_directories(CsXml
PUBLIC
- $<INSTALL_INTERFACE:include/QtXml>
+ ${CMAKE_INSTALL_INCLUDEDIR}/QtXml
)
target_link_libraries(CsXml
@@ -71,8 +71,8 @@ install(
TARGETS CsXml
EXPORT CopperSpiceLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
)
install(

View file

@ -0,0 +1,22 @@
--- src/xmlpatterns/CMakeLists.txt.orig 2022-01-14 18:52:21 UTC
+++ src/xmlpatterns/CMakeLists.txt
@@ -67,7 +67,7 @@ target_sources(CsXmlPatterns
target_include_directories(CsXmlPatterns
PUBLIC
- $<INSTALL_INTERFACE:include/QtXmlPatterns>
+ ${CMAKE_INSTALL_INCLUDEDIR}/QtXmlPatterns
)
target_link_libraries(CsXmlPatterns
@@ -95,8 +95,8 @@ install(
TARGETS CsXmlPatterns
EXPORT CopperSpiceLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${CS_NAMESPACE_DIRECTORY}
)
install(

View file

@ -0,0 +1,15 @@
--- utilities/unicode/CMakeLists.txt.orig 2022-02-18 10:42:10 UTC
+++ utilities/unicode/CMakeLists.txt
@@ -34,12 +34,6 @@ if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
elseif (CMAKE_SYSTEM_NAME MATCHES "(Linux|OpenBSD|FreeBSD|NetBSD|DragonFly)")
include(GNUInstallDirs)
- # rpath used for rcc and uic when compiling a user application
- file(RELATIVE_PATH CS_BIN_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}"
- "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
-
- set(CMAKE_INSTALL_RPATH "$ORIGIN/${CS_BIN_RPATH}")
-
elseif (CMAKE_SYSTEM_NAME MATCHES "Windows")
set(CMAKE_INSTALL_BINDIR bin)
set(CMAKE_INSTALL_LIBDIR lib)

View file

@ -0,0 +1,14 @@
CopperSpice is a set of individual libraries which can be used to develop
cross platform software applications in C++. It is a totally open source
project released under the LGPL V2.1 license and was initially derived
from the Qt framework. Over the last several years CopperSpice has
completely diverged, with a goal of providing a first class GUI library
to unite the C++ community.
Our motivation for developing CopperSpice was to change the fundamental
design and turn the existing framework into a set of libraries for C++
developers. We are accomplishing this by leveraging modern C++
functionality, new technology, and modern tooling. CopperSpice currently
requires C++17 or newer.
WWW: https://www.copperspice.com/

File diff suppressed because it is too large Load diff