From cd1db241ad15ea61f3e63547d1178476e1b1a0f4 Mon Sep 17 00:00:00 2001 From: Torfinn Berset Date: Thu, 31 Jan 2019 13:50:14 +0100 Subject: [PATCH] First version of Conan recipe --- CMakeLists.txt | 16 ++++++++++++++++ conanfile.py | 29 +++++++++++++++++++++++++++++ test_package/CMakeLists.txt | 8 ++++++++ test_package/conanfile.py | 17 +++++++++++++++++ 4 files changed, 70 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 conanfile.py create mode 100644 test_package/CMakeLists.txt create mode 100644 test_package/conanfile.py diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..5b98934 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,16 @@ +cmake_minimum_required(VERSION 2.8.12) + +project(tinyaes C ASM) + +add_library(tiny-aes + aes.c + ) + +target_compile_definitions(tiny-aes PRIVATE + -DAES128=1 + -DCBC=1 + -DECB=1 + -DCTR=1 + ) + +target_include_directories(tiny-aes PRIVATE tiny-AES-c/) diff --git a/conanfile.py b/conanfile.py new file mode 100644 index 0000000..019c3cb --- /dev/null +++ b/conanfile.py @@ -0,0 +1,29 @@ +from conans import ConanFile, CMake + + +class TinyAesCConan(ConanFile): + name = "tiny-AES-c" + version = "1.0.0" + license = "MIT" + author = "Torfinn Berset " + url = "https://github.com/kokke/tiny-AES-c" + description = "Small portable AES128/192/256 in C" + topics = ("encryption", "crypto", "AES") + settings = "os", "compiler", "build_type", "arch" + + generators = "cmake" + exports_sources = ["CMakeLists.txt", "*.c", '*.h', '*.h'] + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + self.copy("*.h", dst="include") + self.copy("*.hpp", dst="include") + + self.copy("*.a", dst="lib", keep_path=False) + + def package_info(self): + self.cpp_info.libs = ["tiny-aes"] diff --git a/test_package/CMakeLists.txt b/test_package/CMakeLists.txt new file mode 100644 index 0000000..89cddf4 --- /dev/null +++ b/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 2.8.12) +project(TinyAesPackageTest C) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup() + +add_executable(example ../test.c) +target_link_libraries(example ${CONAN_LIBS}) diff --git a/test_package/conanfile.py b/test_package/conanfile.py new file mode 100644 index 0000000..08f550f --- /dev/null +++ b/test_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TinyAesCTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + os.chdir("bin") + self.run(".%sexample" % os.sep)