Milestone 5: deliver embedded RDP sessions and lifecycle hardening

This commit is contained in:
Keith Smith
2026-03-03 18:59:26 -07:00
parent 230a401386
commit 36006bd4aa
2941 changed files with 724359 additions and 77 deletions

View File

@@ -0,0 +1,53 @@
if(NOT RDTK_FORCE_STATIC_BUILD)
include(SetFreeRDPCMakeInstallDir)
# cmake package
export(PACKAGE rdtk)
configure_package_config_file(
${CMAKE_CURRENT_SOURCE_DIR}/rdtkConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/rdtkConfig.cmake
INSTALL_DESTINATION ${RDTK_CMAKE_INSTALL_DIR} PATH_VARS RDTK_INCLUDE_DIR
)
write_basic_package_version_file(
${CMAKE_CURRENT_BINARY_DIR}/rdtkConfigVersion.cmake VERSION ${RDTK_VERSION} COMPATIBILITY SameMajorVersion
)
endif()
set(RDTK_BUILD_CONFIG_LIST "")
get_cmake_property(res VARIABLES)
foreach(var ${res})
if(var MATCHES "^WITH_*|^BUILD_TESTING*|^RDTK_HAVE_*")
list(APPEND RDTK_BUILD_CONFIG_LIST "${var}=${${var}}")
endif()
endforeach()
include(pkg-config-install-prefix)
string(REPLACE ";" " " RDTK_BUILD_CONFIG "${RDTK_BUILD_CONFIG_LIST}")
cleaning_configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/../include/rdtk/version.h)
cleaning_configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/buildflags.h.in ${CMAKE_CURRENT_BINARY_DIR}/../include/rdtk/buildflags.h
)
cleaning_configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/build-config.h.in ${CMAKE_CURRENT_BINARY_DIR}/../include/rdtk/build-config.h
)
cleaning_configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/../include/rdtk/config.h)
if(NOT RDTK_FORCE_STATIC_BUILD)
# Do not set Requires.Private if not a static build
if(NOT BUILD_SHARED_LIBS)
set(RDTK_PC_REQUIRES_PRIVATE "winpr${WINPR_VERSION_MAJOR} libssl")
set(RDTK_PC_LIBRARY_PRIVATE "")
endif()
cleaning_configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/rdtk.pc.in ${CMAKE_CURRENT_BINARY_DIR}/rdtk${RDTK_VERSION_MAJOR}.pc @ONLY
)
set(RDTK_INSTALL_INCLUDE_DIR ${RDTK_INCLUDE_DIR}/rdtk)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/rdtk${RDTK_VERSION_MAJOR}.pc DESTINATION ${PKG_CONFIG_PC_INSTALL_DIR})
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/rdtkConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/rdtkConfigVersion.cmake
DESTINATION ${RDTK_CMAKE_INSTALL_DIR}
)
endif()

View File

@@ -0,0 +1,20 @@
#ifndef RDTK_BUILD_CONFIG_H
#define RDTK_BUILD_CONFIG_H
#define RDTK_DATA_PATH "${WINPR_DATA_PATH}"
#define RDTK_KEYMAP_PATH "${WINPR_KEYMAP_PATH}"
#define RDTK_PLUGIN_PATH "${WINPR_PLUGIN_PATH}"
#define RDTK_INSTALL_PREFIX "${WINPR_INSTALL_PREFIX}"
#define RDTK_LIBRARY_PATH "${WINPR_LIBRARY_PATH}"
#define RDTK_ADDIN_PATH "${WINPR_ADDIN_PATH}"
#define RDTK_SHARED_LIBRARY_SUFFIX "${CMAKE_SHARED_LIBRARY_SUFFIX}"
#define RDTK_SHARED_LIBRARY_PREFIX "${CMAKE_SHARED_LIBRARY_PREFIX}"
#define RDTK_VENDOR_STRING "${VENDOR}"
#define RDTK_PRODUCT_STRING "${PRODUCT}"
#endif /* RDTK_BUILD_CONFIG_H */

View File

@@ -0,0 +1,11 @@
#ifndef RDTK_BUILD_FLAGS_H
#define RDTK_BUILD_FLAGS_H
#define RDTK_CFLAGS "${CMAKE_CURRENT_C_FLAGS}"
#define RDTK_COMPILER_ID "${CMAKE_C_COMPILER_ID}"
#define RDTK_COMPILER_VERSION "${CMAKE_C_COMPILER_VERSION}"
#define RDTK_TARGET_ARCH "${TARGET_ARCH}"
#define RDTK_BUILD_CONFIG "${RDTK_BUILD_CONFIG}"
#define RDTK_BUILD_TYPE "${CURRENT_BUILD_CONFIG}"
#endif /* RDTK_BUILD_FLAGS_H */

View File

@@ -0,0 +1,4 @@
#ifndef RDTK_CONFIG_H
#define RDTK_CONFIG_H
#endif /* RDTK_CONFIG_H */

View File

@@ -0,0 +1,15 @@
prefix=@PKG_CONFIG_INSTALL_PREFIX@
exec_prefix=${prefix}
libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
includedir=${prefix}/@RDTK_INCLUDE_DIR@
libs=-lrdtk@RDTK_VERSION_MAJOR@
Name: rdtk@RDTK_API_VERSION@
Description: rdtk:
URL: http://www.freerdp.com/
Version: @RDTK_VERSION@
Requires:
Requires.private: @RDTK_PC_REQUIRES_PRIVATE@
Libs: -L${libdir} ${libs}
Libs.private: @RDTK_PC_LIBRARY_PRIVATE@
Cflags: -I${includedir}

View File

@@ -0,0 +1,9 @@
@PACKAGE_INIT@
set(RDTK_VERSION_MAJOR "@RDTK_VERSION_MAJOR@")
set(RDTK_VERSION_MINOR "@RDTK_VERSION_MINOR@")
set(RDTK_VERSION_REVISION "@RDTK_VERSION_REVISION@")
set_and_check(RDTK_INCLUDE_DIR "@PACKAGE_RDTK_INCLUDE_DIR@")
include("${CMAKE_CURRENT_LIST_DIR}/rdtk.cmake")

View File

@@ -0,0 +1,32 @@
/**
* FreeRDP: A Remote Desktop Protocol Implementation
* Version includes
*
* Copyright 2021 Thincast Technologies GmbH
* Copyright 2021 Armin Novak <armin.novak@thincast.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef RDTK_VERSION_H
#define RDTK_VERSION_H
#define RDTK_VERSION_MAJOR ${RDTK_VERSION_MAJOR}
#define RDTK_VERSION_MINOR ${RDTK_VERSION_MINOR}
#define RDTK_VERSION_REVISION ${RDTK_VERSION_REVISION}
#define RDTK_VERSION_SUFFIX "${RDTK_VERSION_SUFFIX}"
#define RDTK_API_VERSION "${RDTK_API_VERSION}"
#define RDTK_VERSION "${RDTK_VERSION}"
#define RDTK_VERSION_FULL "${RDTK_VERSION_FULL}"
#define RDTK_GIT_REVISION "${GIT_REVISION}"
#endif /* RDTK_VERSION_H */