def _content_multi(self): sections = [] sections.append(cmake_package_info(name=self.conanfile.name, version=self.conanfile.version)) # TARGETS sections.extend(generate_targets_section(self.deps_build_info.dependencies)) # MACROS sections.append(cmake_macros_multi) return "\n".join(sections)
def _content_multi(self): sections = [] sections.append(cmake_package_info(name=self.conanfile.name, version=self.conanfile.version)) # TARGETS sections.extend(generate_targets_section(self.deps_build_info.dependencies)) # MACROS sections.append(cmake_macros_multi) return "\n".join(sections)
def content(self): sections = ["include(CMakeParseArguments)"] sections.append(CMakeCommonMacros.apple_frameworks_macro) # Per requirement variables for _, dep_cpp_info in self.deps_build_info.dependencies: dep_name = dep_cpp_info.get_name("cmake") deps = DepsCppCmake(dep_cpp_info) dep_flags = cmake_dependency_vars(dep_name, deps=deps) sections.append(dep_flags) for config, cpp_info in dep_cpp_info.configs.items(): deps = DepsCppCmake(cpp_info) dep_flags = cmake_dependency_vars(dep_name, deps=deps, build_type=config) sections.append(dep_flags) # GENERAL VARIABLES sections.append( "\n### Definition of global aggregated variables ###\n") sections.append( cmake_package_info(name=self.conanfile.name, version=self.conanfile.version)) sections.append(cmake_settings_info(self.conanfile.settings)) all_flags = cmake_dependencies(dependencies=self.deps_build_info.deps) sections.append(all_flags) deps = DepsCppCmake(self.deps_build_info) all_flags = cmake_global_vars(deps=deps) sections.append(all_flags) for config, cpp_info in self.deps_build_info.configs.items(): deps = DepsCppCmake(cpp_info) dep_flags = cmake_global_vars(deps=deps, build_type=config) sections.append(dep_flags) # TARGETS sections.extend( generate_targets_section(self.deps_build_info.dependencies, "cmake")) # MACROS sections.append(cmake_macros) # USER DECLARED VARS sections.append( "\n### Definition of user declared vars (user_info) ###\n") sections.append(cmake_user_info_vars(self.conanfile.deps_user_info)) return "\n".join(sections)
def _content_multi(self): sections = ["include(CMakeParseArguments)"] # USER DECLARED VARS sections.append("\n### Definition of user declared vars (user_info) ###\n") sections.append(cmake_user_info_vars(self.conanfile.deps_user_info)) sections.append(cmake_package_info(name=self.conanfile.name, version=self.conanfile.version)) # TARGETS sections.extend(generate_targets_section(self.deps_build_info.dependencies)) # MACROS sections.append(cmake_macros_multi) return "\n".join(sections)
def content(self): sections = [] # Per requirement variables for dep_name, dep_cpp_info in self.deps_build_info.dependencies: deps = DepsCppCmake(dep_cpp_info) dep_flags = cmake_dependency_vars(dep_name, deps=deps) sections.append(dep_flags) for config, cpp_info in dep_cpp_info.configs.items(): deps = DepsCppCmake(cpp_info) dep_flags = cmake_dependency_vars(dep_name, deps=deps, build_type=config) sections.append(dep_flags) # GENERAL VARIABLES sections.append( "\n### Definition of global aggregated variables ###\n") sections.append( cmake_package_info(name=self.conanfile.name, version=self.conanfile.version)) all_flags = cmake_dependencies(dependencies=self.deps_build_info.deps) sections.append(all_flags) deps = DepsCppCmake(self.deps_build_info) all_flags = cmake_global_vars(deps=deps) sections.append(all_flags) for config, cpp_info in self.deps_build_info.configs.items(): deps = DepsCppCmake(cpp_info) dep_flags = cmake_global_vars(deps=deps, build_type=config) sections.append(dep_flags) # TARGETS sections.extend( generate_targets_section(self.deps_build_info.dependencies)) # MACROS sections.append(cmake_macros) return "\n".join(sections)
def content(self): sections = ["include(CMakeParseArguments)"] # Per requirement variables for dep_name, dep_cpp_info in self.deps_build_info.dependencies: deps = DepsCppCmake(dep_cpp_info) dep_flags = cmake_dependency_vars(dep_name, deps=deps) sections.append(dep_flags) for config, cpp_info in dep_cpp_info.configs.items(): deps = DepsCppCmake(cpp_info) dep_flags = cmake_dependency_vars(dep_name, deps=deps, build_type=config) sections.append(dep_flags) # GENERAL VARIABLES sections.append("\n### Definition of global aggregated variables ###\n") sections.append(cmake_package_info(name=self.conanfile.name, version=self.conanfile.version)) sections.append(cmake_settings_info(self.conanfile.settings)) all_flags = cmake_dependencies(dependencies=self.deps_build_info.deps) sections.append(all_flags) deps = DepsCppCmake(self.deps_build_info) all_flags = cmake_global_vars(deps=deps) sections.append(all_flags) for config, cpp_info in self.deps_build_info.configs.items(): deps = DepsCppCmake(cpp_info) dep_flags = cmake_global_vars(deps=deps, build_type=config) sections.append(dep_flags) # TARGETS sections.extend(generate_targets_section(self.deps_build_info.dependencies)) # MACROS sections.append(cmake_macros) # USER DECLARED VARS sections.append("\n### Definition of user declared vars (user_info) ###\n") sections.append(cmake_user_info_vars(self.conanfile.deps_user_info)) return "\n".join(sections)
def content(self): sections = [] # Per requirement variables for dep_name, dep_cpp_info in self.deps_build_info.dependencies: deps = DepsCppCmake(dep_cpp_info) dep_flags = cmake_single_dep_vars(dep_name, deps=deps) sections.append(dep_flags) # GENERAL VARIABLES deps = DepsCppCmake(self.deps_build_info) rootpaths = [DepsCppCmake(dep_cpp_info).rootpath for _, dep_cpp_info in self.deps_build_info.dependencies] all_flags = cmake_multi_dep_vars(deps=deps, root_paths=rootpaths, dependencies=self.deps_build_info.deps, name=self.conanfile.name, version=self.conanfile.version) sections.append("\n### Definition of global aggregated variables ###\n") sections.append(all_flags) # TARGETS template = """ conan_find_libraries_abs_path("${{CONAN_LIBS_{uname}}}" "${{CONAN_LIB_DIRS_{uname}}}" CONAN_FULLPATH_LIBS_{uname}) add_library({name} INTERFACE IMPORTED) set_property(TARGET {name} PROPERTY INTERFACE_LINK_LIBRARIES ${{CONAN_FULLPATH_LIBS_{uname}}} {deps} ${{CONAN_SHARED_LINKER_FLAGS_{uname}}} ${{CONAN_EXE_LINKER_FLAGS_{uname}}}) set_property(TARGET {name} PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${{CONAN_INCLUDE_DIRS_{uname}}}) set_property(TARGET {name} PROPERTY INTERFACE_COMPILE_DEFINITIONS ${{CONAN_COMPILE_DEFINITIONS_{uname}}}) set_property(TARGET {name} PROPERTY INTERFACE_COMPILE_OPTIONS ${{CONAN_CFLAGS_{uname}}} ${{CONAN_CXX_FLAGS_{uname}}}) # Not working # set_property(TARGET {name} PROPERTY INTERFACE_LINK_FLAGS ${{CONAN_SHARED_LINKER_FLAGS_{uname}}} ${{CONAN_EXE_LINKER_FLAGS_{uname}}}) """ sections.extend(generate_targets_section(template, self.deps_build_info.dependencies)) # MACROS sections.append(cmake_macros) return "\n".join(sections)
def content_multi(self): sections = [] # TARGETS template = """ conan_find_libraries_abs_path("${{CONAN_LIBS_{uname}_DEBUG}}" "${{CONAN_LIB_DIRS_{uname}_DEBUG}}" CONAN_FULLPATH_LIBS_{uname}_DEBUG) conan_find_libraries_abs_path("${{CONAN_LIBS_{uname}_RELEASE}}" "${{CONAN_LIB_DIRS_{uname}_RELEASE}}" CONAN_FULLPATH_LIBS_{uname}_RELEASE) add_library({name} INTERFACE IMPORTED) set_property(TARGET {name} PROPERTY INTERFACE_LINK_LIBRARIES {deps} $<$<CONFIG:Release>:${{CONAN_FULLPATH_LIBS_{uname}_RELEASE}} ${{CONAN_SHARED_LINKER_FLAGS_{uname}_RELEASE}} ${{CONAN_EXE_LINKER_FLAGS_{uname}_RELEASE}}> $<$<CONFIG:Debug>:${{CONAN_FULLPATH_LIBS_{uname}_DEBUG}} ${{CONAN_SHARED_LINKER_FLAGS_{uname}_DEBUG}} ${{CONAN_EXE_LINKER_FLAGS_{uname}_DEBUG}}>) set_property(TARGET {name} PROPERTY INTERFACE_INCLUDE_DIRECTORIES $<$<CONFIG:Release>:${{CONAN_INCLUDE_DIRS_{uname}_RELEASE}}> $<$<CONFIG:Debug>:${{CONAN_INCLUDE_DIRS_{uname}_DEBUG}}>) set_property(TARGET {name} PROPERTY INTERFACE_COMPILE_DEFINITIONS $<$<CONFIG:Release>:${{CONAN_COMPILE_DEFINITIONS_{uname}_RELEASE}}> $<$<CONFIG:Debug>:${{CONAN_COMPILE_DEFINITIONS_{uname}_DEBUG}}>) set_property(TARGET {name} PROPERTY INTERFACE_COMPILE_OPTIONS $<$<CONFIG:Release>:${{CONAN_CFLAGS_{uname}_RELEASE}} ${{CONAN_CXX_FLAGS_{uname}_RELEASE}}> $<$<CONFIG:Debug>:${{CONAN_CFLAGS_{uname}_DEBUG}} ${{CONAN_CXX_FLAGS_{uname}_DEBUG}}>) # set_property(TARGET {name} PROPERTY INTERFACE_LINK_FLAGS $<$<CONFIG:Release>:${{CONAN_SHARED_LINKER_FLAGS_{uname}_RELEASE}} ${{CONAN_EXE_LINKER_FLAGS_{uname}_RELEASE}}> # $<$<CONFIG:Debug>:${{CONAN_SHARED_LINKER_FLAGS_{uname}_DEBUG}} ${{CONAN_EXE_LINKER_FLAGS_{uname}_DEBUG}}>) """ sections.extend(generate_targets_section(template, self.deps_build_info.dependencies)) return cmake_macros_multi + "\n\n" + "\n".join(sections)