@@ -23,7 +23,7 @@ class rsltestRecipe(ConanFile):
2323 "editable" : [True , False ]
2424 }
2525
26- default_options = {"shared" : False , "fPIC" : True , "coverage" : False , "examples" : False , "editable" : False }
26+ default_options = {"shared" : True , "fPIC" : True , "coverage" : False , "examples" : False , "editable" : False }
2727
2828 # Sources are located in the same place as this recipe, copy them to the recipe
2929 exports_sources = "CMakeLists.txt" , "src/*" , "include/*" , "example/*" , "test/*"
@@ -37,7 +37,7 @@ def configure(self):
3737 self .options .rm_safe ("fPIC" )
3838
3939 def requirements (self ):
40- self .requires ("libassert/dev" , transitive_headers = True , transitive_libs = True )
40+ self .requires ("libassert/dev" , transitive_headers = True , transitive_libs = True , options = { "shared" : True } )
4141 self .requires ("rsl-util/0.1" , transitive_headers = True , transitive_libs = True )
4242 self .requires ("rsl-config/0.1" , transitive_headers = False , transitive_libs = True )
4343 self .requires ("rsl-xml/0.1" , transitive_headers = False , transitive_libs = True )
@@ -69,16 +69,47 @@ def package(self):
6969
7070 def package_info (self ):
7171 self .cpp_info .set_property ("cmake_file_name" , "rsl-test" )
72- self .cpp_info .components ["test" ].set_property ("cmake_target_name" , "rsl::test" )
73- self .cpp_info .components ["test" ].includedirs = ["include" ]
74- self .cpp_info .components ["test" ].libdirs = ["lib" ]
75- self .cpp_info .components ["test" ].requires = ["libassert::assert" , "rsl-util::util" ]
76- self .cpp_info .components ["test" ].libs = ["rsltest" ]
77-
78- self .cpp_info .components ["test_main" ].set_property ("cmake_target_name" , "rsl::test_main" )
79- self .cpp_info .components ["test_main" ].includedirs = ["include" ]
80- self .cpp_info .components ["test_main" ].libdirs = ["lib" ]
81- self .cpp_info .components ["test_main" ].requires = ["test" , "rsl-config::config" , "rsl-xml::xml" ]
82- self .cpp_info .components ["test_main" ].libs = ["rsltest_main" ]
72+
73+ test = self .cpp_info .components ["test" ]
74+ test .set_property ("cmake_target_name" , "rsl::test" )
75+ test .includedirs = ["include" ]
76+ test .libdirs = ["lib" ]
77+ test .requires = ["libassert::assert" , "rsl-util::util" ]
78+ test .libs = ["rsltest" ]
79+
80+ test_main = self .cpp_info .components ["test_main" ]
81+ test_main .set_property ("cmake_target_name" , "rsl::test_main" )
82+ test_main .includedirs = ["include" ]
83+ test_main .libdirs = ["lib" ]
84+ test_main .requires = ["test" , "rsl-config::config" , "rsl-xml::xml" ]
85+ test_main .libs = ["rsltest_main" ]
86+
87+ if str (self .settings .compiler ) == "clang" :
88+ test_cov = self .cpp_info .components ["test_cov" ]
89+ test_cov .set_property ("cmake_target_name" , "rsl::test_cov" )
90+ test_cov .libs = []
91+ test_cov .sources = ["ext/coverage_hooks.cpp" ]
92+ test_cov .cxxflags = ["-fsanitize-coverage=pc-table,trace-pc-guard" ]
93+ test_cov .sharedlinkflags = ["-fsanitize-coverage=pc-table,trace-pc-guard" ]
94+ test_cov .exelinkflags = ["-fsanitize-coverage=pc-table,trace-pc-guard" ]
95+ test_cov .requires = []
96+
97+
98+ test_cov_flags = self .cpp_info .components ["test_cov_flags" ]
99+ test_cov_flags .set_property ("cmake_target_name" , "rsl::test_cov_flags" )
100+ test_cov_flags .cxxflags = ["-fsanitize-coverage=pc-table,trace-pc-guard" ]
101+ test_cov_flags .sharedlinkflags = ["-fsanitize-coverage=pc-table,trace-pc-guard" ]
102+ test_cov_flags .exelinkflags = ["-fsanitize-coverage=pc-table,trace-pc-guard" ]
103+
104+ test_cov_hooks = self .cpp_info .components ["test_cov_hooks" ]
105+ test_cov_hooks .set_property ("cmake_target_name" , "rsl::test_cov_hooks" )
106+ test_cov_hooks .sources = ["ext/coverage_hooks.cpp" ]
107+
108+ # test_cov = self.cpp_info.components["test_cov"]
109+ # test_cov.set_property("cmake_target_name", "rsl::test_cov")
110+ # test_cov.requires = ["test_cov_flags", "test_cov_hooks"]
111+
112+
113+
83114
84115
0 commit comments