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

WIP: Adapt test_package for Conan 2.0

parent b7d2dc5e
Branches
Tags
2 merge requests!61Release 0.3.0,!49Resolve "EXTERN: Adapt to Conan 2"
Pipeline #52499 failed
Pipeline: caosdb-cppinttest

#52500

    cmake_minimum_required(VERSION 3.1)
    cmake_minimum_required(VERSION 3.13)
    project(PackageTest CXX)
    #######################################################################
    ......@@ -12,9 +12,6 @@ set(test_cases
    ### Set up tests using GoogleTest (GTest)
    ###################################################
    # dependencies
    include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
    conan_basic_setup(KEEP_RPATHS)
    # supress warnings during build of gtest
    cmake_policy(SET CMP0054 NEW)
    ......@@ -29,10 +26,7 @@ math(EXPR len_test_cases "${len_test_cases} - 1")
    foreach (i RANGE "${len_test_cases}")
    list(GET test_cases ${i} test_case_name)
    add_executable(${test_case_name} ${test_case_name}.cpp)
    target_link_libraries(${test_case_name} PRIVATE ${CONAN_LIBS_CAOSDB}
    ${CONAN_LIBS_GTEST} ${CONAN_LIBS_GRPC} ${CONAN_LIBS_ABSEIL}
    ${CONAN_LIBS_OPENSSL} ${CONAN_LIBS_C-ARES} ${CONAN_LIBS_BZIP2}
    ${CONAN_LIBS_PROTOBUF} ${CONAN_LIBS_ZLIB})
    target_link_libraries(${test_case_name} PRIVATE GTest::gtest GTest::gtest_main caosdb::caosdb)
    if("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
    target_link_libraries(${test_case_name} PRIVATE caosdb_grpc)
    endif()
    ......
    import os
    from conans import ConanFile, CMake, tools
    from conan import ConanFile
    from conan.tools.cmake import CMake, cmake_layout, CMakeDeps, CMakeToolchain
    from conan.tools.files import copy
    from conan.tools.build import cross_building
    class LibcaosdbTestConan(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "cmake"
    build_requires = [
    ("gtest/1.11.0"),
    ]
    def layout(self):
    cmake_layout(self, src_folder=".")
    def generate(self):
    tc = CMakeToolchain(self)
    tc.generate()
    cmake = CMakeDeps(self)
    cmake.generate()
    def build(self):
    cmake = CMake(self)
    # Current dir is "test_package/build/<build_id>" and CMakeLists.txt is
    # in "test_package"
    cmake.configure()
    cmake.build()
    def imports(self):
    self.copy("*.dll", dst="bin", src="bin")
    self.copy("*.dylib*", dst="bin", src="lib")
    self.copy('*.so*', dst='bin', src='lib')
    copy("*.dll", dst="bin", src="bin")
    copy("*.dylib*", dst="bin", src="lib")
    copy('*.so*', dst='bin', src='lib')
    def test(self):
    if not tools.cross_building(self):
    if not cross_building(self):
    cmake = CMake(self)
    cmake.test()
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Please register or to comment