[cmake] static build: populate private

in pkg-config files only add Requires.private and Libs.private if we
build a static library.
This commit is contained in:
Armin Novak
2025-09-11 09:56:25 +02:00
parent 85b864c799
commit d355082c32
18 changed files with 78 additions and 18 deletions

View File

@@ -77,6 +77,12 @@ foreach(FREERDP_SERVER ${FREERDP_EXTRA_SERVERS})
add_subdirectory(${FREERDP_SERVER})
endforeach()
# Do not set Requires.Private if not a static build
if(NOT BUILD_SHARED_LIBS)
set(FREERDP_SERVER_PC_REQUIRES_PRIVATE "freerdp${FREERDP_API_VERSION}")
set(FREERDP_SERVER_PC_LIBRARY_PRIVATE "-ldl -lpthread")
endif()
include(pkg-config-install-prefix)
cleaning_configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/freerdp-server.pc.in

View File

@@ -9,7 +9,7 @@ Description: FreeRDP: A Remote Desktop Protocol Implementation
URL: http://www.freerdp.com/
Version: @FREERDP_VERSION@
Requires:
Requires.private: @WINPR_PKG_CONFIG_FILENAME@ freerdp@FREERDP_VERSION_MAJOR@
Requires.private: @FREERDP_SERVER_PC_REQUIRES_PRIVATE@
Libs: -L${libdir} ${libs}
Libs.private: -ldl -lpthread
Libs.private: @FREERDP_SERVER_PC_LIBRARY_PRIVATE@
Cflags: -I${includedir}

View File

@@ -77,6 +77,12 @@ installwithrpath(
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Server/Proxy")
# pkg-config
# Do not set Requires.Private if not a static build
if(NOT BUILD_SHARED_LIBS)
set(FREERDP_PROXY_PC_REQUIRES_PRIVATE "freerdp-client${FREERDP_API_VERSION} freerdp-server${FREERDP_API_VERSION}")
set(FREERDP_PROXY_PC_LIBS_PRIVATE "-ldl -lpthread")
endif()
include(pkg-config-install-prefix)
cleaning_configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/freerdp-proxy.pc.in ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME}${FREERDP_VERSION_MAJOR}.pc

View File

@@ -9,8 +9,7 @@ Description: FreeRDP: A Remote Desktop Protocol Implementation
URL: http://www.freerdp.com/
Version: @FREERDP_VERSION@
Requires:
Requires.private: @WINPR_PKG_CONFIG_FILENAME@ freerdp@FREERDP_VERSION_MAJOR@ freerdp-server@FREERDP_VERSION_MAJOR@ freerdp-client@FREERDP_VERSION_MAJOR@
Requires.private: @FREERDP_PROXY_PC_REQUIRES_PRIVATE@
Libs: -L${libdir} ${libs}
Libs.private: -ldl -lpthread
Libs.private: @FREERDP_PROXY_PC_LIBS_PRIVATE@
Cflags: -I${includedir}

View File

@@ -161,6 +161,12 @@ endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Server/shadow")
# Do not set Requires.Private if not a static build
if(NOT BUILD_SHARED_LIBS)
set(FREERDP_SHADOW_PC_REQUIRES_PRIVATE "freerdp${FREERDP_API_VERSION}")
set(FREERDP_SHADOW_PC_LIBRARY_PRIVATE "-ldl -lpthread")
endif()
include(pkg-config-install-prefix)
cleaning_configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/freerdp-shadow.pc.in

View File

@@ -9,7 +9,7 @@ Description: FreeRDP: A Remote Desktop Protocol Implementation
URL: http://www.freerdp.com/
Version: @FREERDP_VERSION@
Requires:
Requires.private: @WINPR_PKG_CONFIG_FILENAME@ freerdp@FREERDP_API_VERSION@
Requires.private: @FREERDP_SHADOW_PC_REQUIRES_PRIVATE@
Libs: -L${libdir} ${libs}
Libs.private: -ldl -lpthread
Libs.private: @FREERDP_SHADOW_PC_LIBRARY_PRIVATE@
Cflags: -I${includedir}