diff --git a/build.py b/build.py new file mode 100644 index 00000000..8d420cbe --- /dev/null +++ b/build.py @@ -0,0 +1,6 @@ +from conan.packager import ConanMultiPackager + +if __name__ == "__main__": + builder = ConanMultiPackager(build_policy="outdated") + builder.add_common_builds(shared_option_name=None) + builder.run() diff --git a/conan-wrapper/CMakeLists.txt b/conan-wrapper/CMakeLists.txt new file mode 100644 index 00000000..5f11fd9d --- /dev/null +++ b/conan-wrapper/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 2.8.12) +project(cmake_wrapper) + +include(${CMAKE_CURRENT_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup() + +add_subdirectory(".." "nanopb") diff --git a/conanfile.py b/conanfile.py new file mode 100644 index 00000000..d1aabe31 --- /dev/null +++ b/conanfile.py @@ -0,0 +1,32 @@ +from conans import ConanFile, CMake, tools +from os import path + +class NanoPbConan(ConanFile): + name = "nanopb" + version = "0.3.9.2" + license = "zlib" + url = "https://jpa.kapsi.fi/nanopb/" + description = "Protocol Buffers with small code size" + settings = "os", "compiler", "build_type", "arch" + generators = "cmake" + exports = '*' + options = { + "fPIC": [True, False], + } + default_options = { + "fPIC": True, + } + + def configure(self): + if self.settings.os == "Windows" and self.settings.compiler == "Visual Studio": + del self.options.fPIC + + def build(self): + cmake = CMake(self) + cmake.configure(source_folder=path.join(self.source_folder, "conan-wrapper")) + cmake.build() + cmake.install() + + def package_info(self): + self.cpp_info.includedirs = ["include"] + self.cpp_info.libdirs = ["lib"]