Revision: 77588
          http://sourceforge.net/p/brlcad/code/77588
Author:   starseeker
Date:     2020-10-23 02:56:07 +0000 (Fri, 23 Oct 2020)
Log Message:
-----------
Whoops, missed png.cmake

Added Paths:
-----------
    brlcad/branches/extbuild/src/other/ext/png.cmake

Added: brlcad/branches/extbuild/src/other/ext/png.cmake
===================================================================
--- brlcad/branches/extbuild/src/other/ext/png.cmake                            
(rev 0)
+++ brlcad/branches/extbuild/src/other/ext/png.cmake    2020-10-23 02:56:07 UTC 
(rev 77588)
@@ -0,0 +1,104 @@
+# NOTE: we need to have libpng's internal call to find_package looking for zlib
+# locate our local copy if we have one.  Defining the ZLIB_ROOT prefix for
+# find_package and setting the library file to our custom library name is
+# intended to do this (requires CMake 3.12).
+
+set(png_DESCRIPTION "
+Option for enabling and disabling compilation of the Portable Network
+Graphics library provided with BRL-CAD's source distribution.  Default
+is AUTO, responsive to the toplevel BRLCAD_BUNDLED_LIBS option and
+testing first for a system version if BRLCAD_BUNDLED_LIBS is also
+AUTO.
+")
+
+# We generally don't want the Mac framework libpng...
+set(CMAKE_FIND_FRAMEWORK LAST)
+
+THIRD_PARTY(png PNG png
+  png_DESCRIPTION
+  REQUIRED_VARS BRLCAD_LEVEL2
+  ALIASES ENABLE_PNG
+  RESET_VARS PNG_LIBRARY_DEBUG PNG_LIBRARY_RELEASE
+  )
+
+if (BRLCAD_PNG_BUILD)
+
+  set(PNG_VERSION_MAJOR 16)
+  set(PNG_VERSION_MINOR 37)
+  set(PNG_LIB_NAME png_brl)
+
+  if (MSVC)
+    set(PNG_BASENAME ${PNG_LIB_NAME})
+    set(PNG_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
+  else (MSVC)
+    set(PNG_BASENAME lib${PNG_LIB_NAME})
+    set(PNG_SUFFIX 
${CMAKE_SHARED_LIBRARY_SUFFIX}.${PNG_VERSION_MAJOR}.${PNG_VERSION_MINOR}.0)
+  endif (MSVC)
+
+  set(PNG_DEPS)
+  if (TARGET ZLIB_BLD)
+    set(ZLIB_TARGET ZLIB_BLD)
+    list(APPEND PNG_DEPS ZLIB_BLD zlib_stage)
+  endif (TARGET ZLIB_BLD)
+
+  set(PNG_INSTDIR ${CMAKE_BINARY_ROOT}/ext/png)
+
+  if (MSVC)
+    set(ZLIB_LIBRARY ${CMAKE_BINARY_ROOT}/${LIB_DIR}/${ZLIB_BASENAME}.lib)
+  else (MSVC)
+    set(ZLIB_LIBRARY 
${CMAKE_BINARY_ROOT}/${LIB_DIR}/${ZLIB_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
+  endif (MSVC)
+
+  ExternalProject_Add(PNG_BLD
+    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/png"
+    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PNG_INSTDIR} 
-DCMAKE_INSTALL_LIBDIR=${LIB_DIR}
+               -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DSKIP_INSTALL_EXPORT=ON
+              -DPNG_STATIC=${BUILD_STATIC_LIBS} -DSKIP_INSTALL_EXECUTABLES=ON 
-DSKIP_INSTALL_FILES=ON
+               -DSKIP_INSTALL_EXPORT=ON -DPNG_TESTS=OFF -Dld-version-script=OFF
+              -DZLIB_ROOT=$<$<BOOL:${ZLIB_TARGET}>:${CMAKE_BINARY_ROOT}>
+              -DZLIB_LIBRARY=$<$<BOOL:${ZLIB_TARGET}>:${ZLIB_LIBRARY}>
+              $<$<BOOL:${ZLIB_TARGET}>:-DZ_PREFIX=ON>
+              $<$<BOOL:${ZLIB_TARGET}>:-DZ_PREFIX_STR=${Z_PREFIX_STR}>
+               -DPNG_LIB_NAME=${PNG_LIB_NAME} -DPNG_PREFIX=brl_
+    DEPENDS ${PNG_DEPS}
+    )
+
+  # Tell the parent build about files and libraries
+  ExternalProject_Target(SHARED png PNG_BLD ${PNG_INSTDIR}
+    ${PNG_BASENAME}${PNG_SUFFIX}
+    SYMLINKS 
${PNG_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX};${PNG_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${PNG_VERSION_MAJOR};${PNG_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
+    LINK_TARGET ${PNG_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
+    RPATH
+    )
+  ExternalProject_Target(STATIC png-static PNG_BLD ${PNG_INSTDIR}
+    ${PNG_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
+    )
+
+  ExternalProject_ByProducts(png PNG_BLD ${PNG_INSTDIR} ${INCLUDE_DIR}
+    png.h
+    pngconf.h
+    pnglibconf.h
+    libpng${PNG_VERSION_MAJOR}/png.h
+    libpng${PNG_VERSION_MAJOR}/pngconf.h
+    libpng${PNG_VERSION_MAJOR}/pnglibconf.h
+    )
+
+  set(PNG_LIBRARY_DEBUG png CACHE STRING "Building bundled libpng" FORCE)
+  set(PNG_LIBRARY_RELEASE png CACHE STRING "Building bundled libpng" FORCE)
+  set(PNG_LIBRARIES png CACHE STRING "Building bundled libpng" FORCE)
+  set(PNG_PNG_INCLUDE_DIR "${CMAKE_BINARY_ROOT}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing libpng headers." FORCE)
+  set(PNG_INCLUDE_DIRS "${CMAKE_BINARY_ROOT}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing libpng headers." FORCE)
+
+  SetTargetFolder(PNG_BLD "Third Party Libraries")
+  SetTargetFolder(png "Third Party Libraries")
+
+endif (BRLCAD_PNG_BUILD)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+


Property changes on: brlcad/branches/extbuild/src/other/ext/png.cmake
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to