From 01c77c34c4758b0455340d3308108b3990f8566d Mon Sep 17 00:00:00 2001 From: Ahmed Yarub Hani Al Nuaimi Date: Sat, 4 Sep 2021 21:12:21 -0300 Subject: [PATCH] Update CMake scripts C++ compatibility update --- kubernetes/CMakeLists.txt | 50 ++++++++++++++++++++++++++++++++++++-- kubernetes/src/apiClient.c | 2 +- 2 files changed, 49 insertions(+), 3 deletions(-) diff --git a/kubernetes/CMakeLists.txt b/kubernetes/CMakeLists.txt index 7bcff15..23f3106 100644 --- a/kubernetes/CMakeLists.txt +++ b/kubernetes/CMakeLists.txt @@ -1552,8 +1552,54 @@ target_link_libraries(${pkgName} ${CURL_LIBRARIES} ) include(PostTarget.cmake OPTIONAL) -#install library to destination -install(TARGETS ${pkgName} DESTINATION ${CMAKE_INSTALL_PREFIX}) +if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in) + # installation of libraries, headers, and config files + include(GNUInstallDirs) + install(TARGETS ${pkgName} + EXPORT ${pkgName}Targets + ) + + foreach(HDR_FILE ${HDRS}) + get_filename_component(HDR_DIRECTORY ${HDR_FILE} DIRECTORY) + get_filename_component(ABSOLUTE_HDR_DIRECTORY ${HDR_DIRECTORY} ABSOLUTE) + file(RELATIVE_PATH RELATIVE_HDR_PATH ${CMAKE_CURRENT_SOURCE_DIR} ${ABSOLUTE_HDR_DIRECTORY}) + install(FILES ${HDR_FILE} DESTINATION include/${RELATIVE_HDR_PATH}) + endforeach() + + include(CMakePackageConfigHelpers) + write_basic_package_version_file( + "${CMAKE_CURRENT_BINARY_DIR}/${pkgName}/${pkgName}ConfigVersion.cmake" + VERSION 0.0.1 + COMPATIBILITY AnyNewerVersion + ) + + export(EXPORT ${pkgName}Targets + FILE "${CMAKE_CURRENT_BINARY_DIR}/${pkgName}/${pkgName}Targets.cmake" + NAMESPACE ${pkgName}:: + ) + + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in + "${CMAKE_CURRENT_BINARY_DIR}/${pkgName}/${pkgName}Config.cmake" + @ONLY + ) + + set(ConfigPackageLocation lib/cmake/${pkgName}) + install(EXPORT ${pkgName}Targets + FILE + ${pkgName}Targets.cmake + NAMESPACE + ${pkgName}:: + DESTINATION + ${ConfigPackageLocation} + ) + install( + FILES + "${CMAKE_CURRENT_BINARY_DIR}/${pkgName}/${pkgName}Config.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/${pkgName}/${pkgName}ConfigVersion.cmake" + DESTINATION + ${ConfigPackageLocation} + ) +endif() # Setting file variables to null set(SRCS "") diff --git a/kubernetes/src/apiClient.c b/kubernetes/src/apiClient.c index 288d406..1b989e8 100644 --- a/kubernetes/src/apiClient.c +++ b/kubernetes/src/apiClient.c @@ -464,7 +464,7 @@ size_t writeDataCallback(void *buffer, size_t size, size_t nmemb, void *userp) { size_t size_this_time = nmemb * size; apiClient_t *apiClient = (apiClient_t *)userp; apiClient->dataReceived = (char *)realloc( apiClient->dataReceived, apiClient->dataReceivedLen + size_this_time + 1); - memcpy(apiClient->dataReceived + apiClient->dataReceivedLen, buffer, size_this_time); + memcpy((char *)apiClient->dataReceived + apiClient->dataReceivedLen, buffer, size_this_time); apiClient->dataReceivedLen += size_this_time; ((char*)apiClient->dataReceived)[apiClient->dataReceivedLen] = '\0'; // the space size of (apiClient->dataReceived) = dataReceivedLen + 1 if (apiClient->data_callback_func) {