Introduce Abseil Source package (#2802)
author박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 <jh1302.park@samsung.com>
Thu, 10 Jan 2019 04:08:54 +0000 (13:08 +0900)
committerGitHub Enterprise <noreply-CODE@samsung.com>
Thu, 10 Jan 2019 04:08:54 +0000 (13:08 +0900)
* Introduce Abseil Source package

This commit introduces Abseil (C++) source package as a nncc external
package.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
* Update comment

CMakeLists.txt
cmake/packages/AbseilSourceConfig.cmake [new file with mode: 0644]

index fc03855..4459362 100644 (file)
@@ -37,6 +37,7 @@ option(DOWNLOAD_PYTORCH "Download Pytorch source" ON)
 # TODO: we need protoc version 2.6 and higher but server has 2.5 only
 #       that's why we can't compile onnx.proto
 option(DOWNLOAD_ONNX "Download ONNX source" OFF)
+option(DOWNLOAD_ABSEIL "Download Abseil-cpp source" ON)
 
 option(BUILD_GTEST "Download and build Google Test" ON)
 
diff --git a/cmake/packages/AbseilSourceConfig.cmake b/cmake/packages/AbseilSourceConfig.cmake
new file mode 100644 (file)
index 0000000..d980ac6
--- /dev/null
@@ -0,0 +1,24 @@
+function(_AbseilSource_import)
+  if(NOT DOWNLOAD_ABSEIL)
+    set(AbseilSource_FOUND FALSE PARENT_SCOPE)
+    return()
+  endif(NOT DOWNLOAD_ABSEIL)
+
+  nncc_include(ExternalSourceTools)
+  nncc_include(OptionTools)
+
+  # NOTE TensorFlow 1.12 downloads abseil from the following URL
+  # - https://github.com/abseil/abseil-cpp/archive/48cd2c3f351ff188bc85684b84a91b6e6d17d896.tar.gz
+  #
+  # The last change of "48cd2c3f351" was commited on 2018.09.27
+  #
+  # Let's use the latest released version (2018-12 release)
+  envoption(ABSEIL_URL https://github.com/abseil/abseil-cpp/archive/20181200.tar.gz)
+
+  ExternalSource_Download(ABSEIL ${ABSEIL_URL})
+
+  set(AbseilSource_DIR ${ABSEIL_SOURCE_DIR} PARENT_SCOPE)
+  set(AbseilSource_FOUND TRUE PARENT_SCOPE)
+endfunction(_AbseilSource_import)
+
+_AbseilSource_import()