Skip to content
Snippets Groups Projects
Commit 64a41b25 authored by Joscha Schmiedt's avatar Joscha Schmiedt
Browse files

Merge branch 'f-94-rename-cpplib' into 'dev'

Rename caosdb-cpplib to linkahead-cpplib

See merge request !55
parents a30b9b1a 5b5f9982
No related branches found
No related tags found
2 merge requests!61Release 0.3.0,!55Rename caosdb-cpplib to linkahead-cpplib
Pipeline #55071 passed with warnings
Pipeline: caosdb-cppinttest

#55076

    # General
    build/
    include/libcaosdbConfig.h
    include/liblinkaheadConfig.h
    .*
    # CMake
    ......
    ......@@ -187,49 +187,49 @@ trigger_inttest:
    branch: $CPPINT_REF
    strategy: depend
    # After the cppinttest have been successful, also start tests for Octave...
    trigger_octavelib:
    stage: deploy
    needs: [ trigger_prepare, trigger_inttest ]
    inherit:
    variables:
    # List the variables that shall be inherited, which also means they will override any equally
    # named varibles in child pipelines.
    - TRIGGERED_BY_REPO
    - TRIGGERED_BY_REF
    - TRIGGERED_BY_HASH
    - CPPLIB_REGISTRY_IMAGE
    variables:
    # dotenv variables must be set again here.
    F_BRANCH: $F_BRANCH
    trigger:
    project: caosdb/src/caosdb-octavelib
    branch: $OCTAVELIB_REF
    # It's ok if octave fails in case of features that might already be
    # implemented in proto, server, and cpplib, but not yet in Octave.
    allow_failure: true
    # # After the cppinttest have been successful, also start tests for Octave...
    # trigger_octavelib:
    # stage: deploy
    # needs: [ trigger_prepare, trigger_inttest ]
    # inherit:
    # variables:
    # # List the variables that shall be inherited, which also means they will override any equally
    # # named varibles in child pipelines.
    # - TRIGGERED_BY_REPO
    # - TRIGGERED_BY_REF
    # - TRIGGERED_BY_HASH
    # - CPPLIB_REGISTRY_IMAGE
    # variables:
    # # dotenv variables must be set again here.
    # F_BRANCH: $F_BRANCH
    # trigger:
    # project: caosdb/src/caosdb-octavelib
    # branch: $OCTAVELIB_REF
    # # It's ok if octave fails in case of features that might already be
    # # implemented in proto, server, and cpplib, but not yet in Octave.
    # allow_failure: true
    # ... and for Julia.
    trigger_julialib:
    stage: deploy
    needs: [ trigger_prepare, trigger_inttest ]
    inherit:
    variables:
    # List the variables that shall be inherited, which also means they will override any equally
    # named varibles in child pipelines.
    - TRIGGERED_BY_REPO
    - TRIGGERED_BY_REF
    - TRIGGERED_BY_HASH
    - CPPLIB_REGISTRY_IMAGE
    variables:
    # dotenv variables must be set again here.
    F_BRANCH: $F_BRANCH
    trigger:
    project: caosdb/src/caosdb-julialib
    branch: $JULIALIB_REF
    # It's ok if julia fails in case of features that might already be
    # implemented in proto, server, and cpplib, but not yet in Julia.
    allow_failure: true
    # # ... and for Julia.
    # trigger_julialib:
    # stage: deploy
    # needs: [ trigger_prepare, trigger_inttest ]
    # inherit:
    # variables:
    # # List the variables that shall be inherited, which also means they will override any equally
    # # named varibles in child pipelines.
    # - TRIGGERED_BY_REPO
    # - TRIGGERED_BY_REF
    # - TRIGGERED_BY_HASH
    # - CPPLIB_REGISTRY_IMAGE
    # variables:
    # # dotenv variables must be set again here.
    # F_BRANCH: $F_BRANCH
    # trigger:
    # project: caosdb/src/caosdb-julialib
    # branch: $JULIALIB_REF
    # # It's ok if julia fails in case of features that might already be
    # # implemented in proto, server, and cpplib, but not yet in Julia.
    # allow_failure: true
    # Build the sphinx documentation and make it ready for deployment by Gitlab Pages
    # Special job for serving a static website. See https://docs.gitlab.com/ee/ci/yaml/README.html#pages
    ......
    #
    # This file is a part of the CaosDB Project.
    # This file is a part of the LinkAhead Project.
    #
    # Copyright (C) 2021 Timm Fitschen <t.fitschen@indiscale.com>
    # Copyright (C) 2021 Joscha Schmiedt <joscha@schmiedt.dev>
    # Copyright (C) 2024 Joscha Schmiedt <joscha@schmiedt.dev>
    # Copyright (C) 2021-2024 IndiScale GmbH <info@indiscale.com>
    #
    #
    ......@@ -22,15 +22,15 @@
    cmake_minimum_required(VERSION 3.13)
    set(libcaosdb_VERSION 0.3.0)
    set(libcaosdb_COMPATIBLE_SERVER_VERSION_MAJOR 0)
    set(libcaosdb_COMPATIBLE_SERVER_VERSION_MINOR 9)
    set(libcaosdb_COMPATIBLE_SERVER_VERSION_PATCH 0)
    set(libcaosdb_COMPATIBLE_SERVER_VERSION_PRE_RELEASE "")
    set(liblinkahead_VERSION 0.3.0)
    set(liblinkahead_COMPATIBLE_SERVER_VERSION_MAJOR 0)
    set(liblinkahead_COMPATIBLE_SERVER_VERSION_MINOR 9)
    set(liblinkahead_COMPATIBLE_SERVER_VERSION_PATCH 0)
    set(liblinkahead_COMPATIBLE_SERVER_VERSION_PRE_RELEASE "")
    project(libcaosdb
    VERSION ${libcaosdb_VERSION}
    DESCRIPTION "C and C++ client libraries for CaosDB"
    project(liblinkahead
    VERSION ${liblinkahead_VERSION}
    DESCRIPTION "C and C++ client libraries for LinkAhead"
    LANGUAGES CXX C)
    set(CMAKE_C_STANDARD 11)
    ......@@ -141,10 +141,10 @@ message(DEBUG "GRPC_GENERATED: ${GRPC_GENERATED}")
    ###############################################################################
    ### Set up main targets
    ### * caosdb - The main library including the protobuf and grpc generated files.
    ### * cxxcaosdbcli - A C++ test client.
    ### * ccaosdb - A C-Wrapper of the C++ caosdb library.
    ### * ccaosdbcli - A plain C test client.
    ### * linkahead - The main library including the protobuf and grpc generated files.
    ### * cxxlinkaheadcli - A C++ test client.
    ### * clinkahead - A C-Wrapper of the C++ linkahead library.
    ### * clinkaheadcli - A plain C test client.
    ###############################################################################
    find_package(gRPC CONFIG REQUIRED)
    ......@@ -162,64 +162,64 @@ message(DEBUG "gRPC_INCLUDE_DIRS: ${gRPC_INCLUDE_DIRS}")
    message(DEBUG "Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")
    message(DEBUG "GTest_INCLUDE_DIRS: ${GTest_INCLUDE_DIRS}")
    message(DEBUG "CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")
    message(DEBUG "libcaosdb_SOURCE_DIR: ${libcaosdb_SOURCE_DIR}")
    message(DEBUG "libcaosdb_BINARY_DIR: ${libcaosdb_BINARY_DIR}")
    message(DEBUG "liblinkahead_SOURCE_DIR: ${liblinkahead_SOURCE_DIR}")
    message(DEBUG "liblinkahead_BINARY_DIR: ${liblinkahead_BINARY_DIR}")
    # libcaosdb
    # liblinkahead
    # ---------
    add_library(caosdb SHARED
    ${libcaosdb_INCL} ${libcaosdb_SRC} ${GRPC_GENERATED})
    target_link_libraries(caosdb PUBLIC
    add_library(linkahead SHARED
    ${liblinkahead_INCL} ${liblinkahead_SRC} ${GRPC_GENERATED})
    target_link_libraries(linkahead PUBLIC
    gRPC::grpc gRPC::grpc++ protobuf::libprotobuf ${Boost_LIBRARIES}
    )
    set(LIBCAOSDB caosdb)
    set(liblinkahead linkahead)
    target_include_directories(caosdb PUBLIC
    $<BUILD_INTERFACE:${libcaosdb_SOURCE_DIR}/include>
    $<BUILD_INTERFACE:${libcaosdb_BINARY_DIR}/include>
    $<BUILD_INTERFACE:${libcaosdb_SOURCE_DIR}/src>
    target_include_directories(linkahead PUBLIC
    $<BUILD_INTERFACE:${liblinkahead_SOURCE_DIR}/include>
    $<BUILD_INTERFACE:${liblinkahead_BINARY_DIR}/include>
    $<BUILD_INTERFACE:${liblinkahead_SOURCE_DIR}/src>
    $<INSTALL_INTERFACE:include>
    )
    # libccaosdb
    # libclinkahead
    # ----------
    add_library(ccaosdb SHARED src/ccaosdb.cpp ${GRPC_GENERATED})
    target_link_libraries(ccaosdb PUBLIC
    caosdb
    add_library(clinkahead SHARED src/clinkahead.cpp ${GRPC_GENERATED})
    target_link_libraries(clinkahead PUBLIC
    linkahead
    gRPC::grpc gRPC::grpc++ protobuf::libprotobuf ${Boost_LIBRARIES}
    )
    target_include_directories(ccaosdb PUBLIC
    $<BUILD_INTERFACE:${libcaosdb_SOURCE_DIR}/include>
    $<BUILD_INTERFACE:${libcaosdb_BINARY_DIR}/include>
    target_include_directories(clinkahead PUBLIC
    $<BUILD_INTERFACE:${liblinkahead_SOURCE_DIR}/include>
    $<BUILD_INTERFACE:${liblinkahead_BINARY_DIR}/include>
    $<INSTALL_INTERFACE:include>
    )
    # ccaosdbcli
    # clinkaheadcli
    # ----------
    add_executable(ccaosdbcli EXCLUDE_FROM_ALL src/ccaosdbcli.c)
    target_include_directories(ccaosdbcli PUBLIC
    $<BUILD_INTERFACE:${libcaosdb_SOURCE_DIR}/include>
    $<BUILD_INTERFACE:${libcaosdb_BINARY_DIR}/include>
    add_executable(clinkaheadcli EXCLUDE_FROM_ALL src/clinkaheadcli.c)
    target_include_directories(clinkaheadcli PUBLIC
    $<BUILD_INTERFACE:${liblinkahead_SOURCE_DIR}/include>
    $<BUILD_INTERFACE:${liblinkahead_BINARY_DIR}/include>
    $<INSTALL_INTERFACE:include>
    )
    target_link_libraries(ccaosdbcli PRIVATE
    target_link_libraries(clinkaheadcli PRIVATE
    gRPC::grpc protobuf::libprotobuf ${Boost_LIBRARIES}
    ccaosdb
    clinkahead
    )
    # cxxcaosdbcli
    # cxxlinkaheadcli
    # ------------
    add_executable(cxxcaosdbcli EXCLUDE_FROM_ALL src/cxxcaosdbcli.cpp)
    target_include_directories(cxxcaosdbcli PUBLIC
    $<BUILD_INTERFACE:${libcaosdb_SOURCE_DIR}/include>
    $<BUILD_INTERFACE:${libcaosdb_BINARY_DIR}/include>
    add_executable(cxxlinkaheadcli EXCLUDE_FROM_ALL src/cxxlinkaheadcli.cpp)
    target_include_directories(cxxlinkaheadcli PUBLIC
    $<BUILD_INTERFACE:${liblinkahead_SOURCE_DIR}/include>
    $<BUILD_INTERFACE:${liblinkahead_BINARY_DIR}/include>
    $<INSTALL_INTERFACE:include>
    )
    target_link_libraries(cxxcaosdbcli PRIVATE
    caosdb gRPC::grpc++ protobuf::libprotobuf ${Boost_LIBRARIES}
    target_link_libraries(cxxlinkaheadcli PRIVATE
    linkahead gRPC::grpc++ protobuf::libprotobuf ${Boost_LIBRARIES}
    )
    ......@@ -273,19 +273,19 @@ if(_LINTING)
    # add_compiler_flag("-Werror") # removed until issue #71 is resolved
    message(STATUS "PEDANTIC_CMAKE_CXX_FLAGS: [${PEDANTIC_CMAKE_CXX_FLAGS}]")
    set(TARGET_CAOSDB_COMPILE_FLAGS "${TARGET_CAOSDB_COMPILE_FLAGS} ${PEDANTIC_CMAKE_CXX_FLAGS}")
    set(TARGET_CCAOSDB_COMPILE_FLAGS "${TARGET_CCAOSDB_COMPILE_FLAGS} ${PEDANTIC_CMAKE_C_FLAGS}")
    set(TARGET_CXXCAOSDBCLI_COMPILE_FLAGS "${TARGET_CXXCAOSDBCLI_COMPILE_FLAGS} ${PEDANTIC_CMAKE_CXX_FLAGS}")
    set(TARGET_CCAOSDBCLI_COMPILE_FLAGS "${TARGET_CCAOSDBCLI_COMPILE_FLAGS} ${PEDANTIC_CMAKE_C_FLAGS}")
    set_target_properties(caosdb PROPERTIES
    COMPILE_FLAGS "${TARGET_CAOSDB_COMPILE_FLAGS}")
    set_target_properties(ccaosdb PROPERTIES
    COMPILE_FLAGS "${TARGET_CCAOSDB_COMPILE_FLAGS}")
    set_target_properties(cxxcaosdbcli PROPERTIES
    COMPILE_FLAGS "${TARGET_CXXCAOSDBCLI_COMPILE_FLAGS}")
    set_target_properties(ccaosdbcli PROPERTIES
    COMPILE_FLAGS "${TARGET_CCAOSDBCLI_COMPILE_FLAGS}")
    set(TARGET_LINKAHEAD_COMPILE_FLAGS "${TARGET_LINKAHEAD_COMPILE_FLAGS} ${PEDANTIC_CMAKE_CXX_FLAGS}")
    set(TARGET_CLINKAHEAD_COMPILE_FLAGS "${TARGET_CLINKAHEAD_COMPILE_FLAGS} ${PEDANTIC_CMAKE_C_FLAGS}")
    set(TARGET_CXXLINKAHEADCLI_COMPILE_FLAGS "${TARGET_CXXLINKAHEADCLI_COMPILE_FLAGS} ${PEDANTIC_CMAKE_CXX_FLAGS}")
    set(TARGET_CLINKAHEADCLI_COMPILE_FLAGS "${TARGET_CLINKAHEADCLI_COMPILE_FLAGS} ${PEDANTIC_CMAKE_C_FLAGS}")
    set_target_properties(linkahead PROPERTIES
    COMPILE_FLAGS "${TARGET_LINKAHEAD_COMPILE_FLAGS}")
    set_target_properties(clinkahead PROPERTIES
    COMPILE_FLAGS "${TARGET_CLINKAHEAD_COMPILE_FLAGS}")
    set_target_properties(cxxlinkaheadcli PROPERTIES
    COMPILE_FLAGS "${TARGET_CXXLINKAHEADCLI_COMPILE_FLAGS}")
    set_target_properties(clinkaheadcli PROPERTIES
    COMPILE_FLAGS "${TARGET_CLINKAHEADCLI_COMPILE_FLAGS}")
    find_program(iwyu
    NAMES include-what-you-use iwyu
    ......@@ -297,13 +297,13 @@ if(_LINTING)
    set(_CMAKE_CXX_INCLUDE_WHAT_YOU_USE ${iwyu}
    "-Xiwyu" "--cxx17ns" "-Xiwyu" "--no_fwd_decls")
    set_target_properties(caosdb PROPERTIES
    set_target_properties(linkahead PROPERTIES
    CXX_INCLUDE_WHAT_YOU_USE "${_CMAKE_CXX_INCLUDE_WHAT_YOU_USE}"
    )
    set_target_properties(cxxcaosdbcli PROPERTIES
    set_target_properties(cxxlinkaheadcli PROPERTIES
    CXX_INCLUDE_WHAT_YOU_USE "${_CMAKE_CXX_INCLUDE_WHAT_YOU_USE}"
    )
    set_target_properties(ccaosdbcli PROPERTIES
    set_target_properties(clinkaheadcli PROPERTIES
    C_INCLUDE_WHAT_YOU_USE "${_CMAKE_CXX_INCLUDE_WHAT_YOU_USE}"
    )
    endif()
    ......@@ -326,16 +326,16 @@ if(_LINTING)
    endif()
    message(STATUS "Using clang-tidy with
    '${_CMAKE_CXX_CLANG_TIDY};${_CMAKE_CXX_CLANG_TIDY_CHECKS}'")
    set_target_properties(caosdb PROPERTIES
    set_target_properties(linkahead PROPERTIES
    CXX_CLANG_TIDY "${_CMAKE_CXX_CLANG_TIDY};${_CMAKE_CXX_CLANG_TIDY_CHECKS}"
    )
    set_target_properties(cxxcaosdbcli PROPERTIES
    set_target_properties(cxxlinkaheadcli PROPERTIES
    CXX_CLANG_TIDY "${_CMAKE_CXX_CLANG_TIDY};${_CMAKE_CXX_CLANG_TIDY_CHECKS}"
    )
    set_target_properties(ccaosdb PROPERTIES
    set_target_properties(clinkahead PROPERTIES
    C_CLANG_TIDY "${_CMAKE_C_CLANG_TIDY};${_CMAKE_C_CLANG_TIDY_CHECKS}"
    )
    set_target_properties(ccaosdbcli PROPERTIES
    set_target_properties(clinkaheadcli PROPERTIES
    C_CLANG_TIDY "${_CMAKE_C_CLANG_TIDY};${_CMAKE_C_CLANG_TIDY_CHECKS}"
    )
    endif()
    ......@@ -355,38 +355,38 @@ endif()
    # ############ INSTALLATION #####################
    # ###############################################
    set(libcaosdb_INCLUDE_DEST "include/caosdb")
    set(libcaosdb_LIB_DEST "lib")
    set(liblinkahead_INCLUDE_DEST "include/linkahead")
    set(liblinkahead_LIB_DEST "lib")
    set(CMAKE_INSTALL_PREFIX "$ENV{HOME}/.local/")
    install(
    # targets to install
    TARGETS ${LIBCAOSDB} ccaosdb
    TARGETS ${liblinkahead} clinkahead
    # name of the CMake "export group" containing the targets we want to install
    EXPORT caosdbTargets
    EXPORT linkaheadTargets
    # Dynamic, static library and include destination locations after running
    # "make install"
    LIBRARY DESTINATION ${libcaosdb_LIB_DEST}
    ARCHIVE DESTINATION ${libcaosdb_LIB_DEST}
    INCLUDES DESTINATION ${libcaosdb_INCLUDE_DEST}
    LIBRARY DESTINATION ${liblinkahead_LIB_DEST}
    ARCHIVE DESTINATION ${liblinkahead_LIB_DEST}
    INCLUDES DESTINATION ${liblinkahead_INCLUDE_DEST}
    )
    set(libcaosdb_CMAKE_DEST "${libcaosdb_LIB_DEST}/cmake/caosdb")
    set(liblinkahead_CMAKE_DEST "${liblinkahead_LIB_DEST}/cmake/linkahead")
    install(
    # The export we want to save (matches name defined above containing the
    # install targets)
    EXPORT caosdbTargets
    EXPORT linkaheadTargets
    # CMake file in which to store the export's information
    FILE caosdbTargets.cmake
    FILE linkaheadTargets.cmake
    # Namespace prepends all targets in the export (when we import later, we
    # will use caosdb::caosdb)
    NAMESPACE caosdb::
    # will use linkahead::linkahead)
    NAMESPACE linkahead::
    # where to place the resulting file (here, we're putting it with the library)
    DESTINATION ${libcaosdb_CMAKE_DEST}
    DESTINATION ${liblinkahead_CMAKE_DEST}
    )
    install(FILES ${libcaosdb_INCL} ${PROJECT_SOURCE_DIR}/include/ccaosdb.h DESTINATION ${libcaosdb_INCLUDE_DEST})
    install(FILES ${liblinkahead_INCL} ${PROJECT_SOURCE_DIR}/include/clinkahead.h DESTINATION ${liblinkahead_INCLUDE_DEST})
    foreach(i RANGE "${len_proto_files}")
    list(GET PROTO_FILES ${i} next_proto_file)
    ......@@ -406,21 +406,21 @@ foreach(i RANGE "${len_proto_files}")
    set(next_grpc_hdr
    "${CMAKE_CURRENT_BINARY_DIR}/include/caosdb/${next_proto_module}/main.grpc.pb.h")
    install(FILES ${next_proto_hdr} ${next_grpc_hdr} DESTINATION
    ${libcaosdb_INCLUDE_DEST}/${next_proto_module})
    ${liblinkahead_INCLUDE_DEST}/${next_proto_module})
    endforeach()
    install(FILES ${PROJECT_SOURCE_DIR}/caosdbConfig.cmake
    DESTINATION ${libcaosdb_CMAKE_DEST})
    install(FILES ${PROJECT_SOURCE_DIR}/linkaheadConfig.cmake
    DESTINATION ${liblinkahead_CMAKE_DEST})
    #set_property(TARGET caosdb PROPERTY VERSION ${libcaosdb_VERSION})
    #set_property(TARGET caosdb PROPERTY VERSION ${liblinkahead_VERSION})
    include(CMakePackageConfigHelpers)
    write_basic_package_version_file(
    "${PROJECT_SOURCE_DIR}/caosdbConfigVersion.cmake"
    VERSION ${libcaosdb_VERSION}
    "${PROJECT_SOURCE_DIR}/linkaheadConfigVersion.cmake"
    VERSION ${liblinkahead_VERSION}
    COMPATIBILITY AnyNewerVersion
    )
    install(FILES ${PROJECT_SOURCE_DIR}/caosdbConfigVersion.cmake
    DESTINATION ${libcaosdb_CMAKE_DEST})
    install(FILES ${PROJECT_SOURCE_DIR}/linkaheadConfigVersion.cmake
    DESTINATION ${liblinkahead_CMAKE_DEST})
    #######################################################
    ### code formatting with clang-format
    ......@@ -429,12 +429,12 @@ option(AUTOFORMATTING "call clang-format at configure time" ON)
    if(AUTOFORMATTING AND NOT SKIP_LINTING)
    find_program(clang_format NAMES clang-format-11 clang-format)
    file(GLOB format_test_sources test/*.cpp test/*.h test/*.h.in)
    execute_process(COMMAND ${clang_format} -i --verbose ${libcaosdb_INCL}
    ${libcaosdb_SRC} ${libcaosdb_TEST_SRC}
    ${PROJECT_SOURCE_DIR}/src/cxxcaosdbcli.cpp
    ${PROJECT_SOURCE_DIR}/src/ccaosdbcli.c
    ${PROJECT_SOURCE_DIR}/src/ccaosdb.cpp
    ${PROJECT_SOURCE_DIR}/include/ccaosdb.h
    execute_process(COMMAND ${clang_format} -i --verbose ${liblinkahead_INCL}
    ${liblinkahead_SRC} ${liblinkahead_TEST_SRC}
    ${PROJECT_SOURCE_DIR}/src/cxxlinkaheadcli.cpp
    ${PROJECT_SOURCE_DIR}/src/clinkaheadcli.c
    ${PROJECT_SOURCE_DIR}/src/clinkahead.cpp
    ${PROJECT_SOURCE_DIR}/include/clinkahead.h
    ${format_test_sources}
    WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
    endif()
    # ** header v3.0
    # This file is a part of the CaosDB Project.
    # This file is a part of the LinkAhead Project.
    #
    # Copyright (C) 2021 IndiScale GmbH <info@indiscale.com>
    # Copyright (C) 2021 Daniel Hornung <d.hornung@indiscale.com>
    ......@@ -68,11 +68,11 @@ conan-install-debug:
    .PHONY: conan-install-debug
    conan-create:
    conan create -s $(CONAN_SETTINGS) -o caosdb/*:build_acm=True .
    conan create -s $(CONAN_SETTINGS) -o linkahead/*:build_acm=True .
    .PHONY: conan-create
    conan-create-debug:
    conan create -s $(CONAN_SETTINGS) -s build_type=Debug -o caosdb/*:build_acm=True .
    conan create -s $(CONAN_SETTINGS) -s build_type=Debug -o linkahead/*:build_acm=True .
    .PHONY: conan-create-debug
    ......
    # libcaosdb
    # liblinkahead
    ## Welcome
    This is the development repository of **caosdb-cpplib** - a C++ client library
    for CaosDB and a part of the CaosDB project.
    This is the development repository of **linkahead-cpplib** - a C++ client library
    for LinkAhead and a part of the LinkAhead project.
    ## Setup
    ......@@ -20,7 +20,7 @@ Please read [CONTRIBUTING.md](CONTRIBUTING.md).
    ## License
    * Copyright (C) 2022 Indiscale GmbH <info@indiscale.com>
    * Copyright (C) 2022-2024 Indiscale GmbH <info@indiscale.com>
    All files in this repository are licensed under a [GNU Affero General Public
    License](LICENSE.md) (version 3 or later).
    # Release Guidelines for the CaosDB Python Client Library
    # Release Guidelines for the LinkAhead C++ Client Library
    This document specifies release guidelines in addition to the generel release
    guidelines of the CaosDB Project
    guidelines of the LinkAhead Project
    ([RELEASE_GUIDELINES.md](https://gitlab.com/caosdb/caosdb/blob/dev/RELEASE_GUIDELINES.md))
    ## General Prerequisites
    ......@@ -25,7 +25,7 @@ guidelines of the CaosDB Project
    1. In [CMakeLists.txt](./CMakeLists.txt): Check the version variables and
    make sure that the compatible caosdb-server version is set correctly.
    2. In `conanfile.py`: Update the `version` variable.
    3. In `caosdb-cppinttest/conanfile.py`: Update the version
    3. In `linkahead-cppinttest/conanfile.py`: Update the version
    5. Merge the release branch into the main branch.
    ......
    ......@@ -5,14 +5,14 @@ from conan.tools.files import copy
    from conan.errors import ConanInvalidConfiguration
    class CaosdbConan(ConanFile):
    name = "caosdb"
    class LinkAheadConan(ConanFile):
    name = "linkahead"
    version = "0.3.0-dev"
    license = "AGPL-3.0-or-later"
    author = "Timm C. Fitschen <t.fitschen@indiscale.com>"
    url = "https://gitlab.indiscale.com/caosdb/src/caosdb-cpplib.git"
    description = "C++ library for the CaosDB project"
    topics = ("data management", "caosdb")
    description = "C++ library for the LinkAhead project"
    topics = ("data management", "linkahead", "caosdb")
    settings = "os", "compiler", "build_type", "arch"
    options = {
    "shared": [True, False],
    ......@@ -35,11 +35,11 @@ class CaosdbConan(ConanFile):
    def build_requirements(self):
    self.tool_requires("protobuf/3.21.12")
    self.tool_requires("cmake/[>=3.13]")
    self.tool_requires("boost/1.78.0")
    self.tool_requires("boost/1.80.0")
    self.test_requires("gtest/1.11.0")
    self.requires("grpc/1.48.4")
    self.requires("protobuf/3.21.12")
    self.requires("boost/1.78.0")
    self.requires("boost/1.80.0")
    def config_options(self):
    if self.settings.os == "Windows":
    ......@@ -71,12 +71,18 @@ class CaosdbConan(ConanFile):
    cmake = CMake(self)
    cmake.configure()
    cmake.build(target=["all"]) # , "ccaosdbcli", "cxxcaosdbcli"])
    cmake.build(target=["all"]) # , "clinkaheadcli", "cxxlinkaheadcli"])
    def package(self):
    cmake = CMake(self)
    cmake.install()
    print(copy(self, pattern="*.h",
    src=os.path.join(self.build_folder, "include"),
    dst=os.path.join(self.package_folder, "include")))
    print(copy(self, pattern="*.h",
    dst=os.path.join(self.package_folder, "include"),
    src=os.path.join(self.source_folder, "include")))
    copy(self, pattern="*.h",
    dst=os.path.join(self.package_folder, "include"),
    src=os.path.join(self.source_folder, "include"))
    ......@@ -90,7 +96,7 @@ class CaosdbConan(ConanFile):
    dst=os.path.join(self.package_folder, "lib"), keep_path=False)
    def package_info(self):
    self.cpp_info.libs = ["caosdb", "ccaosdb"]
    self.cpp_info.libs = ["linkahead", "clinkahead" ]
    self.cpp_info.requires = ["boost::headers", "grpc::grpc", "protobuf::protobuf"]
    def validate(self):
    ......
    ......@@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
    ### Changed
    - Renamed the project to linkahead-cpplib
    - Updated dependency versions.
    - Updated Python dependencies for Conan 2 and support Python 3.12.
    - Updated C++ package manager Conan to 2.5.0.
    ......
    #
    # This file is a part of the CaosDB Project.
    # This file is a part of the LinkAhead Project.
    #
    # Copyright (C) 2021 Timm Fitschen <t.fitschen@indiscale.com>
    # Copyright (C) 2021 IndiScale GmbH <info@indiscale.com>
    # Copyright (C) 2021-2024 IndiScale GmbH <info@indiscale.com>
    #
    # This program is free software: you can redistribute it and/or modify
    # it under the terms of the GNU Affero General Public License as
    ......@@ -23,7 +23,7 @@ find_package(Doxygen)
    if (DOXYGEN_FOUND)
    string(REPLACE ";" " " DOXYGEN_INPUT
    "${libcaosdb_INCL} ${PROJECT_INCLUDE_DIR}/ccaosdb.h")
    "${liblinkahead_INCL} ${PROJECT_INCLUDE_DIR}/clinkahead.h")
    configure_file(Doxyfile.in Doxyfile)
    ......@@ -43,10 +43,10 @@ if (DOXYGEN_FOUND)
    configure_file(cppapi/index.rst.in cppapi/index.rst)
    # create rst pages for every header file
    list(LENGTH libcaosdb_INCL len_header_files)
    list(LENGTH liblinkahead_INCL len_header_files)
    math(EXPR len_header_files "${len_header_files} - 1")
    foreach (i RANGE "${len_header_files}")
    list(GET libcaosdb_INCL ${i} HEADER_FILE)
    list(GET liblinkahead_INCL ${i} HEADER_FILE)
    string(REPLACE
    "${PROJECT_INCLUDE_DIR}/"
    ""
    ......@@ -58,7 +58,7 @@ if (DOXYGEN_FOUND)
    HEADER_FILE_NAME
    ${HEADER_FILE_NAME})
    string(REPLACE
    "caosdb/"
    "linkahead/"
    ""
    DOC_FILE_NAME
    ${HEADER_FILE_NAME})
    ......@@ -69,11 +69,11 @@ if (DOXYGEN_FOUND)
    # create (plain) C docs
    configure_file(capi/index.rst.in capi/index.rst)
    set(HEADER_FILE_NAME ccaosdb.h)
    set(HEADER_FILE ccaosdb.h)
    set(HEADER_FILE_NAME clinkahead.h)
    set(HEADER_FILE clinkahead.h)
    configure_file(
    header_file.rst.in
    capi/_ccaosdb.rst)
    capi/_clinkahead.rst)
    add_custom_target(doc-sphinx
    COMMAND ${SPHINX_CMD}
    ......
    ......@@ -11,7 +11,7 @@ Exact versions of some packages here are listed in `requirements.txt`.
    ## Compiling ##
    ```
    >=conan-1.54.0 (e.g. with `pip install conan`)
    >=conan-2.5.0 (e.g. with `pip install conan`)
    >=cmake-3.13
    >=gcc-10.2.0 | >=clang-11
    ```
    ......
    ......@@ -2,18 +2,18 @@ Examples
    ========
    Connect to a CaosDB server
    Connect to a LinkAhead server
    --------------------------
    See also the hints on how to :doc:`get started<Install_develop>`, and set-up of libcaosdb. In order
    to connect to a CaosDB server with libcaosdb you first have to configure the connection via a
    See also the hints on how to :doc:`get started<Install_develop>`, and set-up of liblinkahead. In order
    to connect to a LinkAhead server with liblinkahead you first have to configure the connection via a
    configuration file as explained in the :ref:`"Client Configuration" section <Client
    Configuration>`. Once the configuration is set up, connecting to the server is as easy as
    .. code:: cpp
    const auto &connection =
    caosdb::connection::ConnectionManager::GetDefaultConnection();
    linkahead::connection::ConnectionManager::GetDefaultConnection();
    You can print the full version of the server that you are connected to (and
    therby test the connection) via:
    ......@@ -32,19 +32,19 @@ therby test the connection) via:
    Retrieve a Record
    -----------------
    With libcaosdb you can create a transaction
    With liblinkahead you can create a transaction
    object, fill it with sub-requests, execute it, and retrieve the
    result(s) . This
    is handy when you want to have several requests in the same transaction.
    However, most of the time, e.g., when retrieving one or multiple
    Records, this is not necessary. libcaosdb provides helper functions so
    Records, this is not necessary. liblinkahead provides helper functions so
    you don’t have to worry about transactions and their executions. Assume
    you want to retrieve an Entity with id=123. This is done via
    .. code:: cpp
    const auto &connection =
    caosdb::connection::ConnectionManager::GetDefaultConnection();
    linkahead::connection::ConnectionManager::GetDefaultConnection();
    auto transaction(connection->CreateTransaction());
    ......@@ -57,9 +57,9 @@ you want to retrieve an Entity with id=123. This is done via
    const auto &entity = result_set.at(0)
    You can then use the getter methods like :cpp:any:`GetId<caosdb::entity::Entity::GetId>`,
    :cpp:any:`GetParents<caosdb::entity::Entity::GetParents>`, or
    :cpp:any:`GetProperties`<caosdb::entity::Entity::GetProperties>` to get the name, the parents, or
    You can then use the getter methods like :cpp:any:`GetId<linkahead::entity::Entity::GetId>`,
    :cpp:any:`GetParents<linkahead::entity::Entity::GetParents>`, or
    :cpp:any:`GetProperties`<linkahead::entity::Entity::GetProperties>` to get the name, the parents, or
    the properties of the retrieved entity.
    Retrieving multiple entities works in the same way. Type
    ......@@ -78,7 +78,7 @@ transaction manually. This is done by
    .. code:: cpp
    const auto &connection =
    caosdb::connection::ConnectionManager::GetDefaultConnection();
    linkahead::connection::ConnectionManager::GetDefaultConnection();
    auto transaction(connection->CreateTransaction());
    transaction->RetrieveById("1231");
    ......@@ -86,7 +86,7 @@ transaction manually. This is done by
    auto status = transaction->Execute();
    A result set can be obtained via
    :cpp:any:`GetResultSet`<caosdb::transaction::Transaction::GetResultSet>` which contains the
    :cpp:any:`GetResultSet`<linkahead::transaction::Transaction::GetResultSet>` which contains the
    resulting entities and can, e.g., be checked for length.
    Execute queries
    ......@@ -98,12 +98,12 @@ ids.
    FIND and SELECT queries
    ~~~~~~~~~~~~~~~~~~~~~~~
    In general, entities can be found using CaosDB’s query language like
    In general, entities can be found using LinkAhead’s query language like
    .. code:: cpp
    const auto &connection =
    caosdb::connection::ConnectionManager::GetDefaultConnection();
    linkahead::connection::ConnectionManager::GetDefaultConnection();
    auto query_transaction(connection->CreateTransaction());
    query_transaction->Query("FIND ENTITY WITH id = 1222");
    ......@@ -119,7 +119,7 @@ inspected as above.
    ::
    SELECT queries haven't been implemented in the C++ client yet and
    thus cannot be executed from libcaosdb right now. SELECT queries
    thus cannot be executed from liblinkahead right now. SELECT queries
    will be added in a future release.
    COUNT queries
    ......@@ -129,12 +129,12 @@ COUNT queries are different from FIND or SELECT queries in two ways.
    Firstly, they do not return entities but a single number which is why,
    secondly, they do not have a result set that could be returned.
    The result of the count is
    obtained using the :cpp:any:`GetCountResult<caosdb::transaction::Transaction::GetCountResult>` function:
    obtained using the :cpp:any:`GetCountResult<linkahead::transaction::Transaction::GetCountResult>` function:
    .. code:: cpp
    const auto &connection =
    caosdb::connection::ConnectionManager::GetDefaultConnection();
    linkahead::connection::ConnectionManager::GetDefaultConnection();
    auto query_transaction(connection->CreateTransaction());
    query_transaction->Query("COUNT RECORD person WITH NAME LIKE '*Baggins'");
    ......@@ -151,7 +151,7 @@ task is added to a transaction and the transaction is executed.
    .. code:: cpp
    const auto &connection =
    caosdb::connection::ConnectionManager::GetDefaultConnection();
    linkahead::connection::ConnectionManager::GetDefaultConnection();
    // ######## INSERT ########
    ......@@ -210,7 +210,7 @@ Up- and Download a file
    .. code:: cpp
    const auto &connection =
    caosdb::connection::ConnectionManager::GetDefaultConnection();
    linkahead::connection::ConnectionManager::GetDefaultConnection();
    Entity file;
    file.SetRole(Role::FILE);
    ......
    # Features
    This library provides a client for communication with a CaosDB server over the
    CaosDB GRPC-APIs. The client supports
    This library provides a client for communication with a LinkAhead server over the
    LinkAhead GRPC-APIs. The client supports
    * Transaction of entities and file transmission.
    * Authentication via Username/Password.
    ......@@ -11,18 +11,18 @@ CaosDB GRPC-APIs. The client supports
    * File-based configuration.
    The core is written in C++ and makes heavy use of object-oriented patterns. It
    results in a c++ library -- libcaosdb.
    results in a c++ library -- liblinkahead.
    For using the library in a plain C context, a thin wrapper is included
    -- libccaosdb. It wrapps the C++ classes into structs and the member methods
    -- libclinkahead. It wrapps the C++ classes into structs and the member methods
    into functions which operate on the wrapped C++ instances.
    Minimal testing executables in C++ and C are included as well, but they only
    serve as just that -- minimal testing.
    ## CaosDB Entitiy API
    ## LinkAhead Entitiy API
    This library implements a subset of the CaosDB Entitiy API (caosdb.entity.v1)
    This library implements a subset of the LinkAhead Entitiy API (caosdb.entity.v1)
    as a client.
    Current limitations: The implementation does not support mixing retrievals with
    ......@@ -32,12 +32,12 @@ write-transactions.
    Support for `FIND`, `SELECT` and `COUNT` queries.
    ## CaosDB Info API
    ## LinkAhead Info API
    This library implements the CaosDB Info API (caosdb.info.v1) as a client
    This library implements the LinkAhead Info API (caosdb.info.v1) as a client
    without limitations.
    ## CaosDB ACM (Access Control Management) API
    ## LinkAhead ACM (Access Control Management) API
    This library implements small parts of the experimental ACM API
    (caosdb.acm.v1alpha1) as a client.
    ......@@ -46,7 +46,7 @@ This library implements small parts of the experimental ACM API
    Currently, the library should not be considered thread-safe.
    The `caosdb::transaction::Transaction` class is designed with an with an
    The `linkahead::transaction::Transaction` class is designed with an with an
    interface ready for concurrent and asyncronous transactions. While it is
    possible to execute transactions in non-blocking mode and call `GetStatus`
    concurrently, it is not possible to use any of the non-const methods of the
    ......
    How to use and develop libcaosdb
    How to use and develop liblinkahead
    ================================
    Dependencies
    ......@@ -31,7 +31,7 @@ package manager. The compiler must support the C++17 standard.
    4. ``cmake -S ../.. -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=generators/conan_toolchain.cmake -DCMAKE_POLICY_DEFAULT_CMP0091=NEW -DCMAKE_BUILD_TYPE=Release``
    5. ``cmake --build .``
    You may also want to install libcaosdb system-wide to
    You may also want to install liblinkahead system-wide to
    ``CMAKE_INSTALL_PREFIX/lib`` by
    1. ``cmake --install .``
    ......@@ -42,13 +42,13 @@ command (4.).
    .. Note::
    The C++ CaosDB library links against other libraries which are installed by Conan. So if you want
    The C++ LinkAhead library links against other libraries which are installed by Conan. So if you want
    to switch to newer versions of those libraries (possible reasons may be security releases or bug
    fixes), it is not sufficient to update your system libraries, but you have to update your Conan
    content and then rebuild libcaosdb.
    content and then rebuild liblinkahead.
    If you want to build or install libcaosdb without the use of Conan, feel
    free to rewrite the CMakeLists.txt as needed. The CaosDB project is open
    If you want to build or install liblinkahead without the use of Conan, feel
    free to rewrite the CMakeLists.txt as needed. The LinkAhead project is open
    to merge requests which support multiple ways of installation.
    Optional: Building with ``vcpkg``
    ......@@ -113,10 +113,10 @@ tool.
    1. Install Python and create a virtual environment with the dependencies in `requirements.txt`.
    2. Activate the environment run in the repository folder: ``conan install . --build=missing -s build_type=Release``
    3. ``cmake --preset conan-default``
    4. Open ``build/libcaosdb.sln`` with Visual Studio, change the
    4. Open ``build/liblinkahead.sln`` with Visual Studio, change the
    buildtype to ``Release`` and build the project (ALL_BUILD). (You
    can open Tools/Command Line/Developer Command Prompt and execute
    ``msbuild libcaosdb.sln /property:Configuration=Release``)
    ``msbuild liblinkahead.sln /property:Configuration=Release``)
    5. Try running the cli clients in ``.\build\Release\``.
    Known problems
    ......@@ -182,23 +182,31 @@ Client Configuration
    --------------------
    You can use a json file for the configuration of the client. See
    ``test/test_data/test_caosdb_client.json`` for an example. You may use
    ``caosdb-client-configuration-schema.json`` to validate your schema.
    ``test/test_data/test_linkahead_client.json`` for an example. You may use
    ``linkahead-client-configuration-schema.json`` to validate your schema.
    Typically, you will need to provide the path to your SSL certificate.
    The client will load the configuration file from the first existing file
    in the following locations (precedence from highest to lowest):
    1. A file specified by the environment variable
    ``$CAOSDB_CLIENT_CONFIGURATION``.
    2. ``$PWD/caosdb_client.json``
    3. ``$PWD/caosdb-client.json``
    4. ``$PWD/.caosdb_client.json``
    5. ``$PWD/.caosdb-client.json``
    6. ``$HOME/caosdb_client.json``
    7. ``$HOME/caosdb-client.json``
    8. ``$HOME/.caosdb_client.json``
    9. ``$HOME/.caosdb-client.json``
    1. A file specified by the environment variable ``$LINKAHEAD_CLIENT_CONFIGURATION``.
    2. ``$PWD/linkahead_client.json``
    3. ``$PWD/linkahead-client.json``
    4. ``$PWD/.linkahead_client.json``
    5. ``$PWD/.linkahead-client.json``
    6. ``$HOME/linkahead_client.json``
    7. ``$HOME/linkahead-client.json``
    8. ``$HOME/.linkahead_client.json``
    9. ``$HOME/.linkahead-client.json``
    10. A file specified by the environment variable ``$CAOSDB_CLIENT_CONFIGURATION``.
    11. ``$PWD/caosdb_client.json``
    12. ``$PWD/caosdb-client.json``
    13. ``$PWD/.caosdb_client.json``
    14. ``$PWD/.caosdb-client.json``
    15. ``$HOME/caosdb_client.json``
    16. ``$HOME/caosdb-client.json``
    17. ``$HOME/.caosdb_client.json``
    18. ``$HOME/.caosdb-client.json``
    Develop
    -------
    ......
    ..
    #
    # This file is a part of the CaosDB Project.
    # This file is a part of the LinkAhead Project.
    #
    # Copyright (C) 2021 Timm Fitschen <t.fitschen@indiscale.com>
    # Copyright (C) 2021 IndiScale GmbH <info@indiscale.com>
    # Copyright (C) 2021-2024 IndiScale GmbH <info@indiscale.com>
    #
    # This program is free software: you can redistribute it and/or modify
    # it under the terms of the GNU Affero General Public License as
    ......@@ -32,12 +32,12 @@
    .. note::
    When working with libcaosdb's C API keep the following in mind:
    When working with liblinkahead's C API keep the following in mind:
    Delete all objects (transactions, entities, properties, parents, ...) that you created using a
    call to ``caosdb_..._create_...`` or released using ``caosdb_..._release_...`` and only those.
    call to ``linkahead_..._create_...`` or released using ``linkahead_..._release_...`` and only those.
    Specifically, any objects set by a ``caosdb_..._get_...`` function are managed by another owning
    Specifically, any objects set by a ``linkahead_..._get_...`` function are managed by another owning
    object (e.g., a connection object is managed by the connection manager) and thus should not be
    deleted manually.
    ......
    ..
    #
    # This file is a part of the CaosDB Project.
    # This file is a part of the LinkAhead Project.
    #
    # Copyright (C) 2021 Timm Fitschen <t.fitschen@indiscale.com>
    # Copyright (C) 2021 IndiScale GmbH <info@indiscale.com>
    # Copyright (C) 2021-2024 IndiScale GmbH <info@indiscale.com>
    #
    # This program is free software: you can redistribute it and/or modify
    # it under the terms of the GNU Affero General Public License as
    ......@@ -25,7 +25,7 @@
    C++ API
    =========
    This is the C++ library for connecting to CaosDB. If you are interested in code examples, please
    This is the C++ library for connecting to LinkAhead. If you are interested in code examples, please
    refer to the corresponding :doc:`documentation section<examples.rst>`.
    ......
    ..
    #
    # This file is a part of the CaosDB Project.
    # This file is a part of the LinkAhead Project.
    #
    # Copyright (C) 2021 Timm Fitschen <t.fitschen@indiscale.com>
    # Copyright (C) 2021 IndiScale GmbH <info@indiscale.com>
    # Copyright (C) 2021-2024 IndiScale GmbH <info@indiscale.com>
    #
    # This program is free software: you can redistribute it and/or modify
    # it under the terms of the GNU Affero General Public License as
    ......@@ -29,4 +29,4 @@
    :hidden:
    .. doxygenfile:: @HEADER_FILE@
    :project: libcaosdb
    :project: liblinkahead
    ..
    #
    # This file is a part of the CaosDB Project.
    # This file is a part of the LinkAhead Project.
    #
    # Copyright (C) 2021 Timm Fitschen <t.fitschen@indiscale.com>
    # Copyright (C) 2021 IndiScale GmbH <info@indiscale.com>
    # Copyright (C) 2021-2024 IndiScale GmbH <info@indiscale.com>
    #
    # This program is free software: you can redistribute it and/or modify
    # it under the terms of the GNU Affero General Public License as
    ......
    #
    # This file is a part of the CaosDB Project.
    # This file is a part of the LinkAhead Project.
    #
    # Copyright (C) 2021 Timm Fitschen <t.fitschen@indiscale.com>
    # Copyright (C) 2021 IndiScale GmbH <info@indiscale.com>
    # Copyright (C) 2021-2024 IndiScale GmbH <info@indiscale.com>
    #
    # This program is free software: you can redistribute it and/or modify
    # it under the terms of the GNU Affero General Public License as
    ......@@ -19,47 +19,47 @@
    #
    # add all header files to this list
    set(libcaosdb_INCL
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/authentication.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/certificate_provider.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/configuration.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/connection.h
    ${CMAKE_CURRENT_BINARY_DIR}/caosdb/constants.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/data_type.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/entity.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/exceptions.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/file_descriptor.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/handler_interface.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/info.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/log_level.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/logging.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/message_code.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/protobuf_helper.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/result_table.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/result_set.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/status_code.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/transaction.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/transaction_handler.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/transaction_status.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/unary_rpc_handler.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/utility.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/value.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/file_transmission/register_file_upload_handler.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/file_transmission/upload_request_handler.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/file_transmission/download_request_handler.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/file_transmission/file_writer.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/file_transmission/file_reader.h
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/file_transmission/file_error.h
    set(liblinkahead_INCL
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/authentication.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/certificate_provider.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/configuration.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/connection.h
    ${CMAKE_CURRENT_BINARY_DIR}/linkahead/constants.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/data_type.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/entity.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/exceptions.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/file_descriptor.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/handler_interface.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/info.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/log_level.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/logging.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/message_code.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/protobuf_helper.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/result_table.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/result_set.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/status_code.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/transaction.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/transaction_handler.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/transaction_status.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/unary_rpc_handler.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/utility.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/value.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/file_transmission/register_file_upload_handler.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/file_transmission/upload_request_handler.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/file_transmission/download_request_handler.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/file_transmission/file_writer.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/file_transmission/file_reader.h
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/file_transmission/file_error.h
    )
    IF(BUILD_ACM)
    list(APPEND libcaosdb_INCL
    ${CMAKE_CURRENT_SOURCE_DIR}/caosdb/acm/user.h
    list(APPEND liblinkahead_INCL
    ${CMAKE_CURRENT_SOURCE_DIR}/linkahead/acm/user.h
    )
    ENDIF()
    # pass variable to parent scope
    set(libcaosdb_INCL ${libcaosdb_INCL} PARENT_SCOPE)
    set(liblinkahead_INCL ${liblinkahead_INCL} PARENT_SCOPE)
    # initialize constants
    configure_file(caosdb/constants.h.in caosdb/constants.h)
    configure_file(linkahead/constants.h.in linkahead/constants.h)
    This diff is collapsed.
    This diff is collapsed.
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Finish editing this message first!
    Please register or to comment