diff --git a/conan/tools/qbs/qbs.py b/conan/tools/qbs/qbs.py index 62c3a2133c1..659eebb41c2 100644 --- a/conan/tools/qbs/qbs.py +++ b/conan/tools/qbs/qbs.py @@ -85,8 +85,7 @@ def build_all(self): def install(self): args = [ '--no-build', - '--clean-install-root', - '--install-root', self._conanfile.install_folder, + '--install-root', self._conanfile.package_folder, '--file', self._project_file ] diff --git a/conans/test/unittests/client/build/qbs_test.py b/conans/test/unittests/client/build/qbs_test.py index e5163f5b047..03e214e157b 100644 --- a/conans/test/unittests/client/build/qbs_test.py +++ b/conans/test/unittests/client/build/qbs_test.py @@ -158,3 +158,42 @@ def test_build_with_custom_configuration(self): config_values['product.App.stringProperty'], 'product.App.stringListProperty', config_values['product.App.stringListProperty'])) + + def test_install(self): + conanfile = MockConanfile( + MockSettings({'os': 'Linux', 'compiler': 'gcc'}), + runner=RunnerMock()) + conanfile.source_folder = '.' + conanfile.package_folder = 'pkg' + build_helper = qbs.Qbs(conanfile) + + build_helper.install() + self.assertEqual( + conanfile.runner.command_called, + ('qbs install --no-build --install-root %s ' + '--file %s') % ( + conanfile.package_folder, build_helper._project_file)) + + def test_install_with_custom_configuration(self): + conanfile = MockConanfile( + MockSettings({'os': 'Linux', 'compiler': 'gcc'}), + runner=RunnerMock()) + conanfile.source_folder = '.' + conanfile.package_folder = 'pkg' + build_helper = qbs.Qbs(conanfile) + config_name = 'debug' + config_values = { + 'product.App.boolProperty': True, + 'product.App.intProperty': 1337, + 'product.App.stringProperty': 'Hello World', + 'product.App.stringListProperty': ['Hello', 'World'] + } + build_helper.add_configuration(config_name, config_values) + + build_helper.install() + self.assertEqual( + conanfile.runner.command_called, + ('qbs install --no-build --install-root %s ' + '--file %s config:%s') % ( + conanfile.package_folder, build_helper._project_file, + config_name))