From 19ecf828e6bfc7781c045172b0dffdaaf0f3b514 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EB=B0=95=EC=A2=85=ED=98=84/=EB=8F=99=EC=9E=91=EC=A0=9C?= =?utf8?q?=EC=96=B4Lab=28SR=29/Senior=20Engineer/=EC=82=BC=EC=84=B1?= =?utf8?q?=EC=A0=84=EC=9E=90?= Date: Mon, 30 Apr 2018 17:08:41 +0900 Subject: [PATCH] Add 'GEMMLowpSource' as an external module (#178) This commit adds 'GEMMLowpSource' (which is necessary to build tensorflow lite) as an external module that nncc_find_package can load. Signed-off-by: Jonghyun Park --- CMakeLists.txt | 1 + cmake/packages/GEMMLowpSourceConfig.cmake | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 cmake/packages/GEMMLowpSourceConfig.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 3addb55..dfc34e6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,6 +15,7 @@ endmacro(nncc_find_package) ### option(DOWNLOAD_EIGEN "Download Eigen source" OFF) option(DOWNLOAD_FARMHASH "Download farmhash source" OFF) +option(DOWNLOAD_GEMMLOWP "Download GEMM low precesion library source" OFF) option(DOWNLOAD_FLATBUFFERS "Download FlatBuffers source" OFF) option(DOWNLOAD_TENSORFLOW "Download TensorFlow source" OFF) diff --git a/cmake/packages/GEMMLowpSourceConfig.cmake b/cmake/packages/GEMMLowpSourceConfig.cmake new file mode 100644 index 0000000..f58e1ab --- /dev/null +++ b/cmake/packages/GEMMLowpSourceConfig.cmake @@ -0,0 +1,19 @@ +function(_GEMMLowpSource_import) + if(NOT DOWNLOAD_GEMMLOWP) + set(GEMMLowpSource_FOUND FALSE PARENT_SCOPE) + return() + endif(NOT DOWNLOAD_GEMMLOWP) + + nncc_find_package(ExternalSourceTools REQUIRED) + nncc_find_package(OptionTools REQUIRED) + + # NOTE TensorFlow 1.7 uses the following URL + envoption(GEMMLOWP_URL https://github.com/google/gemmlowp/archive/7c7c744640ddc3d0af18fb245b4d23228813a71b.zip) + + ExternalSource_Download(GEMMLOWP ${GEMMLOWP_URL}) + + set(GEMMLowpSource_DIR ${GEMMLOWP_SOURCE_DIR} PARENT_SCOPE) + set(GEMMLowpSource_FOUND TRUE PARENT_SCOPE) +endfunction(_GEMMLowpSource_import) + +_GEMMLowpSource_import() -- 2.7.4