Skip to content

Commit 900556a

Browse files
authored
(#9175) taocpp-operators: modernize
1 parent 5eea45c commit 900556a

File tree

3 files changed

+17
-13
lines changed

3 files changed

+17
-13
lines changed
Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
import os
21
from conans import ConanFile, tools
2+
import os
3+
4+
required_conan_version = ">=1.43.0"
35

4-
required_conan_version = ">=1.28.0"
56

67
class TaoCPPOperatorsConan(ConanFile):
78
name = "taocpp-operators"
@@ -11,32 +12,36 @@ class TaoCPPOperatorsConan(ConanFile):
1112
description = "A highly efficient, move-aware operators library"
1213
topics = ("cpp", "cpp11", "header-only", "operators")
1314
no_copy_source = True
14-
settings = "compiler"
15+
settings = "os", "arch", "compiler", "build_type"
1516

1617
@property
1718
def _source_subfolder(self):
1819
return "source_subfolder"
1920

20-
def configure(self):
21-
if self.settings.compiler.cppstd:
21+
def validate(self):
22+
if self.settings.compiler.get_safe("cppstd"):
2223
tools.check_min_cppstd(self, 11)
2324

2425
def package_id(self):
2526
self.info.header_only()
2627

2728
def source(self):
28-
tools.get(**self.conan_data["sources"][self.version])
29-
extracted_dir = "operators-" + self.version
30-
os.rename(extracted_dir, self._source_subfolder)
29+
tools.get(**self.conan_data["sources"][self.version],
30+
destination=self._source_subfolder, strip_root=True)
3131

3232
def package(self):
3333
self.copy("LICENSE*", dst="licenses", src=self._source_subfolder)
3434
self.copy("*", dst="include", src=os.path.join(self._source_subfolder, "include"))
3535

3636
def package_info(self):
37+
self.cpp_info.set_property("cmake_file_name", "taocpp-operators")
38+
self.cpp_info.set_property("cmake_target_name", "taocpp::operators")
39+
40+
# TODO: to remove in conan v2 once cmake_find_package* generators removed
3741
self.cpp_info.filenames["cmake_find_package"] = "taocpp-operators"
3842
self.cpp_info.filenames["cmake_find_package_multi"] = "taocpp-operators"
3943
self.cpp_info.names["cmake_find_package"] = "taocpp"
4044
self.cpp_info.names["cmake_find_package_multi"] = "taocpp"
4145
self.cpp_info.components["_taocpp-operators"].names["cmake_find_package"] = "operators"
4246
self.cpp_info.components["_taocpp-operators"].names["cmake_find_package_multi"] = "operators"
47+
self.cpp_info.components["_taocpp-operators"].set_property("cmake_target_name", "taocpp::operators")

recipes/taocpp-operators/all/test_package/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.1)
22
project(test_package LANGUAGES CXX)
33

44
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
5-
conan_basic_setup()
5+
conan_basic_setup(TARGETS)
66

77
find_package(taocpp-operators REQUIRED CONFIG)
88

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
import os.path
2-
31
from conans import ConanFile, CMake, tools
2+
import os
43

54

65
class TestPackageConan(ConanFile):
7-
settings = "os", "compiler", "build_type", "arch"
6+
settings = "os", "arch", "compiler", "build_type"
87
generators = "cmake", "cmake_find_package_multi"
98

109
def build(self):
@@ -13,6 +12,6 @@ def build(self):
1312
cmake.build()
1413

1514
def test(self):
16-
if not tools.cross_building(self.settings):
15+
if not tools.cross_building(self):
1716
bin_path = os.path.join("bin", "test_package")
1817
self.run(bin_path, run_environment=True)

0 commit comments

Comments
 (0)