def generate(self):
     toolchain = CMakeToolchain(self)
     toolchain.variables["BUILD_SHARED_LIBS"] = self.options.shared
     toolchain.variables["ASSERT"] = self.settings.build_type == "Debug"
     toolchain.variables["ASSERT2"] = self.settings.build_type == "Debug"
     toolchain.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = self.options.shared
     toolchain.generate()
예제 #2
0
 def generate(self):
     toolchain = CMakeToolchain(self)
     toolchain.variables["USUL_BUILD_TESTS"] = self.options.run_tests
     toolchain.variables["USUL_ENABLE_CODE_COVERAGE"] = False
     toolchain.variables["CMAKE_DEBUG_POSTFIX"] = ""
     toolchain.variables["CMAKE_VERBOSE_MAKEFILE"] = True
     toolchain.generate()
예제 #3
0
 def generate(self):
     tc = CMakeToolchain(self)
     if Version(self.version) < "2.2.8":
         tc.variables["BUILD_doc"] = "Off"
         tc.variables["BUILD_examples"] = "Off"
         tc.variables["BUILD_shared"] = self.options.shared
         tc.variables["BUILD_tests"] = "Off"
         tc.variables["BUILD_tools"] = "Off"
         # Generate a relocatable shared lib on Macos
         tc.variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW"
     else:
         # These options were renamed in 2.2.8 to be more consistent
         tc.variables["EXPAT_BUILD_DOCS"] = "Off"
         tc.variables["EXPAT_BUILD_EXAMPLES"] = "Off"
         tc.variables["EXPAT_SHARED_LIBS"] = self.options.shared
         tc.variables["EXPAT_BUILD_TESTS"] = "Off"
         tc.variables["EXPAT_BUILD_TOOLS"] = "Off"
         # EXPAT_CHAR_TYPE was added in 2.2.8
         tc.variables["EXPAT_CHAR_TYPE"] = self.options.char_type
         if is_msvc(self):
             tc.variables[
                 "EXPAT_MSVC_STATIC_CRT"] = "MT" in msvc_runtime_flag(self)
     if Version(self.version) >= "2.2.10":
         tc.variables["EXPAT_BUILD_PKGCONFIG"] = False
     tc.generate()
예제 #4
0
 def generate(self):
     tc = CMakeToolchain(self)
     tc.variables["UNITS_DOWNCAST_MODE"] = str(self.options.downcast_mode).upper()
     # if self._run_tests:  # TODO Enable this when environment is supported in the Conan toolchain
     tc.variables["UNITS_BUILD_DOCS"] = self.options.build_docs
     tc.generate()
     deps = CMakeDeps(self)
     deps.generate()
예제 #5
0
 def generate(self):
     toolchain = CMakeToolchain(self)
     toolchain.variables["HINDSIGHT_WITH_FMT"] = self.options.with_fmt
     if self.settings.os == "Linux":
         toolchain.variables["HINDSIGHT_RESOLVER_BACKEND"] = self.options.resolver_backend
     toolchain.variables["HINDSIGHT_BUILD_TESTS"] = self.options.build_tests
     toolchain.variables["HINDSIGHT_BUILD_EXAMPLES"] = self.options.build_examples
     toolchain.variables["HINDSIGHT_BUILD_DOCS"] = self.options.build_docs
     toolchain.generate()
예제 #6
0
    def generate(self):
        deps = CMakeDeps(self)
        deps.generate()

        tc = CMakeToolchain(self)
        tc.variables["BUILD_EXAMPLES"] = self.options.with_examples
        tc.variables["BUILD_CONFIG"] = self.options.with_config
        tc.variables["BUILD_GLFW"] = self.options.with_glfw
        tc.variables["BUILD_IMGUI"] = self.options.with_imgui
        tc.generate()
예제 #7
0
 def generate(self):
     toolchain = CMakeToolchain(self)
     toolchain.variables["TBB_TEST"] = False
     toolchain.variables["CMAKE_INSTALL_BINDIR"] = "bin"
     toolchain.variables["CMAKE_INSTALL_SBINDIR"] = "bin"
     toolchain.variables["CMAKE_INSTALL_LIBEXECDIR"] = "bin"
     toolchain.variables["CMAKE_INSTALL_LIBDIR"] = "lib"
     toolchain.variables["CMAKE_INSTALL_INCLUDEDIR"] = "include"
     toolchain.variables["CMAKE_INSTALL_OLDINCLUDEDIR"] = "include"
     toolchain.variables["CMAKE_INSTALL_DATAROOTDIR"] = "share"
     toolchain.generate()
예제 #8
0
    def generate(self):
        cmake = CMakeDeps(self)
        cmake.generate()

        tc = CMakeToolchain(self)

        # Don't use Visual Studio as the CMAKE_GENERATOR
        if self.settings.compiler == "Visual Studio":
            tc.blocks["generic_system"].values["generator_platform"] = None
            tc.blocks["generic_system"].values["toolset"] = None

        tc.generate()
예제 #9
0
 def generate(self):
     tc = CMakeToolchain(self)
     tc.generator = "Ninja Multi-Config"
     tc.variables["CMAKE_VERBOSE_MAKEFILE"] = "TRUE"
     if self.settings.os == "iOS":
         tc.variables["CMAKE_SYSTEM_NAME"] = "iOS"
         if self.settings.arch != "x86_64":
             tc.blocks["apple_system"].values[
                 "cmake_osx_architectures"] = "armv7;arm64"
     tc.generate()
     deps = CMakeDeps(self)
     deps.generate()
예제 #10
0
    def generate(self):
        toolchain = CMakeToolchain(self)
        toolchain.variables["GSOAP_PATH"] = "."
        toolchain.variables["BUILD_TOOLS"] = True
        toolchain.variables["WITH_OPENSSL"] = self.options.with_openssl
        toolchain.variables["WITH_IPV6"] = self.options.with_ipv6
        toolchain.variables["WITH_COOKIES"] = self.options.with_cookies
        toolchain.variables["WITH_C_LOCALE"] = self.options.with_c_locale
        toolchain.generate()

        deps = CMakeDeps(self)
        deps.generate()
예제 #11
0
    def generate(self):
        tc = CMakeToolchain(self)
        tc.variables["CMAKE_SYSTEM_NAME"] = "Generic"
        tc.variables["CMAKE_SYSTEM_PROCESSOR"] = "cortex-m4"

        # disable linking stage of cmake compiler test build (required for crosscompilation)
        tc.variables["CMAKE_TRY_COMPILE_TARGET_TYPE"] = "STATIC_LIBRARY"
        #tc.variables[""] = ""
        tc.generate()

        deps = CMakeDeps(self)
        deps.generate()
예제 #12
0
def test_variables_types(conanfile):
    generator_folder = temp_folder()
    conanfile.folders.set_base_generators(generator_folder)
    # This is a trick for 1.X to use base_generator and not install folder
    conanfile.folders.generators = "here"

    toolchain = CMakeToolchain(conanfile)
    toolchain.variables["FOO"] = True
    toolchain.generate()

    contents = load(
        os.path.join(conanfile.generators_folder, "conan_toolchain.cmake"))
    assert 'set(FOO ON CACHE BOOL "Variable FOO conan-toolchain defined")' in contents
예제 #13
0
    def generate(self):
        tc = CMakeToolchain(self)
        # TODO refactor to conans qt
        if self.options.qt_install:
            qt_install = str(self.options.qt_install)
            qt_cmake_dir = os.path.join(qt_install, 'lib', 'cmake', 'Qt5')
            self.output.info("qt_cmake_dir: %s" % (qt_cmake_dir))
            tc.variables["Qt5_DIR"] = qt_cmake_dir.replace('\\', '\\\\')
        tc.variables["BUILD_SERVERS"] = self.options.get_safe("enable_servers",
                                                              default=False)
        tc.variables["BUILD_UI"] = self.options.get_safe("enable_ui",
                                                         default=False)
        tc.generate()

        cmake = CMakeDeps(self)
        cmake.generate()
예제 #14
0
    def generate(self):
        ct = CMakeToolchain(self)

        if self.options.sanitizer:
            ct.variables["CONAN_C_FLAGS"] += self.sanitizer_flag
            ct.variables["CONAN_CXX_FLAGS"] += self.sanitizer_flag
        if self.options.with_coroutines_ts:
            ct.variables["CONAN_CXX_FLAGS"] += " -fcoroutines-ts "
        ct.variables["BUILD_TESTS"] = self.should_build_tests
        ct.variables["WITH_TRACER"] = self.should_build_tracer
        ct.variables["WARN_AS_ERROR"] = self.options.warn_as_error
        ct.variables["BUILD_TANKER_TOOLS"] = self.should_build_tools
        ct.variables["TANKERLIB_SHARED"] = self.options.tankerlib_shared
        ct.variables["CMAKE_POSITION_INDEPENDENT_CODE"] = self.options.fPIC
        ct.variables["WITH_COVERAGE"] = self.options.coverage
        ct.variables["WITH_CURL"] = self.options.with_http_backend == "libcurl"
        ct.variables["WITH_SQLITE"] = self.options.with_sqlite

        ct.generate()
예제 #15
0
    def generate(self):
        tc = CMakeToolchain(self)
        tc.variables["enable-debug"] = self.settings.build_type
        tc.variables["enable-tests"] = False
        tc.variables[
            "LIB_INSTALL_DIR"] = "lib"  # https://github.com/FluidSynth/fluidsynth/issues/476
        tc.variables["BUILD_SHARED_LIBS"] = self.options.shared

        for o in [
                "floats", "fpe-check", "trap-on-check", "portaudio", "aufile",
                "dbus", "ipv6", "jack", "ladspa", "libsndfile", "midishare",
                "opensles", "oboe", "network", "oss", "dsound", "waveout",
                "winmidi", "sdl2", "pkgconfig", "pulseaudio", "readline",
                "threads", "lash", "alsa", "systemd", "coreaudio", "coremidi",
                "framework"
        ]:
            tc.variables["enable-{}".format(o)] = self.options.get_safe(o)
        tc.generate()

        cmake = CMakeDeps(self)
        cmake.generate()
예제 #16
0
    def generate(self):
        tc = CMakeToolchain(self)
        tc.variables["CMAKE_SYSTEM_NAME"] = "Generic"
        tc.variables["CMAKE_SYSTEM_PROCESSOR"] = "armv7"
        tc.variables["CMAKE_TRY_COMPILE_TARGET_TYPE"] = "STATIC_LIBRARY"

        # If the source folder is missing, we're doing a local build from the recipe folder. Local
        # recipe builds have a different include path than cache builds, since the source is not
        # copied into the build/install folder during local builds.
        if (self.source_folder is None):
            # local build
            # eg, ~/work/libtest/include/
            tc.variables[
                "CMAKE_INCLUDE_PATH"] = self.recipe_folder + "/include"
        else:
            # cache build
            # eg, ~/.conan/data/libtest/0.0.1/aptera/sandbox/build/b1b...b9f6/
            tc.variables[
                "CMAKE_INCLUDE_PATH"] = self.install_folder + "/include"

        tc.generate()
        deps = CMakeDeps(self)
        deps.generate()
예제 #17
0
 def generate(self):
     tc = CMakeToolchain(self, generator=os.getenv("CONAN_CMAKE_GENERATOR"))
     tc.generate()
     deps = CMakeDeps(self)
     deps.generate()
예제 #18
0
 def generate(self):
     tc = CMakeToolchain(self)
     tc.variables["GRPC_PROTO_RES_DIR"] = self.dependencies["grpc-proto"].cpp_info.resdirs[0].replace("\\", "/")
     tc.generate()
예제 #19
0
 def generate(self):
     toolchain = CMakeToolchain(self)
     toolchain.variables["BUILD_TESTING"] = False
     if self.settings.os == "Windows" and self.options.shared:
         toolchain.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = "ON"
     toolchain.generate()
예제 #20
0
 def generate(self):
     toolchain = CMakeToolchain(self)
     toolchain.generate()
예제 #21
0
 def generate(self):
     tc = CMakeToolchain(self)
     tc.generate()
     deps = CMakeDeps(self)
     deps.generate()
예제 #22
0
 def generate(self):
     tc = CMakeToolchain(self)
     if self.settings.arch == "armv7":
         tc.variables["CMAKE_TRY_COMPILE_TARGET_TYPE"] = "STATIC_LIBRARY"
         tc.variables["CMAKE_SYSTEM_NAME"] = "Generic"
     tc.generate()
예제 #23
0
 def generate(self):
     tc = CMakeToolchain(self)
     tc.generate()
예제 #24
0
 def generate(self):
     tc = CMakeToolchain(self)
     tc.variables["FMT_HEADER_ONLY"] = self.dependencies[
         "fmt"].options.header_only
     tc.generate()
예제 #25
0
 def generate(self):
     tc = CMakeToolchain(self)
     tc.variables["GOOGLEAPIS_RES_DIR"] = self.dependencies[
         "googleapis"].cpp_info.resdirs[0].replace("\\", "/")
     tc.generate()
예제 #26
0
 def generate(self):
     tc = CMakeToolchain(self)
     tc.variables[
         "CMAKE_PROJECT_PackageTest_INCLUDE"] = "${CMAKE_BINARY_DIR}/conan_paths.cmake"
     tc.generate()