def command_line(self): if self.generator_platform and not is_generator_platform_supported( self.generator): raise ConanException( 'CMake does not support generator platform with generator ' '"%s:. Please check your conan profile to either remove the ' 'generator platform, or change the CMake generator.' % self.generator) if self.toolset and not is_toolset_supported(self.generator): raise ConanException( 'CMake does not support toolsets with generator "%s:.' 'Please check your conan profile to either remove the toolset,' ' or change the CMake generator.' % self.generator) generator = self.generator generator_platform = self.generator_platform if self.generator_platform and 'Visual Studio' in generator: # FIXME: Conan 2.0 We are adding the platform to the generator instead of using # the -A argument to keep previous implementation, but any modern CMake will support # (and recommend) passing the platform in its own argument. # Get the version from the generator, as it could have been defined by user argument compiler_version = re.search("Visual Studio ([0-9]*)", generator).group(1) if Version(compiler_version) < "16" and self._settings.get_safe( "os") != "WindowsCE": if self.generator_platform == "x64": generator += " Win64" if not generator.endswith( " Win64") else "" generator_platform = None elif self.generator_platform == "ARM": generator += " ARM" if not generator.endswith( " ARM") else "" generator_platform = None elif self.generator_platform == "Win32": generator_platform = None args = ['-G "{}"'.format(generator)] if generator else [] if generator_platform: args.append('-A "{}"'.format(generator_platform)) args.append(self.flags) args.append('-Wno-dev') if self.toolset: args.append('-T "%s"' % self.toolset) return join_arguments(args)
def command_line(self): args = ['-G "%s"' % self.generator] if self.generator else [] if self.generator_platform: if is_generator_platform_supported(self.generator): args.append('-A "%s"' % self.generator_platform) else: raise ConanException( 'CMake does not support generator platform with generator ' '"%s:. Please check your conan profile to either remove the ' 'generator platform, or change the CMake generator.' % self.generator) args.append(self.flags) args.append('-Wno-dev') if self.toolset: if is_toolset_supported(self.generator): args.append('-T "%s"' % self.toolset) else: raise ConanException( 'CMake does not support toolsets with generator "%s:.' 'Please check your conan profile to either remove the toolset,' ' or change the CMake generator.' % self.generator) return join_arguments(args)