From 9bcfcd0fb3766ed4be4974bbdd92eb4809513606 Mon Sep 17 00:00:00 2001 From: Gareth Sylvester-Bradley <31761158+garethsb@users.noreply.github.com> Date: Tue, 15 Nov 2022 02:06:39 +0000 Subject: [PATCH] (#14190) [websocketpp] conan v2 support (test package) --- .../all/test_package/CMakeLists.txt | 3 --- .../websocketpp/all/test_package/conanfile.py | 19 ++++++++++++++----- .../all/test_v1_package/CMakeLists.txt | 11 +++++++++++ .../all/test_v1_package/conanfile.py | 17 +++++++++++++++++ 4 files changed, 42 insertions(+), 8 deletions(-) create mode 100644 recipes/websocketpp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/websocketpp/all/test_v1_package/conanfile.py diff --git a/recipes/websocketpp/all/test_package/CMakeLists.txt b/recipes/websocketpp/all/test_package/CMakeLists.txt index 6ac22fac2b..b3137983a6 100644 --- a/recipes/websocketpp/all/test_package/CMakeLists.txt +++ b/recipes/websocketpp/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.1) project(test_package) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(websocketpp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/websocketpp/all/test_package/conanfile.py b/recipes/websocketpp/all/test_package/conanfile.py index 38f4483872..0a6bc68712 100644 --- a/recipes/websocketpp/all/test_package/conanfile.py +++ b/recipes/websocketpp/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ class TestPackageConan(ConanFile): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/websocketpp/all/test_v1_package/CMakeLists.txt b/recipes/websocketpp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000..0b7c0d7ebe --- /dev/null +++ b/recipes/websocketpp/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +find_package(websocketpp REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) +target_link_libraries(${PROJECT_NAME} websocketpp::websocketpp) +set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/websocketpp/all/test_v1_package/conanfile.py b/recipes/websocketpp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000..38f4483872 --- /dev/null +++ b/recipes/websocketpp/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True)