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))
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))
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))
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))