From 20e68a860c533b7cb37003f9e2d5d61a452513c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= Date: Sun, 13 Oct 2024 12:18:43 +0200 Subject: [PATCH 1/4] Fix Nix pkg-config support --- tools/pkg-config/csfml-all.pc.in | 2 +- tools/pkg-config/csfml-audio.pc.in | 2 +- tools/pkg-config/csfml-graphics.pc.in | 2 +- tools/pkg-config/csfml-network.pc.in | 2 +- tools/pkg-config/csfml-system.pc.in | 2 +- tools/pkg-config/csfml-window.pc.in | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/pkg-config/csfml-all.pc.in b/tools/pkg-config/csfml-all.pc.in index 61e0d3e0..87fb8160 100644 --- a/tools/pkg-config/csfml-all.pc.in +++ b/tools/pkg-config/csfml-all.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +libdir=@CMAKE_INSTALL_FULL_LIBDIR@ includedir=${prefix}/include Name: CSFML-all diff --git a/tools/pkg-config/csfml-audio.pc.in b/tools/pkg-config/csfml-audio.pc.in index 4a5391b7..eea95739 100644 --- a/tools/pkg-config/csfml-audio.pc.in +++ b/tools/pkg-config/csfml-audio.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +libdir=@CMAKE_INSTALL_FULL_LIBDIR@ includedir=${prefix}/include Name: CSFML-audio diff --git a/tools/pkg-config/csfml-graphics.pc.in b/tools/pkg-config/csfml-graphics.pc.in index aee20e00..b8ea3d52 100644 --- a/tools/pkg-config/csfml-graphics.pc.in +++ b/tools/pkg-config/csfml-graphics.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +libdir=@CMAKE_INSTALL_FULL_LIBDIR@ includedir=${prefix}/include Name: CSFML-graphics diff --git a/tools/pkg-config/csfml-network.pc.in b/tools/pkg-config/csfml-network.pc.in index 7dcaecb0..844be7ec 100644 --- a/tools/pkg-config/csfml-network.pc.in +++ b/tools/pkg-config/csfml-network.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +libdir=@CMAKE_INSTALL_FULL_LIBDIR@ includedir=${prefix}/include Name: CSFML-network diff --git a/tools/pkg-config/csfml-system.pc.in b/tools/pkg-config/csfml-system.pc.in index 71b5e1fa..243d93da 100644 --- a/tools/pkg-config/csfml-system.pc.in +++ b/tools/pkg-config/csfml-system.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +libdir=@CMAKE_INSTALL_FULL_LIBDIR@ includedir=${prefix}/include Name: CSFML-system diff --git a/tools/pkg-config/csfml-window.pc.in b/tools/pkg-config/csfml-window.pc.in index 66723723..c22eb438 100644 --- a/tools/pkg-config/csfml-window.pc.in +++ b/tools/pkg-config/csfml-window.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +libdir=@CMAKE_INSTALL_FULL_LIBDIR@ includedir=${prefix}/include Name: CSFML-window From 1e1bdbfd378a62a9957516a7ac3c7b9e415bd532 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= Date: Sun, 13 Oct 2024 18:15:13 +0200 Subject: [PATCH 2/4] Use RELATIVE LIBDIR instead of FULL LIBDIR Trying to replicate https://github.com/SFML/SFML/pull/2835 --- tools/pkg-config/csfml-all.pc.in | 2 +- tools/pkg-config/csfml-audio.pc.in | 2 +- tools/pkg-config/csfml-graphics.pc.in | 2 +- tools/pkg-config/csfml-network.pc.in | 2 +- tools/pkg-config/csfml-system.pc.in | 2 +- tools/pkg-config/csfml-window.pc.in | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/pkg-config/csfml-all.pc.in b/tools/pkg-config/csfml-all.pc.in index 87fb8160..bebe44c8 100644 --- a/tools/pkg-config/csfml-all.pc.in +++ b/tools/pkg-config/csfml-all.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=@CMAKE_INSTALL_FULL_LIBDIR@ +libdir=${exec_prefix}/@SFML_RELATIVE_INSTALL_LIBDIR@ includedir=${prefix}/include Name: CSFML-all diff --git a/tools/pkg-config/csfml-audio.pc.in b/tools/pkg-config/csfml-audio.pc.in index eea95739..3946fce1 100644 --- a/tools/pkg-config/csfml-audio.pc.in +++ b/tools/pkg-config/csfml-audio.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=@CMAKE_INSTALL_FULL_LIBDIR@ +libdir=${exec_prefix}/@SFML_RELATIVE_INSTALL_LIBDIR@ includedir=${prefix}/include Name: CSFML-audio diff --git a/tools/pkg-config/csfml-graphics.pc.in b/tools/pkg-config/csfml-graphics.pc.in index b8ea3d52..d05b0263 100644 --- a/tools/pkg-config/csfml-graphics.pc.in +++ b/tools/pkg-config/csfml-graphics.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=@CMAKE_INSTALL_FULL_LIBDIR@ +libdir=${exec_prefix}/@SFML_RELATIVE_INSTALL_LIBDIR@ includedir=${prefix}/include Name: CSFML-graphics diff --git a/tools/pkg-config/csfml-network.pc.in b/tools/pkg-config/csfml-network.pc.in index 844be7ec..9a5b9509 100644 --- a/tools/pkg-config/csfml-network.pc.in +++ b/tools/pkg-config/csfml-network.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=@CMAKE_INSTALL_FULL_LIBDIR@ +libdir=${exec_prefix}/@SFML_RELATIVE_INSTALL_LIBDIR@ includedir=${prefix}/include Name: CSFML-network diff --git a/tools/pkg-config/csfml-system.pc.in b/tools/pkg-config/csfml-system.pc.in index 243d93da..80f63ba4 100644 --- a/tools/pkg-config/csfml-system.pc.in +++ b/tools/pkg-config/csfml-system.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=@CMAKE_INSTALL_FULL_LIBDIR@ +libdir=${exec_prefix}/@SFML_RELATIVE_INSTALL_LIBDIR@ includedir=${prefix}/include Name: CSFML-system diff --git a/tools/pkg-config/csfml-window.pc.in b/tools/pkg-config/csfml-window.pc.in index c22eb438..02bc751d 100644 --- a/tools/pkg-config/csfml-window.pc.in +++ b/tools/pkg-config/csfml-window.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=@CMAKE_INSTALL_FULL_LIBDIR@ +libdir=${exec_prefix}/@SFML_RELATIVE_INSTALL_LIBDIR@ includedir=${prefix}/include Name: CSFML-window From 0490c80a21f020eb7d4aaf71b5b4b4900a70adbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= Date: Sun, 13 Oct 2024 19:41:05 +0200 Subject: [PATCH 3/4] Set variable CSFML_RELATIVE_INSTALL_LIBDIR --- cmake/Config.cmake | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmake/Config.cmake b/cmake/Config.cmake index 0ce3111e..075ebde4 100644 --- a/cmake/Config.cmake +++ b/cmake/Config.cmake @@ -12,9 +12,12 @@ else() return() endif() +# account for CMAKE_INSTALL_LIBDIR potentially being an absolute path +file(RELATIVE_PATH CSFML_RELATIVE_INSTALL_LIBDIR ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_FULL_LIBDIR}) + # set pkgconfig install directory # this could be e.g. macports on mac or msys2 on windows etc. -set(CSFML_PKGCONFIG_DIR "${CMAKE_INSTALL_LIBDIR}/pkgconfig") +set(CSFML_PKGCONFIG_DIR "${CSFML_RELATIVE_INSTALL_LIBDIR}/pkgconfig") if(SFML_OS_FREEBSD OR SFML_OS_OPENBSD OR SFML_OS_NETBSD) set(CSFML_PKGCONFIG_DIR "libdata/pkgconfig") From 34cbc16682a8f41e5a91ced879ee3408a05b5e8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= Date: Sun, 13 Oct 2024 21:41:52 +0200 Subject: [PATCH 4/4] Rename `SFML` to `CSFML` to match pkg-config --- tools/pkg-config/csfml-all.pc.in | 2 +- tools/pkg-config/csfml-audio.pc.in | 2 +- tools/pkg-config/csfml-graphics.pc.in | 2 +- tools/pkg-config/csfml-network.pc.in | 2 +- tools/pkg-config/csfml-system.pc.in | 2 +- tools/pkg-config/csfml-window.pc.in | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/pkg-config/csfml-all.pc.in b/tools/pkg-config/csfml-all.pc.in index bebe44c8..796cde1f 100644 --- a/tools/pkg-config/csfml-all.pc.in +++ b/tools/pkg-config/csfml-all.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${exec_prefix}/@SFML_RELATIVE_INSTALL_LIBDIR@ +libdir=${exec_prefix}/@CSFML_RELATIVE_INSTALL_LIBDIR@ includedir=${prefix}/include Name: CSFML-all diff --git a/tools/pkg-config/csfml-audio.pc.in b/tools/pkg-config/csfml-audio.pc.in index 3946fce1..114d7a2d 100644 --- a/tools/pkg-config/csfml-audio.pc.in +++ b/tools/pkg-config/csfml-audio.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${exec_prefix}/@SFML_RELATIVE_INSTALL_LIBDIR@ +libdir=${exec_prefix}/@CSFML_RELATIVE_INSTALL_LIBDIR@ includedir=${prefix}/include Name: CSFML-audio diff --git a/tools/pkg-config/csfml-graphics.pc.in b/tools/pkg-config/csfml-graphics.pc.in index d05b0263..fe73e6fb 100644 --- a/tools/pkg-config/csfml-graphics.pc.in +++ b/tools/pkg-config/csfml-graphics.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${exec_prefix}/@SFML_RELATIVE_INSTALL_LIBDIR@ +libdir=${exec_prefix}/@CSFML_RELATIVE_INSTALL_LIBDIR@ includedir=${prefix}/include Name: CSFML-graphics diff --git a/tools/pkg-config/csfml-network.pc.in b/tools/pkg-config/csfml-network.pc.in index 9a5b9509..165f2436 100644 --- a/tools/pkg-config/csfml-network.pc.in +++ b/tools/pkg-config/csfml-network.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${exec_prefix}/@SFML_RELATIVE_INSTALL_LIBDIR@ +libdir=${exec_prefix}/@CSFML_RELATIVE_INSTALL_LIBDIR@ includedir=${prefix}/include Name: CSFML-network diff --git a/tools/pkg-config/csfml-system.pc.in b/tools/pkg-config/csfml-system.pc.in index 80f63ba4..4601177e 100644 --- a/tools/pkg-config/csfml-system.pc.in +++ b/tools/pkg-config/csfml-system.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${exec_prefix}/@SFML_RELATIVE_INSTALL_LIBDIR@ +libdir=${exec_prefix}/@CSFML_RELATIVE_INSTALL_LIBDIR@ includedir=${prefix}/include Name: CSFML-system diff --git a/tools/pkg-config/csfml-window.pc.in b/tools/pkg-config/csfml-window.pc.in index 02bc751d..33ec6343 100644 --- a/tools/pkg-config/csfml-window.pc.in +++ b/tools/pkg-config/csfml-window.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${exec_prefix}/@SFML_RELATIVE_INSTALL_LIBDIR@ +libdir=${exec_prefix}/@CSFML_RELATIVE_INSTALL_LIBDIR@ includedir=${prefix}/include Name: CSFML-window