Exemplo n.º 1
0
    def cmake_vars_unit_test(self):
        settings = _MockSettings("Release")
        conanfile = ConanFile(TestBufferConanOutput(), None)
        conanfile.initialize(settings, EnvValues())
        tmp = temp_folder()
        cpp_info = CppInfo(tmp)
        cpp_info.name = "MyLib"
        custom_dir = os.path.join(tmp, "custom_build_dir")
        os.mkdir(custom_dir)
        cpp_info.builddirs.append(os.path.join(tmp, "custom_build_dir"))
        conanfile.deps_cpp_info.update(cpp_info, "MyLib")

        generator = CMakePathsGenerator(conanfile)
        path = tmp.replace('\\', '/')
        custom_dir = custom_dir.replace('\\', '/')
        cmake_lines = generator.content.replace('\\',
                                                '/').replace("\n\t\t\t",
                                                             " ").splitlines()
        self.assertEqual('set(CONAN_MYLIB_ROOT "%s")' % path, cmake_lines[0])
        self.assertEqual(
            'set(CMAKE_MODULE_PATH "%s/" "%s" ${CMAKE_MODULE_PATH} '
            '${CMAKE_CURRENT_LIST_DIR})' % (path, custom_dir), cmake_lines[1])
        self.assertEqual(
            'set(CMAKE_PREFIX_PATH "%s/" "%s" ${CMAKE_PREFIX_PATH} '
            '${CMAKE_CURRENT_LIST_DIR})' % (path, custom_dir), cmake_lines[2])
Exemplo n.º 2
0
    def cmake_vars_unit_test(self):
        settings_mock = namedtuple("Settings",
                                   "build_type, os, os_build, constraint")
        settings = settings_mock("Release", None, None, lambda x: x)
        conanfile = ConanFile(None, None)
        conanfile.initialize(settings, EnvValues())
        tmp = temp_folder()
        cpp_info = CppInfo(tmp)
        custom_dir = os.path.join(tmp, "custom_build_dir")
        os.mkdir(custom_dir)
        cpp_info.builddirs.append(os.path.join(tmp, "custom_build_dir"))
        conanfile.deps_cpp_info.update(cpp_info, "MyLib")

        generator = CMakePathsGenerator(conanfile)
        cmake_lines = [
            s.replace("\t\t\t", "").replace('\\', '/')
            for s in generator.content.splitlines()
        ]
        self.assertEquals(
            'set(CMAKE_MODULE_PATH '
            '"%s/"' % tmp.replace('\\', '/'), cmake_lines[0])
        self.assertEquals(
            '"%s" ${CMAKE_MODULE_PATH} '
            '${CMAKE_CURRENT_LIST_DIR})' % custom_dir.replace('\\', '/'),
            cmake_lines[1])
        self.assertEquals(
            'set(CMAKE_PREFIX_PATH '
            '"%s/"' % tmp.replace('\\', '/'), cmake_lines[2])
        self.assertEquals(
            '"%s" ${CMAKE_PREFIX_PATH} '
            '${CMAKE_CURRENT_LIST_DIR})' % custom_dir.replace('\\', '/'),
            cmake_lines[3])
Exemplo n.º 3
0
 def cpp_info_name_test(self):
     settings = _MockSettings("Release")
     conanfile = ConanFile(TestBufferConanOutput(), None)
     conanfile.initialize(settings, EnvValues())
     tmp = temp_folder()
     cpp_info = CppInfo(tmp)
     cpp_info.name = "PkgCMakeName"
     conanfile.deps_cpp_info.update(cpp_info, "pkg_reference_name")
     generator = CMakePathsGenerator(conanfile)
     self.assertIn('set(CONAN_PKGCMAKENAME_ROOT', generator.content)
Exemplo n.º 4
0
 def test_cpp_info_name(self):
     settings = _MockSettings("Release")
     conanfile = ConanFile(Mock(), None)
     conanfile.initialize(settings, EnvValues())
     tmp = temp_folder()
     cpp_info = CppInfo("pkg_reference_name", tmp)
     cpp_info.name = "PkgCMakeName"
     conanfile.deps_cpp_info.add("pkg_reference_name", cpp_info)
     generator = CMakePathsGenerator(conanfile)
     self.assertIn('set(CONAN_PKGCMAKENAME_ROOT', generator.content)
Exemplo n.º 5
0
 def cpp_info_names_test(self):
     settings = _MockSettings("Release")
     conanfile = ConanFile(TestBufferConanOutput(), None)
     conanfile.initialize(settings, EnvValues())
     tmp = temp_folder()
     cpp_info = CppInfo("pkg_reference_name", tmp)
     cpp_info.name = "PkgCMakeName"
     cpp_info.names["cmake_paths"] = "MyCMakePathsPkgName"
     conanfile.deps_cpp_info.add("pkg_reference_name", cpp_info)
     generator = CMakePathsGenerator(conanfile)
     self.assertIn('set(CONAN_MYCMAKEPATHSPKGNAME_ROOT', generator.content)