def test_add_cmake_project(self): """Add CMake Project""" self.data_test['cmake'] = get_cmake_lists(self.cur_dir) under_test = ProjectVariables(self.data_test) # Case CXX language under_test.add_cmake_project(['cpp']) self.data_test['cmake'].close() cmakelists_test = open('%s/CMakeLists.txt' % self.cur_dir, 'r') content_test = cmakelists_test.read() self.assertTrue('project(${PROJECT_NAME} CXX)' in content_test) cmakelists_test.close() # Case C language under_test.cmake = get_cmake_lists(self.cur_dir) under_test.add_cmake_project(['c']) under_test.cmake.close() cmakelists_test = open('%s/CMakeLists.txt' % self.cur_dir, 'r') content_test = cmakelists_test.read() self.assertTrue('project(${PROJECT_NAME} C)' in content_test) cmakelists_test.close()
def create_data(self): """ Create the data and convert each part of "vcxproj" project """ # Write variables variables = ProjectVariables(self.data) variables.add_project_variables() files = ProjectFiles(self.data) files.collects_source_files() variables.add_cmake_project(files.language) variables.add_default_target() # Write Output Variables variables.add_cmake_output_directories() variables.write_project_messages() # Add includes files & directories if self.data['includecmake'] or self.data['include']: title = get_title('Includes', 'Include files and directories') self.data['cmake'].write(title) # Include ".cmake" file if self.data['includecmake']: files.add_include_cmake(self.data['includecmake']) # Write Include Directories depends = Dependencies(self.data) if self.data['include']: depends.write_include_dir() else: message('Include Directories is not set.', '') # Write Dependencies depends.write_dependencies() # Add additional code if self.data['additional'] is not None: files.add_additional_code(self.data['additional']) # Write and add Files files.write_source_files() if files.sources: files.add_target_artefact() # Write Flags all_flags = Flags(self.data) all_flags.write_flags() # Write Macro all_flags.write_defines_and_flags() # Link with other dependencies title = get_title('Link & Dependencies', 'Add project dependencies and Link to project') self.data['cmake'].write(title) depends.add_dependencies() depends.link_dependencies()
def create_data(self): """ Create the data and convert each part of "vcxproj" project """ # Write variables variables = ProjectVariables(self.data) variables.add_project_variables() variables.add_outputs_variables() files = ProjectFiles(self.data) files.write_files_variables() variables.add_cmake_project(files.language) variables.add_default_target() # Write Macro define_and_write_macro(self.data) # Write Output Variables variables.add_artefact_target_outputs() # Write Include Directories depends = Dependencies(self.data) if self.data['includes']: depends.write_include_dir() else: send('Include Directories is not set.', '') # Write Dependencies depends.write_dependencies() # Add additional code or not if self.data['additional_code'] is not None: files.add_additional_code(self.data['additional_code']) # Write Flags all_flags = Flags(self.data) all_flags.write_flags() # Write and add Files files.write_source_files() files.add_target_artefact() # Link with other dependencies depends.link_dependencies()
def create_data(self): """ Create the data and convert each part of vcxproj project """ # Write variables variables = ProjectVariables(self.data) variables.add_project_variables() variables.add_outputs_variables() files = ProjectFiles(self.data) files.write_files_variables() variables.add_cmake_project(files.language) variables.add_default_target() # Write Macro define_and_write_macro(self.data) # Write Output Variables variables.add_artefact_target_outputs() # Write Include Directories depends = Dependencies(self.data) if self.data['includes']: depends.write_include_dir() else: send('Include Directories is not set.', '') # Write Dependencies depends.write_dependencies() # Add additional code or not if self.data['additional_code'] is not None: files.add_additional_code(self.data['additional_code']) # Write Flags all_flags = Flags(self.data) all_flags.write_flags() # Write and add Files files.write_source_files() files.add_target_artefact() # Link with other dependencies depends.link_dependencies()