summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--CMakeLists.txt7
-rw-r--r--conanfile.py39
2 files changed, 37 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5b98934..3c6081f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,11 +6,4 @@ 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
index 019c3cb..f3a2a9c 100644
--- a/conanfile.py
+++ b/conanfile.py
@@ -12,17 +12,52 @@ class TinyAesCConan(ConanFile):
settings = "os", "compiler", "build_type", "arch"
generators = "cmake"
- exports_sources = ["CMakeLists.txt", "*.c", '*.h', '*.h']
+ exports_sources = ["CMakeLists.txt", "*.c", '*.h', '*.hpp']
+
+ _options_dict = {
+ # enable AES128
+ "AES128": [True, False],
+
+ # enable AES192
+ "AES192": [True, False],
+
+ # enable AES256
+ "AES256": [True, False],
+
+ # enable AES encryption in CBC-mode of operation
+ "CBC": [True, False],
+
+ # enable the basic ECB 16-byte block algorithm
+ "ECB": [True, False],
+
+ # enable encryption in counter-mode
+ "CTR": [True, False],
+ }
+
+ options = _options_dict
+
+ default_options = {
+ "AES128": True,
+ "AES192": False,
+ "AES256": False,
+ "CBC": False,
+ "ECB": False,
+ "CTR": False
+ }
def build(self):
cmake = CMake(self)
+
+ for key in self._options_dict.keys():
+ if self.options[key]:
+ cmake.definitions["CMAKE_CFLAGS"].append(key)
+
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):