Esempio n. 1
0
    def test_parse_add_library_with_type_and_flag(self):
        givenAst = ast.Ast()
        result = givenAst.parse(
            "add_library(TabsPlsLib STATIC EXCLUDE_FROM_ALL file.h file.cpp)")

        expected_result = ast.AddLibrary(
            "TabsPlsLib",
            ast.CMakeStringList(
                [ast.ListItemString("file.h"),
                 ast.ListItemString("file.cpp")]))

        self.assertTrue(list(result)[0].is_same(expected_result))
Esempio n. 2
0
    def test_parse_add_executable_exclude_from_all_flag(self):
        givenAst = ast.Ast()
        result = givenAst.parse(
            "add_executable(TabsPls MACOSX_BUNDLE EXCLUDE_FROM_ALL ${TabsPls_Headers} ${TabsPls_Sources} main.cpp)"
        )

        expected_result = ast.AddExecutable(
            "TabsPls",
            ast.CMakeStringList([
                ast.VariableUse("TabsPls_Headers"),
                ast.VariableUse("TabsPls_Sources"),
                ast.ListItemString("main.cpp")
            ]))

        self.assertTrue(list(result)[0].is_same(expected_result))
Esempio n. 3
0
    def test_parse_add_executable_win32_flag(self):
        givenAst = ast.Ast()
        result = givenAst.parse(
            "add_executable(TabsPls WIN32 ${TabsPls_Headers} ${TabsPls_Sources} main.cpp)"
        )

        expected_result = ast.AddExecutable(
            "TabsPls",
            ast.CMakeStringList([
                ast.VariableUse("TabsPls_Headers"),
                ast.VariableUse("TabsPls_Sources"),
                ast.ListItemString("main.cpp")
            ]))

        self.assertTrue(list(result)[0].is_same(expected_result))
Esempio n. 4
0
    def test_parse_target_sources(self):
        givenAst = ast.Ast()
        result = givenAst.parse(
            "target_sources(TabsPls PRIVATE file_linux.h file_linux.cpp ${TabsPls_Sources_Linux} PUBLIC linux_extras.h)"
        )

        expected_result = ast.TargetSources(
            "TabsPls",
            ast.CMakeStringList([
                ast.ListItemStringWithLocation("file_linux.h", 31),
                ast.ListItemStringWithLocation("file_linux.cpp", 44),
                ast.VariableUseWithLocation("TabsPls_Sources_Linux", 59),
                ast.ListItemStringWithLocation("linux_extras.h", 91)
            ]))

        self.assertTrue(list(result)[0].is_same(expected_result))