def package_info(self): self.cpp_info.libs = collect_libs(self) self.env_info.LD_LIBRARY_PATH.append("{}/lib".format( self.package_folder)) self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) self.cpp_info.includedirs = ['include'] self.env_info.CPATH.append("{}/include".format(self.package_folder))
def package_info(self): self.cpp_info.libs = collect_libs(self) self.env_info.LD_LIBRARY_PATH.append("{}/lib".format( self.package_folder)) self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) self.cpp_info.includedirs = ['include'] self.env_info.CPATH.append("{}/include".format(self.package_folder)) self.cpp_info.defines.append('ZMQ_STATIC') self.cpp_info.builddirs.append( os.path.join(self.package_folder, 'share', 'cmake', 'ZeroMQ'))
def collect_libs(self, folder=None): self.output.warn("'self.collect_libs' is deprecated, " "use 'tools.collect_libs(self)' instead") return tools.collect_libs(self, folder=folder)
def collect_libs(self, folder=None): conan_v2_error( "'self.collect_libs' is deprecated, use 'tools.collect_libs(self)' instead" ) return tools.collect_libs(self, folder=folder)
def collect_libs_test(self): conanfile = ConanFileMock() # Without package_folder conanfile.package_folder = None result = tools.collect_libs(conanfile) self.assertEqual([], result) # Default behavior conanfile.package_folder = temp_folder() mylib_path = os.path.join(conanfile.package_folder, "lib", "mylib.lib") save(mylib_path, "") conanfile.cpp_info = CppInfo("") result = tools.collect_libs(conanfile) self.assertEqual(["mylib"], result) # Custom folder customlib_path = os.path.join(conanfile.package_folder, "custom_folder", "customlib.lib") save(customlib_path, "") result = tools.collect_libs(conanfile, folder="custom_folder") self.assertEqual(["customlib"], result) # Custom folder doesn't exist result = tools.collect_libs(conanfile, folder="fake_folder") self.assertEqual([], result) self.assertIn("Lib folder doesn't exist, can't collect libraries:", conanfile.output) # Use cpp_info.libdirs conanfile.cpp_info.libdirs = ["lib", "custom_folder"] result = tools.collect_libs(conanfile) self.assertEqual(["customlib", "mylib"], result) # Custom folder with multiple libdirs should only collect from custom folder self.assertEqual(["lib", "custom_folder"], conanfile.cpp_info.libdirs) result = tools.collect_libs(conanfile, folder="custom_folder") self.assertEqual(["customlib"], result) # Warn same lib different folders conanfile = ConanFileMock() conanfile.package_folder = temp_folder() conanfile.cpp_info = CppInfo("") custom_mylib_path = os.path.join(conanfile.package_folder, "custom_folder", "mylib.lib") lib_mylib_path = os.path.join(conanfile.package_folder, "lib", "mylib.lib") save(custom_mylib_path, "") save(lib_mylib_path, "") conanfile.cpp_info.libdirs = ["lib", "custom_folder"] result = tools.collect_libs(conanfile) self.assertEqual(["mylib"], result) self.assertIn("Library 'mylib' was either already found in a previous " "'conanfile.cpp_info.libdirs' folder or appears several times with a " "different file extension", conanfile.output) # Warn lib folder does not exist with correct result conanfile = ConanFileMock() conanfile.package_folder = temp_folder() conanfile.cpp_info = CppInfo("") lib_mylib_path = os.path.join(conanfile.package_folder, "lib", "mylib.lib") save(lib_mylib_path, "") no_folder_path = os.path.join(conanfile.package_folder, "no_folder") conanfile.cpp_info.libdirs = ["no_folder", "lib"] # 'no_folder' does NOT exist result = tools.collect_libs(conanfile) self.assertEqual(["mylib"], result) self.assertIn("WARN: Lib folder doesn't exist, can't collect libraries: %s" % no_folder_path, conanfile.output)
def collect_libs(self, folder=None): conan_v2_behavior( "'self.collect_libs' is deprecated, use 'tools.collect_libs(self)' instead", v1_behavior=self.output.warn) return tools.collect_libs(self, folder=folder)