Commit 8a645a7a authored by Jerome Royan's avatar Jerome Royan
Browse files

update to build and run with last openAPI commit

parent aa1c965d
Loading
Loading
Loading
Loading
+32 −175
Original line number Diff line number Diff line
@@ -14,97 +14,36 @@ option(BUILD_SHARED_LIBS "Build using shared libraries" OFF)
find_package(OpenSSL)
find_package(CURL REQUIRED)

#if (OPENSSL_FOUND)
#    message (STATUS "OPENSSL found")

#    set(CMAKE_C_FLAGS "-DOPENSSL")
#    if(CMAKE_VERSION VERSION_LESS 3.4)
#        include_directories(${OPENSSL_INCLUDE_DIR})
#        include_directories(${OPENSSL_INCLUDE_DIRS})
#        link_directories(${OPENSSL_LIBRARIES})
#    endif()

#    message(STATUS "Using OpenSSL ${OPENSSL_VERSION}")
#else()
#    message (STATUS "OpenSSL Not found.")
#endif()

set(pkgName "worldStorageCClient")

# this default version can be overridden in PreTarget.cmake
set(PROJECT_VERSION_MAJOR 2)
set(PROJECT_VERSION_MINOR 1)
set(PROJECT_VERSION_MINOR 0)
set(PROJECT_VERSION_PATCH 0)

#if( (DEFINED CURL_INCLUDE_DIR) AND (DEFINED CURL_LIBRARIES))
#    include_directories(${CURL_INCLUDE_DIR})
#    set(PLATFORM_LIBRARIES ${PLATFORM_LIBRARIES} ${CURL_LIBRARIES} )
#else()
#    find_package(CURL 7.58.0 REQUIRED)
#    if(CURL_FOUND)
#        include_directories(${CURL_INCLUDE_DIR})
#        set(PLATFORM_LIBRARIES ${PLATFORM_LIBRARIES} ${CURL_LIBRARIES} )
#    else(CURL_FOUND)
#        message(FATAL_ERROR "Could not find the CURL library and development files.")
#    endif()
#endif()

set(SRCS
    src/list.c
    src/apiKey.c
    src/apiClient.c
    src/binary.c
    external/cJSON.c
    model/object.c
    model/capability.c
    model/encoding_information_structure.c
    model/error.c
    model/get_relocalization_information_200_response.c
    model/get_relocalization_information_uuids_parameter_inner.c
    model/mode_world_storage.c
    model/relocalization_information.c
    model/relocalization_information_reloc_objects_inner.c
    model/trackable.c
    model/trackable_type.c
    model/type_world_storage.c
    model/unit_system.c
    model/world_anchor.c
    model/world_link.c
    api/DefaultAPI.c
    api/RelocalizationInformationAPI.c
    api/TrackablesAPI.c
    api/WorldAnchorsAPI.c
    api/WorldLinksAPI.c
set(GENERATED_SOURCES_INCLUDE_DIRS
    ${CMAKE_CURRENT_LIST_DIR}/include
    ${CMAKE_CURRENT_LIST_DIR}/external
    ${CMAKE_CURRENT_LIST_DIR}/model
    ${CMAKE_CURRENT_LIST_DIR}/api
)

file(GLOB SRCS
    ${CMAKE_CURRENT_SOURCE_DIR}/src/*.c
    ${CMAKE_CURRENT_SOURCE_DIR}/external/*.c
    ${CMAKE_CURRENT_SOURCE_DIR}/model/*.c
    ${CMAKE_CURRENT_SOURCE_DIR}/api/*.c
)

set(HDRS
    include/apiClient.h
    include/list.h
    include/binary.h
    include/keyValuePair.h
    external/cJSON.h
    model/object.h
    model/capability.h
    model/encoding_information_structure.h
    model/error.h
    model/get_relocalization_information_200_response.h
    model/get_relocalization_information_uuids_parameter_inner.h
    model/mode_world_storage.h
    model/relocalization_information.h
    model/relocalization_information_reloc_objects_inner.h
    model/trackable.h
    model/trackable_type.h
    model/type_world_storage.h
    model/unit_system.h
    model/world_anchor.h
    model/world_link.h
    api/DefaultAPI.h
    api/RelocalizationInformationAPI.h
    api/TrackablesAPI.h
    api/WorldAnchorsAPI.h
    api/WorldLinksAPI.h
file(GLOB HDRS
    ${CMAKE_CURRENT_SOURCE_DIR}/include/*.h
    ${CMAKE_CURRENT_SOURCE_DIR}/external/*.h
    ${CMAKE_CURRENT_SOURCE_DIR}/model/*.h
    ${CMAKE_CURRENT_SOURCE_DIR}/api/*.h
)

include_directories(
    ${GENERATED_SOURCES_INCLUDE_DIRS}
)

include(PreTarget.cmake OPTIONAL)
@@ -112,12 +51,17 @@ include(PreTarget.cmake OPTIONAL)
set(PROJECT_VERSION_STRING "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")

# Add library with project file with project name as library name
add_library(${pkgName} STATIC ${SRCS} ${HDRS})
# Link dependent libraries
#if(NOT CMAKE_VERSION VERSION_LESS 3.4)
#    target_link_libraries(${pkgName} PRIVATE OpenSSL::SSL OpenSSL::Crypto)
#endif()
#target_link_libraries(${pkgName} PUBLIC ${CURL_LIBRARIES} )
add_library(${pkgName} STATIC)

target_sources(${pkgName}
    PRIVATE
        ${SRCS})

target_include_directories(${pkgName}
    PUBLIC
        ${GENERATED_SOURCES_INCLUDE_DIRS}
)

target_link_libraries(${pkgName}
    PUBLIC
    openssl::openssl
@@ -125,98 +69,11 @@ target_link_libraries(${pkgName}
    -lpthread
    )

target_include_directories(
    ${pkgName} PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
    $<INSTALL_INTERFACE:include>
)

#include(PostTarget.cmake OPTIONAL)

# installation of libraries, headers, and config files
#if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in)
#    install(TARGETS ${pkgName} DESTINATION lib)
#    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/${pkgName}/${RELATIVE_HDR_PATH})
#    endforeach()
#else()
#    include(GNUInstallDirs)
#    install(TARGETS ${pkgName} DESTINATION lib EXPORT ${pkgName}Targets)
    install(TARGETS ${pkgName} DESTINATION lib)
#    install(FILES  ${HDRS} DESTINATION include/${pkgName})
    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/${pkgName}/${RELATIVE_HDR_PATH})
    endforeach()

#    include(CMakePackageConfigHelpers)
#    write_basic_package_version_file(
#            "${CMAKE_CURRENT_BINARY_DIR}/${pkgName}/${pkgName}ConfigVersion.cmake"
#            VERSION "${PROJECT_VERSION_STRING}"
#            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()

# make installation packages
#include(Packing.cmake OPTIONAL)

# Setting file variables to null
#set(SRCS "")
#set(HDRS "")


## This section shows how to use the above compiled library to compile the source files
## set source files
#set(SRCS
#    unit-tests/manual-DefaultAPI.c
#    unit-tests/manual-RelocalizationInformationAPI.c
#    unit-tests/manual-TrackablesAPI.c
#    unit-tests/manual-WorldAnchorsAPI.c
#    unit-tests/manual-WorldLinksAPI.c
#)

##set header files
#set(HDRS
#)

## loop over all files in SRCS variable
#foreach(SOURCE_FILE ${SRCS})
#    # Get only the file name from the file as add_executable does not support executable with slash("/")
#    get_filename_component(FILE_NAME_ONLY ${SOURCE_FILE} NAME_WE)
#    # Remove .c from the file name and set it as executable name
#    string( REPLACE ".c" "" EXECUTABLE_FILE ${FILE_NAME_ONLY})
#    # Add executable for every source file in  SRCS
#    add_executable(unit-${EXECUTABLE_FILE} ${SOURCE_FILE})
#    # Link above created library to executable and dependent library curl
#    target_link_libraries(unit-${EXECUTABLE_FILE} ${CURL_LIBRARIES} ${pkgName} )
#endforeach(SOURCE_FILE ${SRCS})
+18 −9
Original line number Diff line number Diff line
#!/bin/bash
#patch -u ../model/encoding_information_structure.c -i fixCEncodingInformationStructure.patch
#patch -u ../model/error.c -i fixCError.patch
#patch -u ../model/trackable.c -i fixCTrackable.patch
patch -u ../api/TrackablesAPI.c -i fixCTrackableAPI.patch
#patch -u ../model/trackable_type.c -i fixCTrackableType.patch
patch -u ../api/WorldAnchorsAPI.c -i fixCWorldAnchorAPI.patch
patch -u ../model/world_link.c -i fixCWorldLink.patch
patch -u ../api/WorldLinksAPI.c -i fixCWorldLinksAPI.patch
#patch -u ../model/error.h -i fixHeaderError.patch
patch -u ../api/WorldAnchorsAPI.c -i fixCWorldAnchorsAPI.patch
patch -u ../api/RelocalizationInformationAPI.c -i fixCRelocalizationInformationAPI.patch

patch -u ../model/trackable.h -i fixHeaderTrackable.patch
#patch -u ../model/trackable_type.h -i fixHeaderTrackableType.patch
#patch -u ../model/unit_system.h -i fixHeaderUnitSystem.patch
patch -u ../model/trackable.c -i fixCTrackable.patch
patch -u ../model/world_link.h -i fixHeaderWorldLink.patch
patch -u ../model/world_link.c -i fixCWorldLink.patch
patch -u ../model/world_anchor.c -i fixCWorldAnchor.patch
patch -u ../model/relocalization_information.c -i fixCRelocalizationInformation.patch
patch -u ../model/trackable_type.h -i fixHeaderTrackableType.patch
patch -u ../model/trackable_type.c -i fixCTrackableType.patch
patch -u ../model/unit_system.h -i fixHeaderUnitSystem.patch
patch -u ../model/unit_system.c -i fixCUnitSystem.patch
patch -u ../model/type_world_storage.h -i fixHeaderTypeWorldStorage.patch
patch -u ../model/type_world_storage.c -i fixCTypeWorldStorage.patch
patch -u ../model/encoding_information_structure.c -i fixCEncodingInformationStructure.patch







+2 −0
Original line number Diff line number Diff line
#!/bin/bash
cp ../arf005/API/common/commonopenapi.yaml ../arf005/API/common/commonopenapiOriginal.yaml && patch -u ../arf005/API/common/commonopenapi.yaml -i patches/fixCommonOpenAPI.patch
 No newline at end of file
+2 −2
Original line number Diff line number Diff line
--- encoding_information_structure_origin.c	2024-05-28 14:41:34.817357145 +0200
+++ encoding_information_structure.c	2024-05-22 18:34:03.566752000 +0200
--- encoding_information_structure.c	2024-09-24 10:49:45.759574129 +0200
+++ encoding_information_structure_corrected.c	2024-09-24 10:33:23.787521014 +0200
@@ -56,7 +56,7 @@
     if (world_storage_api_encoding_information_structure_DATAFORMAT_NULL == encoding_information_structure->data_format) {
         goto fail;
+0 −46
Original line number Diff line number Diff line
--- error_origin.c	2024-05-28 14:41:34.827357147 +0200
+++ error.c	2024-05-21 17:10:43.422284000 +0200
@@ -5,11 +5,11 @@
 
 
 
-error_t *error_create(
+error__t *error_create(
     int code,
     char *message
     ) {
-    error_t *error_local_var = malloc(sizeof(error_t));
+    error__t *error_local_var = malloc(sizeof(error__t));
     if (!error_local_var) {
         return NULL;
     }
@@ -20,7 +20,7 @@
 }
 
 
-void error_free(error_t *error) {
+void error_free(error__t *error) {
     if(NULL == error){
         return ;
     }
@@ -32,7 +32,7 @@
     free(error);
 }
 
-cJSON *error_convertToJSON(error_t *error) {
+cJSON *error_convertToJSON(error__t *error) {
     cJSON *item = cJSON_CreateObject();
 
     // error->code
@@ -60,9 +60,9 @@
     return NULL;
 }
 
-error_t *error_parseFromJSON(cJSON *errorJSON){
+error__t *error_parseFromJSON(cJSON *errorJSON){
 
-    error_t *error_local_var = NULL;
+    error__t *error_local_var = NULL;
 
     // error->code
     cJSON *code = cJSON_GetObjectItemCaseSensitive(errorJSON, "code");
Loading