Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
windows:mingw:win64
mingw64-SDL2_net
0001-cmake-always-install-SDL2_net.pc.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-cmake-always-install-SDL2_net.pc.patch of Package mingw64-SDL2_net
From fb8031364ad852d51faf5b64040440857f5e8f26 Mon Sep 17 00:00:00 2001 From: Anonymous Maarten <anonymous.maarten@gmail.com> Date: Wed, 31 Aug 2022 15:15:43 +0200 Subject: [PATCH 1/7] cmake: always install SDL2_net.pc --- CMakeLists.txt | 67 ++++++++++++++++++++++++++++---------------------- 1 file changed, 37 insertions(+), 30 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9035ab2..3c6814d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -202,39 +202,46 @@ if(SDL2NET_INSTALL) COMPONENT devel ) - if(SDL2NET_BUILD_SHARED_LIBS) - # Only create a .pc file for a shared SDL2_net - set(prefix "${CMAKE_INSTALL_PREFIX}") - set(exec_prefix "\${prefix}") - set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") - set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") - set(PACKAGE "${PROJECT_NAME}") - set(VERSION "${FULL_VERSION}") - set(SDL_VERSION "${SDL_REQUIRED_VERSION}") - string(JOIN " " PC_REQUIRES ${PC_REQUIRES}) - string(JOIN " " PC_LIBS ${PC_LIBS}) - configure_file("${PROJECT_SOURCE_DIR}/SDL2_net.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/SDL2_net.pc.intermediate" @ONLY) - file(GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/SDL2_net-$<CONFIG>.pc" INPUT "${CMAKE_CURRENT_BINARY_DIR}/SDL2_net.pc.intermediate") - - set(PC_DESTDIR) - if(CMAKE_SYSTEM_NAME MATCHES FreeBSD) - # FreeBSD uses ${PREFIX}/libdata/pkgconfig - set(PC_DESTDIR "libdata/pkgconfig") + if(SDL2NET_BUILD_SHARED_LIBS) + set(ENABLE_SHARED_TRUE "") + set(ENABLE_SHARED_FALSE "#") + set(ENABLE_STATIC_TRUE "#") + set(ENABLE_STATIC_FALSE "") else() - set(PC_DESTDIR "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + set(ENABLE_SHARED_TRUE "#") + set(ENABLE_SHARED_FALSE "") + set(ENABLE_STATIC_TRUE "") + set(ENABLE_STATIC_FALSE "#") endif() - # Only install a SDL2_net.pc file in Release mode - install(CODE " - if(CMAKE_INSTALL_CONFIG_NAME MATCHES \"Release\") - # FIXME: use file(COPY_FILE) if minimum CMake version >= 3.21 - execute_process(COMMAND \"\${CMAKE_COMMAND}\" -E copy_if_different - \"${CMAKE_CURRENT_BINARY_DIR}/SDL2_net-$<CONFIG>.pc\" - \"${CMAKE_CURRENT_BINARY_DIR}/SDL2_net.pc\") - file(INSTALL DESTINATION \"\${CMAKE_INSTALL_PREFIX}/${PC_DESTDIR}\" - TYPE FILE - FILES \"${CMAKE_CURRENT_BINARY_DIR}/SDL2_net.pc\") - endif()" COMPONENT devel) + + set(prefix "${CMAKE_INSTALL_PREFIX}") + set(exec_prefix "\${prefix}") + set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") + set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") + set(PACKAGE "${PROJECT_NAME}") + set(VERSION "${FULL_VERSION}") + set(SDL_VERSION "${SDL_REQUIRED_VERSION}") + string(JOIN " " PC_REQUIRES ${PC_REQUIRES}) + string(JOIN " " PC_LIBS ${PC_LIBS}) + configure_file("${PROJECT_SOURCE_DIR}/SDL2_net.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/SDL2_net.pc.intermediate" @ONLY) + file(GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/SDL2_net-$<CONFIG>.pc" INPUT "${CMAKE_CURRENT_BINARY_DIR}/SDL2_net.pc.intermediate") + + set(PC_DESTDIR) + if(CMAKE_SYSTEM_NAME MATCHES FreeBSD) + # FreeBSD uses ${PREFIX}/libdata/pkgconfig + set(PC_DESTDIR "libdata/pkgconfig") + else() + set(PC_DESTDIR "${CMAKE_INSTALL_LIBDIR}/pkgconfig") endif() + # Always install SDL2_net.pc: libraries might be different between config modes + install(CODE " + # FIXME: use file(COPY_FILE) if minimum CMake version >= 3.21 + execute_process(COMMAND \"\${CMAKE_COMMAND}\" -E copy_if_different + \"${CMAKE_CURRENT_BINARY_DIR}/SDL2_net-$<CONFIG>.pc\" + \"${CMAKE_CURRENT_BINARY_DIR}/SDL2_net.pc\") + file(INSTALL DESTINATION \"\${CMAKE_INSTALL_PREFIX}/${PC_DESTDIR}\" + TYPE FILE + FILES \"${CMAKE_CURRENT_BINARY_DIR}/SDL2_net.pc\")" COMPONENT devel) if(SDL2NET_BUILD_SHARED_LIBS AND (APPLE OR (UNIX AND NOT ANDROID))) install( -- 2.43.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor