def configure(self, build_script_folder=None): cmakelist_folder = self._conanfile.source_folder if build_script_folder: cmakelist_folder = os.path.join(self._conanfile.source_folder, build_script_folder) build_folder = self._conanfile.build_folder generator_folder = self._conanfile.generators_folder mkdir(self._conanfile, build_folder) arg_list = [self._cmake_program] if self._generator: arg_list.append('-G "{}"'.format(self._generator)) if self._toolchain_file: if os.path.isabs(self._toolchain_file): toolpath = self._toolchain_file else: toolpath = os.path.join(generator_folder, self._toolchain_file) arg_list.append('-DCMAKE_TOOLCHAIN_FILE="{}"'.format( toolpath.replace("\\", "/"))) if self._conanfile.package_folder: pkg_folder = self._conanfile.package_folder.replace("\\", "/") arg_list.append('-DCMAKE_INSTALL_PREFIX="{}"'.format(pkg_folder)) if platform.system( ) == "Windows" and self._generator == "MinGW Makefiles": arg_list.append('-DCMAKE_SH="CMAKE_SH-NOTFOUND"') arg_list.append('"{}"'.format(cmakelist_folder)) command = " ".join(arg_list) self._conanfile.output.info("CMake command: %s" % command) with chdir(self, build_folder): self._conanfile.run(command)
def autoreconf(self, args=None): args = args or [] command = join_arguments( ["autoreconf", self._autoreconf_args, args_to_string(args)]) with chdir(self, self._conanfile.source_folder): self._conanfile.run(command)
def configure(self, variables=None, build_script_folder=None): cmakelist_folder = self._conanfile.source_folder if build_script_folder: cmakelist_folder = os.path.join(self._conanfile.source_folder, build_script_folder) build_folder = self._conanfile.build_folder generator_folder = self._conanfile.generators_folder mkdir(self._conanfile, build_folder) arg_list = [self._cmake_program] if self._generator: arg_list.append('-G "{}"'.format(self._generator)) if self._toolchain_file: if os.path.isabs(self._toolchain_file): toolpath = self._toolchain_file else: toolpath = os.path.join(generator_folder, self._toolchain_file) arg_list.append('-DCMAKE_TOOLCHAIN_FILE="{}"'.format( toolpath.replace("\\", "/"))) if self._conanfile.package_folder: pkg_folder = self._conanfile.package_folder.replace("\\", "/") arg_list.append('-DCMAKE_INSTALL_PREFIX="{}"'.format(pkg_folder)) if platform.system( ) == "Windows" and self._generator == "MinGW Makefiles": # It seems these don't work in the toolchain file, they need to be here in command line arg_list.append('-DCMAKE_SH="CMAKE_SH-NOTFOUND"') cmake_make_program = self._conanfile.conf.get( "tools.gnu:make_program", default=None) if cmake_make_program: cmake_make_program = cmake_make_program.replace("\\", "/") arg_list.append( '-DCMAKE_MAKE_PROGRAM="{}"'.format(cmake_make_program)) if variables: arg_list.extend( ["-D{}={}".format(k, v) for k, v in variables.items()]) arg_list.append('"{}"'.format(cmakelist_folder)) command = " ".join(arg_list) self._conanfile.output.info("CMake command: %s" % command) with chdir(self, build_folder): self._conanfile.run(command)
def configure(self, variables=None, build_script_folder=None): cmakelist_folder = self._conanfile.source_folder if build_script_folder: cmakelist_folder = os.path.join(self._conanfile.source_folder, build_script_folder) build_folder = self._conanfile.build_folder generator_folder = self._conanfile.generators_folder mkdir(self._conanfile, build_folder) arg_list = [self._cmake_program] if self._generator: arg_list.append('-G "{}"'.format(self._generator)) if self._toolchain_file: if os.path.isabs(self._toolchain_file): toolpath = self._toolchain_file else: toolpath = os.path.join(generator_folder, self._toolchain_file) arg_list.append('-DCMAKE_TOOLCHAIN_FILE="{}"'.format( toolpath.replace("\\", "/"))) if self._conanfile.package_folder: pkg_folder = self._conanfile.package_folder.replace("\\", "/") arg_list.append('-DCMAKE_INSTALL_PREFIX="{}"'.format(pkg_folder)) if not variables: variables = {} self._cache_variables.update(variables) arg_list.extend([ '-D{}="{}"'.format(k, v) for k, v in self._cache_variables.items() ]) arg_list.append('"{}"'.format(cmakelist_folder)) command = " ".join(arg_list) self._conanfile.output.info("CMake command: %s" % command) with chdir(self, build_folder): self._conanfile.run(command)
def _run(self, cmd): with chdir(self._conanfile, self.folder): return check_output_runner("git {}".format(cmd)).strip()