def build(self): cmake = CMake(self) for exec in self._executables: cmake.definitions["EXEC_{}".format(exec.replace("-", "_")).upper()] = True cmake.configure() cmake.build()
def configure_cmake(self): cmake = CMake(self) cmake.configure() return cmake
def package(self): cmake = CMake(self) cmake.install() self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder)
def build(self): cmake = CMake(self) cmake.configure(source_folder="src") # in src must be a makefile. cmake.build()
def package(self): cmake = CMake(self.settings) self.run(f"cmake --build . --target install {cmake.build_config}")
def build(self): cmake = CMake(self) cmake.configure(source_folder="src") cmake.build()
def build(self): cmake = CMake(self, generator="Ninja") cmake.configure(build_dir='build', source_dir='../{}'.format(self.source_dir)) cmake.build()
def build(self): cmake = CMake(self) cmake.definitions["P7_SHARED"] = self.options["baical-p7"].shared cmake.configure() cmake.build()
def build(self): cmake = CMake(self) # Current dir is "test_package/build/<build_id>" and CMakeLists.txt is in "test_package" cmake.configure(source_dir=self.conanfile_directory, build_dir="./") cmake.build()
def build(self): cmake = CMake(self) cmake.configure(source_folder="./metis-5.1.0") cmake.build()
def build(self): build_system = CMake(self) build_system.configure() build_system.build()
def build(self): cmake = CMake(self) cmake.configure(source_folder="CMake-hdf5-1.8.21/hdf5-1.8.21") cmake.build() cmake.install()
def configure_cmake(self): cmake = CMake(self) cmake.configure(source_folder=self._source_subfolder) return cmake
def _test_default_generator_cmake(self, settings, generator): conanfile = ConanFileMock() conanfile.settings = settings cmake = CMake(conanfile) self.assertEquals(generator, cmake.generator) self.assertIn('-G "{}"'.format(generator), cmake.command_line)
def build(self): cmake = CMake(self) cmake.definitions["BUILD_SHARED_LIBS"] = False cmake.configure() cmake.build()
def _cmake_configure(self): cmake = CMake(self) cmake.configure(source_folder=self.source_folder) return cmake
def package(self): cmake = CMake(self) cmake.install()
def build(self): cmake = CMake(self, generator="Ninja", msbuild_verbosity='normal') cmake.verbose = True cmake.configure() cmake.build() self.cmake_is_multi_configuration = cmake.is_multi_configuration
def build(self): cmake = CMake(self.settings) self.run('cmake %s %s' % (self.conanfile_directory, cmake.command_line)) self.run("cmake --build . %s" % cmake.build_config)
def build(self): cmake = CMake(self.settings) self.run('cmake repo/sources %s' % (cmake.command_line)) self.run("cmake --build . %s" % cmake.build_config)
def build(self): cmake = CMake(self) shared = "-DBUILD_SHARED_LIBS=ON" if self.options.shared else "" self.run('cmake . %s %s' % (cmake.command_line, shared)) self.run("cmake --build . %s" % cmake.build_config)
def _configure_cmake(self): if self._cmake: return self._cmake self._cmake = CMake(self) cmake_required_includes = [ ] # List of directories used by CheckIncludeFile (https://cmake.org/cmake/help/latest/module/CheckIncludeFile.html) cmake_extra_ldflags = [] # FIXME: self.install_folder not defined? Neccessary? self._cmake.definitions["CONAN_INSTALL_FOLDER"] = self.install_folder if self.settings.os != "Windows" and not self.options.shared: self._cmake.definitions["SDL_STATIC_PIC"] = self.options.fPIC if self.settings.compiler in ["Visual Studio", "msvc" ] and not self.options.shared: self._cmake.definitions["HAVE_LIBC"] = True self._cmake.definitions["SDL_SHARED"] = self.options.shared self._cmake.definitions["SDL_STATIC"] = not self.options.shared if tools.Version(self.version) < "2.0.18": self._cmake.definitions["VIDEO_OPENGL"] = self.options.opengl self._cmake.definitions["VIDEO_OPENGLES"] = self.options.opengles self._cmake.definitions["VIDEO_VULKAN"] = self.options.vulkan if self.settings.os == "Linux": # See https://github.com/bincrafters/community/issues/696 self._cmake.definitions[ "SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS"] = 1 self._cmake.definitions["ALSA"] = self.options.alsa if self.options.alsa: self._cmake.definitions[ "ALSA_SHARED"] = self.deps_cpp_info["libalsa"].shared self._cmake.definitions["HAVE_ASOUNDLIB_H"] = True self._cmake.definitions["HAVE_LIBASOUND"] = True self._cmake.definitions["JACK"] = self.options.jack if self.options.jack: self._cmake.definitions[ "JACK_SHARED"] = self.deps_cpp_info["jack"].shared self._cmake.definitions["ESD"] = self.options.esd if self.options.esd: self._cmake.definitions["ESD_SHARED"] = self.deps_cpp_info[ "esd"].shared self._cmake.definitions["PULSEAUDIO"] = self.options.pulse if self.options.pulse: self._cmake.definitions[ "PULSEAUDIO_SHARED"] = self.deps_cpp_info[ "pulseaudio"].shared self._cmake.definitions["SNDIO"] = self.options.sndio if self.options.sndio: self._cmake.definitions[ "SNDIO_SHARED"] = self.deps_cpp_info["sndio"].shared self._cmake.definitions["NAS"] = self.options.nas if self.options.nas: cmake_extra_ldflags += [ "-lXau" ] # FIXME: SDL sources doesn't take into account transitive dependencies cmake_required_includes += [ os.path.join(self.deps_cpp_info["nas"].rootpath, str(it)) for it in self.deps_cpp_info["nas"].includedirs ] self._cmake.definitions["NAS_SHARED"] = self.options[ "nas"].shared self._cmake.definitions["VIDEO_X11"] = self.options.x11 if self.options.x11: self._cmake.definitions["HAVE_XEXT_H"] = True self._cmake.definitions[ "VIDEO_X11_XCURSOR"] = self.options.xcursor if self.options.xcursor: self._cmake.definitions["HAVE_XCURSOR_H"] = True self._cmake.definitions[ "VIDEO_X11_XINERAMA"] = self.options.xinerama if self.options.xinerama: self._cmake.definitions["HAVE_XINERAMA_H"] = True self._cmake.definitions[ "VIDEO_X11_XINPUT"] = self.options.xinput if self.options.xinput: self._cmake.definitions["HAVE_XINPUT_H"] = True self._cmake.definitions[ "VIDEO_X11_XRANDR"] = self.options.xrandr if self.options.xrandr: self._cmake.definitions["HAVE_XRANDR_H"] = True self._cmake.definitions[ "VIDEO_X11_XSCRNSAVER"] = self.options.xscrnsaver if self.options.xscrnsaver: self._cmake.definitions["HAVE_XSS_H"] = True self._cmake.definitions[ "VIDEO_X11_XSHAPE"] = self.options.xshape if self.options.xshape: self._cmake.definitions["HAVE_XSHAPE_H"] = True self._cmake.definitions["VIDEO_X11_XVM"] = self.options.xvm if self.options.xvm: self._cmake.definitions["HAVE_XF86VM_H"] = True self._cmake.definitions["VIDEO_WAYLAND"] = self.options.wayland if self.options.wayland: # FIXME: Otherwise 2.0.16 links with system wayland (from egl/system requirement) cmake_extra_ldflags += [ "-L{}".format( os.path.join( self.deps_cpp_info["wayland"].rootpath, it)) for it in self.deps_cpp_info["wayland"].libdirs ] self._cmake.definitions["WAYLAND_SHARED"] = self.options[ "wayland"].shared self._cmake.definitions[ "WAYLAND_SCANNER_1_15_FOUND"] = 1 # FIXME: Check actual build-requires version self._cmake.definitions[ "VIDEO_DIRECTFB"] = self.options.directfb self._cmake.definitions["VIDEO_RPI"] = self.options.video_rpi self._cmake.definitions[ "HAVE_LIBUNWIND_H"] = self.options.libunwind elif self.settings.os == "Windows": self._cmake.definitions["DIRECTX"] = self.options.directx else: self._cmake.definitions["SDL_OPENGL"] = self.options.opengl self._cmake.definitions["SDL_OPENGLES"] = self.options.opengles self._cmake.definitions["SDL_VULKAN"] = self.options.vulkan if self.settings.os == "Linux": # See https://github.com/bincrafters/community/issues/696 self._cmake.definitions[ "SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS"] = 1 self._cmake.definitions["SDL_ALSA"] = self.options.alsa if self.options.alsa: self._cmake.definitions[ "SDL_ALSA_SHARED"] = self.deps_cpp_info[ "libalsa"].shared self._cmake.definitions["HAVE_ASOUNDLIB_H"] = True self._cmake.definitions["HAVE_LIBASOUND"] = True self._cmake.definitions["SDL_JACK"] = self.options.jack if self.options.jack: self._cmake.definitions[ "SDL_JACK_SHARED"] = self.deps_cpp_info["jack"].shared self._cmake.definitions["SDL_ESD"] = self.options.esd if self.options.esd: self._cmake.definitions[ "SDL_ESD_SHARED"] = self.deps_cpp_info["esd"].shared self._cmake.definitions["SDL_PULSEAUDIO"] = self.options.pulse if self.options.pulse: self._cmake.definitions[ "SDL_PULSEAUDIO_SHARED"] = self.deps_cpp_info[ "pulseaudio"].shared self._cmake.definitions["SDL_SNDIO"] = self.options.sndio if self.options.sndio: self._cmake.definitions[ "SDL_SNDIO_SHARED"] = self.deps_cpp_info[ "sndio"].shared self._cmake.definitions["SDL_NAS"] = self.options.nas if self.options.nas: cmake_extra_ldflags += [ "-lXau" ] # FIXME: SDL sources doesn't take into account transitive dependencies cmake_required_includes += [ os.path.join(self.deps_cpp_info["nas"].rootpath, str(it)) for it in self.deps_cpp_info["nas"].includedirs ] self._cmake.definitions["SDL_NAS_SHARED"] = self.options[ "nas"].shared self._cmake.definitions["SDL_X11"] = self.options.x11 if self.options.x11: self._cmake.definitions["HAVE_XEXT_H"] = True self._cmake.definitions[ "SDL_X11_XCURSOR"] = self.options.xcursor if self.options.xcursor: self._cmake.definitions["HAVE_XCURSOR_H"] = True self._cmake.definitions[ "SDL_X11_XINERAMA"] = self.options.xinerama if self.options.xinerama: self._cmake.definitions["HAVE_XINERAMA_H"] = True self._cmake.definitions["SDL_X11_XINPUT"] = self.options.xinput if self.options.xinput: self._cmake.definitions["HAVE_XINPUT_H"] = True self._cmake.definitions["SDL_X11_XRANDR"] = self.options.xrandr if self.options.xrandr: self._cmake.definitions["HAVE_XRANDR_H"] = True self._cmake.definitions[ "SDL_X11_XSCRNSAVER"] = self.options.xscrnsaver if self.options.xscrnsaver: self._cmake.definitions["HAVE_XSS_H"] = True self._cmake.definitions["SDL_X11_XSHAPE"] = self.options.xshape if self.options.xshape: self._cmake.definitions["HAVE_XSHAPE_H"] = True self._cmake.definitions["SDL_X11_XVM"] = self.options.xvm if self.options.xvm: self._cmake.definitions["HAVE_XF86VM_H"] = True self._cmake.definitions["SDL_WAYLAND"] = self.options.wayland if self.options.wayland: # FIXME: Otherwise 2.0.16 links with system wayland (from egl/system requirement) cmake_extra_ldflags += [ "-L{}".format( os.path.join( self.deps_cpp_info["wayland"].rootpath, it)) for it in self.deps_cpp_info["wayland"].libdirs ] self._cmake.definitions[ "SDL_WAYLAND_SHARED"] = self.options["wayland"].shared self._cmake.definitions[ "WAYLAND_SCANNER_1_15_FOUND"] = 1 # FIXME: Check actual build-requires version self._cmake.definitions["SDL_DIRECTFB"] = self.options.directfb self._cmake.definitions["SDL_RPI"] = self.options.video_rpi self._cmake.definitions[ "HAVE_LIBUNWIND_H"] = self.options.libunwind elif self.settings.os == "Windows": self._cmake.definitions["SDL_DIRECTX"] = self.options.directx # Add extra information collected from the deps self._cmake.definitions["EXTRA_LDFLAGS"] = " ".join( cmake_extra_ldflags) self._cmake.definitions["CMAKE_REQUIRED_INCLUDES"] = ";".join( cmake_required_includes) self._cmake.configure(build_dir=self._build_subfolder) return self._cmake
def build(self): cmake = CMake(self) # Current dir is "test_package/build/<build_id>" and CMakeLists.txt is # in "test_package" cmake.configure() cmake.build()
def _configure_cmake(self): if self._cmake is not None: return self._cmake # This doesn't work yet as one would expect, because the install target builds everything # and we need the install target because of the generated CMake files # # enable_mobile=False # Enables iOS and Android support # # cmake.definitions["CONAN_ENABLE_MOBILE"] = "ON" if self.options.csharp_ext else "OFF" self._cmake = CMake(self) self._cmake.definitions["gRPC_BUILD_CODEGEN"] = self.options.codegen self._cmake.definitions[ "gRPC_BUILD_CSHARP_EXT"] = self.options.csharp_ext self._cmake.definitions["gRPC_BUILD_TESTS"] = False # We need the generated cmake/ files (bc they depend on the list of targets, which is dynamic) self._cmake.definitions["gRPC_INSTALL"] = True self._cmake.definitions["gRPC_INSTALL_SHAREDIR"] = "res/grpc" # tell grpc to use the find_package versions self._cmake.definitions["gRPC_ZLIB_PROVIDER"] = "package" self._cmake.definitions["gRPC_CARES_PROVIDER"] = "package" self._cmake.definitions["gRPC_RE2_PROVIDER"] = "package" self._cmake.definitions["gRPC_SSL_PROVIDER"] = "package" self._cmake.definitions["gRPC_PROTOBUF_PROVIDER"] = "package" self._cmake.definitions["gRPC_ABSL_PROVIDER"] = "package" self._cmake.definitions[ "gRPC_BUILD_GRPC_CPP_PLUGIN"] = self.options.cpp_plugin self._cmake.definitions[ "gRPC_BUILD_GRPC_CSHARP_PLUGIN"] = self.options.csharp_plugin self._cmake.definitions[ "gRPC_BUILD_GRPC_NODE_PLUGIN"] = self.options.node_plugin self._cmake.definitions[ "gRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN"] = self.options.objective_c_plugin self._cmake.definitions[ "gRPC_BUILD_GRPC_PHP_PLUGIN"] = self.options.php_plugin self._cmake.definitions[ "gRPC_BUILD_GRPC_PYTHON_PLUGIN"] = self.options.python_plugin self._cmake.definitions[ "gRPC_BUILD_GRPC_RUBY_PLUGIN"] = self.options.ruby_plugin # Consumed targets (abseil) via interface target_compiler_feature can propagate newer standards if not tools_legacy.valid_min_cppstd(self, self._cxxstd_required): self._cmake.definitions[ "CMAKE_CXX_STANDARD"] = self._cxxstd_required if tools.build.cross_building(self): # otherwise find_package() can't find config files since # conan doesn't populate CMAKE_FIND_ROOT_PATH self._cmake.definitions[ "CMAKE_FIND_ROOT_PATH_MODE_PACKAGE"] = "BOTH" if tools_legacy.is_apple_os(self.settings.os): # workaround for: install TARGETS given no BUNDLE DESTINATION for MACOSX_BUNDLE executable self._cmake.definitions["CMAKE_MACOSX_BUNDLE"] = False if self._is_msvc and Version(self.version) >= "1.48": self._cmake.definitions["CMAKE_SYSTEM_VERSION"] = "10.0.18362.0" self._cmake.configure(build_folder=self._build_subfolder) return self._cmake
def _configure_cmake(self): if self._cmake: return self._cmake self._cmake = CMake(self) self._cmake.configure(build_folder=self._build_subfolder) return self._cmake
def _configure_cmake(self): if self._cmake: return self._cmake self._cmake = CMake(self, generator="Ninja") self._cmake.definitions["INSTALL_MKSPECSDIR"] = os.path.join( self.package_folder, "res", "archdatadir", "mkspecs") self._cmake.definitions["INSTALL_ARCHDATADIR"] = os.path.join( self.package_folder, "res", "archdatadir") self._cmake.definitions["INSTALL_DATADIR"] = os.path.join( self.package_folder, "res", "datadir") self._cmake.definitions["INSTALL_SYSCONFDIR"] = os.path.join( self.package_folder, "res", "sysconfdir") self._cmake.definitions["QT_BUILD_TESTS"] = "OFF" self._cmake.definitions["QT_BUILD_EXAMPLES"] = "OFF" if self.settings.compiler == "Visual Studio": if self.settings.compiler.runtime == "MT" or self.settings.compiler.runtime == "MTd": self._cmake.definitions["FEATURE_static_runtime"] = "ON" if self.options.multiconfiguration: self._cmake.generator = "Ninja Multi-Config" self._cmake.definitions[ "CMAKE_CONFIGURATION_TYPES"] = "Release;Debug" self._cmake.definitions["FEATURE_optimize_size"] = ( "ON" if self.settings.build_type == "MinSizeRel" else "OFF") for module in self._submodules: if module != 'qtbase': self._cmake.definitions["BUILD_%s" % module] = ( "ON" if self.options.get_safe(module) else "OFF") self._cmake.definitions["FEATURE_system_zlib"] = "ON" self._cmake.definitions["INPUT_opengl"] = self.options.opengl # openSSL if not self.options.openssl: self._cmake.definitions["INPUT_openssl"] = "no" else: if self.options["openssl"].shared: self._cmake.definitions["INPUT_openssl"] = "runtime" else: self._cmake.definitions["INPUT_openssl"] = "linked" for opt, conf_arg in [("with_glib", "glib"), ("with_icu", "icu"), ("with_fontconfig", "fontconfig"), ("with_mysql", "sql_mysql"), ("with_pq", "sql_psql"), ("with_odbc", "sql_odbc"), ("gui", "gui"), ("widgets", "widgets"), ("with_zstd", "zstd"), ("with_vulkan", "vulkan")]: self._cmake.definitions["FEATURE_%s" % conf_arg] = ("ON" if self.options.get_safe( opt, False) else "OFF") for opt, conf_arg in [ ("with_doubleconversion", "doubleconversion"), ("with_freetype", "freetype"), ("with_harfbuzz", "harfbuzz"), ("with_libjpeg", "jpeg"), ("with_libpng", "png"), ("with_sqlite3", "sqlite"), ("with_pcre2", "pcre2"), ]: if self.options.get_safe(opt, False): if self.options.multiconfiguration: self._cmake.definitions["FEATURE_%s" % conf_arg] = "ON" else: self._cmake.definitions["FEATURE_system_%s" % conf_arg] = "ON" else: self._cmake.definitions["FEATURE_%s" % conf_arg] = "OFF" self._cmake.definitions["FEATURE_system_%s" % conf_arg] = "OFF" if self.settings.os == "Macos": self._cmake.definitions["FEATURE_framework"] = "OFF" elif self.settings.os == "Android": self._cmake.definitions[ "CMAKE_ANDROID_NATIVE_API_LEVEL"] = self.settings.os.api_level self._cmake.definitions["ANDROID_ABI"] = { "armv7": "armeabi-v7a", "armv8": "arm64-v8a", "x86": "x86", "x86_64": "x86_64" }.get(str(self.settings.arch)) if self.options.sysroot: self._cmake.definitions["CMAKE_SYSROOT"] = self.options.sysroot if self.options.device: self._cmake.definitions["QT_QMAKE_TARGET_MKSPEC"] = os.path.join( "devices", self.options.device) else: xplatform_val = self._xplatform() if xplatform_val: self._cmake.definitions[ "QT_QMAKE_TARGET_MKSPEC"] = xplatform_val else: self.output.warn( "host not supported: %s %s %s %s" % (self.settings.os, self.settings.compiler, self.settings.compiler.version, self.settings.arch)) if self.options.cross_compile: self._cmake.definitions[ "QT_QMAKE_DEVICE_OPTIONS"] = "CROSS_COMPILE=%s" % self.options.cross_compile self._cmake.definitions["FEATURE_pkg_config"] = "ON" if self.settings.compiler == "gcc" and self.settings.build_type == "Debug" and not self.options.shared: self._cmake.definitions[ "BUILD_WITH_PCH"] = "OFF" # disabling PCH to save disk space try: self._cmake.configure(source_folder="qt6") except: self.output.info( tools.load( os.path.join(self.build_folder, "CMakeFiles", "CMakeError.log"))) self.output.info( tools.load( os.path.join(self.build_folder, "CMakeFiles", "CMakeOutput.log"))) raise return self._cmake
def _build_zlib_cmake(self): cmake = CMake(self) cmake.configure(build_dir=".") # we need to build only libraries without test example/example64 and minigzip/minigzip64 make_target = "zlib" if self.options.shared else "zlibstatic" cmake.build(build_dir=".", target=make_target)
def build(self): cmake = CMake(self) cmake.definitions["BUILD_ASYNC"] = self.options[ "paho-mqtt-c"].asynchronous cmake.configure() cmake.build()
def build(self): cmake = CMake(self) cmake.configure() cmake.build()
def build(self): cmake = CMake(self) #cmake.verbose = True cmake.configure() cmake.build()