diff options
Diffstat (limited to 'tensorflow/contrib/cmake/external/png.cmake')
-rw-r--r-- | tensorflow/contrib/cmake/external/png.cmake | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tensorflow/contrib/cmake/external/png.cmake b/tensorflow/contrib/cmake/external/png.cmake new file mode 100644 index 0000000000..ca3633430d --- /dev/null +++ b/tensorflow/contrib/cmake/external/png.cmake @@ -0,0 +1,38 @@ +include (ExternalProject) + +set(png_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/external/png_archive) +set(png_URL https://storage.googleapis.com/libpng-public-archive/libpng-1.2.53.tar.gz) +set(png_HASH SHA256=e05c9056d7f323088fd7824d8c6acc03a4a758c4b4916715924edc5dd3223a72) +set(png_BUILD ${CMAKE_BINARY_DIR}/png/src/png) +set(png_INSTALL ${CMAKE_BINARY_DIR}/png/install) +set(png_STATIC_LIBRARIES ${CMAKE_BINARY_DIR}/png/install/lib/libpng12.a) + +set(png_HEADERS + "${png_INSTALL}/include/libpng12/png.h" + "${png_INSTALL}/include/libpng12/pngconf.h" +) + +ExternalProject_Add(png + PREFIX png + URL ${png_URL} + URL_HASH ${png_HASH} + INSTALL_DIR ${png_INSTALL} + DOWNLOAD_DIR "${DOWNLOAD_LOCATION}" + CMAKE_CACHE_ARGS + -DCMAKE_BUILD_TYPE:STRING=Release + -DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF + -DCMAKE_INSTALL_PREFIX:STRING=${png_INSTALL} +) + +## put png includes in the directory where they are expected +add_custom_target(png_create_destination_dir + COMMAND ${CMAKE_COMMAND} -E make_directory ${png_INCLUDE_DIR}/libpng-1.2.53 + DEPENDS png) + +add_custom_target(png_copy_headers_to_destination + DEPENDS png_create_destination_dir) + +foreach(header_file ${png_HEADERS}) + add_custom_command(TARGET png_copy_headers_to_destination PRE_BUILD + COMMAND ${CMAKE_COMMAND} -E copy ${header_file} ${png_INCLUDE_DIR}/libpng-1.2.53) +endforeach() |