forked from conan-io/conan
/
test_cmake_cmd_line_args.py
54 lines (37 loc) · 1.42 KB
/
test_cmake_cmd_line_args.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import textwrap
import pytest
from conan.tools.cmake.cmake import _cmake_cmd_line_args
from conans.model.conf import ConfDefinition
from conans.test.utils.mocks import ConanFileMock
@pytest.fixture
def conanfile():
c = ConfDefinition()
c.loads(textwrap.dedent("""\
tools.gnu.make:jobs=40
tools.ninja:jobs=30
tools.microsoft.msbuild:max_cpu_count=20
tools.build:processes=10
"""))
conanfile = ConanFileMock()
conanfile.conf = c.get_conanfile_conf(None)
return conanfile
def test_no_generator(conanfile):
args = _cmake_cmd_line_args(conanfile, None, parallel=True)
assert not len(args)
def test_makefiles(conanfile):
args = _cmake_cmd_line_args(conanfile, 'Unix Makefiles', parallel=True)
assert args == ['-j40']
args = _cmake_cmd_line_args(conanfile, 'Unix Makefiles', parallel=False)
assert not len(args)
args = _cmake_cmd_line_args(conanfile, 'NMake Makefiles', parallel=True)
assert not len(args)
def test_ninja(conanfile):
args = _cmake_cmd_line_args(conanfile, 'Ninja', parallel=True)
assert ['-j30'] == args
args = _cmake_cmd_line_args(conanfile, 'Ninja', parallel=False)
assert not len(args)
def test_visual_studio(conanfile):
args = _cmake_cmd_line_args(conanfile, 'Visual Studio 16 2019', parallel=True)
assert ['/m:20'] == args
args = _cmake_cmd_line_args(conanfile, 'Ninja', parallel=False)
assert not len(args)