Revision: 77253
          http://sourceforge.net/p/brlcad/code/77253
Author:   starseeker
Date:     2020-09-28 14:33:26 +0000 (Mon, 28 Sep 2020)
Log Message:
-----------
This is going to get incomprehensible as one file - have CMakeLists.txt serve 
as the overall organizer and break each component's specific logic into an 
individual file.

Modified Paths:
--------------
    brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt

Added Paths:
-----------
    brlcad/branches/thirdparty_rework/src/superbuild/gdiam.cmake
    brlcad/branches/thirdparty_rework/src/superbuild/netpbm.cmake
    brlcad/branches/thirdparty_rework/src/superbuild/openNURBS.cmake
    brlcad/branches/thirdparty_rework/src/superbuild/png.cmake
    brlcad/branches/thirdparty_rework/src/superbuild/poly2tri.cmake
    brlcad/branches/thirdparty_rework/src/superbuild/regex.cmake
    brlcad/branches/thirdparty_rework/src/superbuild/spsr.cmake
    brlcad/branches/thirdparty_rework/src/superbuild/stepcode.cmake
    brlcad/branches/thirdparty_rework/src/superbuild/tools.cmake
    brlcad/branches/thirdparty_rework/src/superbuild/utahrle.cmake
    brlcad/branches/thirdparty_rework/src/superbuild/vds.cmake
    brlcad/branches/thirdparty_rework/src/superbuild/zlib.cmake

Modified: brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt     
2020-09-27 18:59:31 UTC (rev 77252)
+++ brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt     
2020-09-28 14:33:26 UTC (rev 77253)
@@ -1,5 +1,30 @@
-# Find the executable extension, if there is one
-get_filename_component(EXE_EXT "${CMAKE_COMMAND}" EXT)
+#-----------------------------------------------------------------------
+# Local Copies of External Libraries
+#
+# BRL-CAD depends on a variety of external libraries and tools -
+# rather than fail if those requirements are not satisfied, we build
+# local copies at need.
+#
+# There are three overall approaches to the handling of these
+# dependencies:
+#
+# 1.  Auto - detect system libraries and use them if suitable,
+#     otherwise build and use the local copy.  This is the default
+#     approach.
+#
+# 2.  Bundled - regardless of system conditions, build and use all
+#     bundled libraries.
+#
+# 3.  System - fail to build if the system libraries do not satisfy
+#     requirements.  This is primarily useful for distributions that
+#     want to ensure packages are using external libraries.
+#
+# In addition to the broad toplevel control, individual libraries can
+# also be overridden - for example, if the toplevel setting is for
+# Bundled libs, it is still possible to request a system library in
+# individual cases.
+#
+#-----------------------------------------------------------------------
 
 # If targets are built, we want to group them in build tools that support
 # doing so.
@@ -9,9 +34,19 @@
   endif(TARGET ${targetname})
 endfunction(SetTargetFolder)
 
-# Debugging flag for ExternalProject tools
-set(EXTPROJ_VERBOSE 0)
+# By default, changes in src/other files won't trigger a rebuild.  Setting this
+# to 1 at configure time changes that, but at the expense of running the build
+# step every time.  This may be fast if there is nothing to update in the
+# project, but it will be slower than skipping the step completely.
+if (NOT DEFINED EXTERNAL_BUILD_UPDATE)
+  set(EXTERNAL_BUILD_UPDATE 0)
+endif (NOT DEFINED EXTERNAL_BUILD_UPDATE)
 
+# Use this variable to key both CMake messages and tools like rpath_replace
+if(NOT DEFINED EXTPROJ_VERBOSE)
+  set(EXTPROJ_VERBOSE 0)
+endif(NOT DEFINED EXTPROJ_VERBOSE)
+
 # Superbuilds use ExternalProject_Add, and BRL-CAD defines some additional
 # targets for managing them.
 include(ExternalProject)
@@ -19,11 +54,21 @@
 # BEFORE including this file!
 include(ExternalProject_Target)
 
+# External build outputs can be verbose - capture them to files instead of
+# outputting to console
+#set(LOG_OPTS
+#  LOG_DIR "${CMAKE_BINARY_DIR}/CMakeFiles/ExternalProject_logs"
+#  LOG_CONFIGURE ON LOG_BUILD ON LOG_INSTALL ON
+#  LOG_MERGED_STDOUTERR ON LOG_OUTPUT_ON_FAILURE ON
+#  )
+
+set(LOG_OPTS)
+
 # Load some CMake macros to handle the special case of third party libraries.
 include(ThirdParty)
+include(ThirdParty_TCL)
 include(ThirdPartyExecutable)
 
-
 # In case we need to pass some sort of reasonable parallel
 # flag to a build system, check our processor count
 include(ProcessorCount)
@@ -65,6 +110,9 @@
 set(BRLCAD_LEVEL3 ON)
 
 
+# We need to track projects that must be built before starting the main
+# BRL-CAD build, since that set changes with build options and can't be
+# hardcoded.
 set(BRLCAD_DEPS)
 
 
@@ -75,972 +123,51 @@
 # system.
 ###############################################################################
 
-# For those wanting to use a system version of the LEMON parser
-# generator from sqlite, remember that the presence of /usr/bin/lemon
-# is not enough.  LEMON needs a template file, lempar.c, and by
-# default it needs it in the same directory as /usr/bin/lemon.  The
-# typical approach to avoiding that requirement is to patch lemon,
-# like this Gentoo ebuild:
-#
-# http://gentoo-overlays.zugaina.org/gentoo-zh/portage/dev-util/lemon/
-#
-# LEMON packages for other major Linux/BSD distros will do the same.
-# BRL-CAD's FindLEMON.cmake macros will look for the template file in
-# the executable directory first, and if not there will check in
-# /usr/share/lemon (the location used by several distributions.)  If
-# your distribution has a working lemon with the lempar.c template
-# file in a custom location, specify the full path to the template
-# with the variable LEMON_TEMPLATE - something like:
-#
-# cmake .. -DLEMON_TEMPLATE=/etc/lemon/lempar.c
-#
-# This is not to tell LEMON what template to use - that information is
-# usually hardcoded in LEMON itself - but to let FindLEMON.cmake know
-# there is a working LEMON installation.
-set(lemon_DESCRIPTION "
-Option for enabling and disabling compilation of the lemon parser
-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.
-")
-THIRD_PARTY_EXECUTABLE(lemon LEMON lemon REQUIRED "BRLCAD_LEVEL2" ALIASES 
"ENABLE_LEMON" DESCRIPTION lemon_DESCRIPTION)
-if (${CMAKE_PROJECT_NAME}_LEMON_BUILD)
+include(${CMAKE_CURRENT_SOURCE_DIR}/tools.cmake)
 
-  ExternalProject_Add(LEMON_BLD
-    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../misc/tools/lemon"
-    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DBIN_DIR=${BIN_DIR}
-    -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH}
-    )
-
-  list(APPEND BRLCAD_DEPS LEMON_BLD)
-
-  set(LEMON_TEMPLATE "${CMAKE_SOURCE_DIR}/misc/tools/lemon/lempar.c" CACHE 
STRING "Lemon template file" FORCE)
-  SetTargetFolder(LEMON_BLD "Third Party Libraries")
-endif (${CMAKE_PROJECT_NAME}_LEMON_BUILD)
-
-set(re2c_DESCRIPTION "
-Option for enabling and disabling compilation of the re2c scanner
-utility 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.
-")
-THIRD_PARTY_EXECUTABLE(re2c RE2C re2c REQUIRED "BRLCAD_LEVEL2" ALIASES 
"ENABLE_RE2C" DESCRIPTION re2c_DESCRIPTION)
-if (${CMAKE_PROJECT_NAME}_RE2C_BUILD)
-
-  if (TARGET LEMON_BLD)
-    set(LEMON_TARGET LEMON_BLD)
-    list(APPEND RE2C_DEPS LEMON_BLD)
-  endif (TARGET LEMON_BLD)
-
-  ExternalProject_Add(RE2C_BLD
-    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../misc/tools/re2c"
-    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DBIN_DIR=${BIN_DIR}
-    -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH}
-    -DLEMON_ROOT=$<$<BOOL:${LEMON_TARGET}>:${CMAKE_BINARY_DIR}> 
-DLEMON_TEMPLATE=$<$<BOOL:${LEMON_TARGET}>:${LEMON_TEMPLATE}>
-    DEPENDS ${RE2C_DEPS}
-    )
-
-  list(APPEND BRLCAD_DEPS RE2C_BLD)
-
-  SetTargetFolder(RE2C_BLD "Third Party Libraries")
-endif (${CMAKE_PROJECT_NAME}_RE2C_BUILD)
-
-set(perplex_DESCRIPTION "
-Option for enabling and disabling compilation of the perplex scanner
-generator 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.  perplex requires a working re2c.
-")
-THIRD_PARTY_EXECUTABLE(perplex PERPLEX perplex REQUIRED "BRLCAD_LEVEL2" 
ALIASES "ENABLE_PERPLEX" DESCRIPTION perplex_DESCRIPTION NOSYS)
-if (${CMAKE_PROJECT_NAME}_PERPLEX_BUILD)
-
-  if (TARGET LEMON_BLD)
-    set(LEMON_TARGET LEMON_BLD)
-    list(APPEND PERPLEX_DEPS LEMON_BLD)
-  endif (TARGET LEMON_BLD)
-
-  if (TARGET RE2C_BLD)
-    set(RE2C_TARGET RE2C_BLD)
-    list(APPEND PERPLEX_DEPS RE2C_BLD)
-  endif (TARGET RE2C_BLD)
-
-  ExternalProject_Add(PERPLEX_BLD
-    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../misc/tools/perplex"
-    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DBIN_DIR=${BIN_DIR}
-    -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH}
-    -DLEMON_ROOT=$<$<BOOL:${LEMON_TARGET}>:${CMAKE_BINARY_DIR}> 
-DLEMON_TEMPLATE=$<$<BOOL:${LEMON_TARGET}>:${LEMON_TEMPLATE}>
-    -DRE2C_ROOT=$<$<BOOL:${RE2C_TARGET}>:${CMAKE_BINARY_DIR}>
-    DEPENDS ${PERPLEX_DEPS}
-    )
-
-  list(APPEND BRLCAD_DEPS PERPLEX_BLD)
-
-  SetTargetFolder(PERPLEX_BLD "Third Party Libraries")
-endif (${CMAKE_PROJECT_NAME}_PERPLEX_BUILD)
-
-
-
-# Make sure we load FindPERPLEX.cmake to be able to define PERPLEX targets.
-include(${BRLCAD_CMAKE_DIR}/FindPERPLEX.cmake)
-
 ###############################################################################
-#                 zlib compression/decompression library
+# Build logic is broken out per-library, but the ordering is important.  Some
+# libraries will depend on others listed here (for example, we want openNURBS
+# to use our bundled zlib if it is enabled.) Developers adding, reordering or
+# removing dependencies here need to make sure they are aware of impact they
+# may be having on other external projects in other files.
 ###############################################################################
 
-set (zlib_DESCRIPTION "
-Option for enabling and disabling compilation of the zlib 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.
-")
+# zlib compression/decompression library
+include(${CMAKE_CURRENT_SOURCE_DIR}/zlib.cmake)
 
-THIRD_PARTY(libz ZLIB zlib zlib_DESCRIPTION ALIASES ENABLE_ZLIB ENABLE_LIBZ)
+# libregex regular expression matching
+include(${CMAKE_CURRENT_SOURCE_DIR}/regex.cmake)
 
-if (${CMAKE_PROJECT_NAME}_ZLIB_BUILD)
+# netpbm library - support for pnm,ppm,pbm, etc. image files
+include(${CMAKE_CURRENT_SOURCE_DIR}/netpbm.cmake)
 
-  set(ZLIB_VERSION 1.2.11)
+# libpng - Portable Network Graphics image file support
+include(${CMAKE_CURRENT_SOURCE_DIR}/png.cmake)
 
-  set(Z_PREFIX_STR "brl_")
-  add_definitions(-DZ_PREFIX)
-  add_definitions(-DZ_PREFIX_STR=${Z_PREFIX_STR})
-  set(Z_PREFIX_STR "${Z_PREFIX_STR}" CACHE STRING "prefix for zlib functions" 
FORCE)
+# libutahrle - Runtime Length Encoding image file support
+include(${CMAKE_CURRENT_SOURCE_DIR}/utahrle.cmake)
 
-  if (MSVC)
-    set(ZLIB_BASENAME z_brl)
-    set(ZLIB_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
-  else (MSVC)
-    set(ZLIB_BASENAME libz_brl)
-    set(ZLIB_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}.${ZLIB_VERSION})
-  endif (MSVC)
+# openNURBS - Non-Uniform Rational B-Spline support
+include(${CMAKE_CURRENT_SOURCE_DIR}/openNURBS.cmake)
 
-  ExternalProject_Add(ZLIB_BLD
-    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/libz"
-    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DLIB_DIR=${LIB_DIR} 
-DBIN_DIR=${BIN_DIR}
-    -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
-    -DZ_PREFIX_STR=${Z_PREFIX_STR}
-    )
-  ExternalProject_Target(zlib ZLIB_BLD
-    OUTPUT_FILE ${ZLIB_BASENAME}${ZLIB_SUFFIX}
-    STATIC_OUTPUT_FILE ${ZLIB_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
-    SYMLINKS 
"${ZLIB_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX};${ZLIB_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.1"
-    LINK_TARGET "${ZLIB_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}"
-    RPATH
-    )
-  ExternalProject_ByProducts(ZLIB_BLD ${INCLUDE_DIR}
-    zconf.h
-    zlib.h
-    )
+# Screened Poisson Reconstruction Library
+include(${CMAKE_CURRENT_SOURCE_DIR}/spsr.cmake)
 
-  list(APPEND BRLCAD_DEPS ZLIB_BLD)
+# STEPcode - support for reading and writing STEP files
+include(${CMAKE_CURRENT_SOURCE_DIR}/stepcode.cmake)
 
-  set(ZLIB_LIBRARIES zlib CACHE STRING "Building bundled zlib" FORCE)
-  set(ZLIB_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing zlib headers." FORCE)
+# VDSlib - A View-Dependent Simplification and Rendering Library
+include(${CMAKE_CURRENT_SOURCE_DIR}/vds.cmake)
 
-  SetTargetFolder(ZLIB_BLD "Third Party Libraries")
-  SetTargetFolder(zlib "Third Party Libraries")
+# gdiam - approximate tight bounding boxes
+include(${CMAKE_CURRENT_SOURCE_DIR}/gdiam.cmake)
 
-else (${CMAKE_PROJECT_NAME}_ZLIB_BUILD)
+# Poly2Tri - 2D constrained Delaunay triangulation
+include(${CMAKE_CURRENT_SOURCE_DIR}/poly2tri.cmake)
 
-  set(Z_PREFIX_STR "" CACHE STRING "clear prefix for zlib functions" FORCE)
-  set(Z_PREFIX_STR)
-  set(ZLIB_LIBRARIES ${ZLIB_LIBRARY_RELEASE} CACHE STRING "ZLIB_LIBRARIES" 
FORCE)
-  set(ZLIB_INCLUDE_DIRS "${ZLIB_INCLUDE_DIR}" CACHE STRING "ZLIB include 
directory" FORCE)
 
-endif (${CMAKE_PROJECT_NAME}_ZLIB_BUILD)
-
 ###############################################################################
-#                               libregex
-###############################################################################
-
-set (regex_DESCRIPTION "
-Option for enabling and disabling compilation of the Regular
-Expression 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.
-")
-THIRD_PARTY(libregex REGEX regex regex_DESCRIPTION ALIASES ENABLE_REGEX)
-
-if (${CMAKE_PROJECT_NAME}_REGEX_BUILD)
-
-  set(REGEX_VERSION "1.0.4")
-  if (MSVC)
-    set(REGEX_BASENAME regex_brl)
-    set(REGEX_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
-  else (MSVC)
-    set(REGEX_BASENAME libregex_brl)
-    set(REGEX_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}.${REGEX_VERSION})
-  endif (MSVC)
-
-  # Platform differences in default linker behavior make it difficult to
-  # guarantee that our libregex symbols will override libc. We'll avoid the
-  # issue by renaming our libregex symbols to be incompatible with libc.
-  ExternalProject_Add(REGEX_BLD
-    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/libregex"
-    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DLIB_DIR=${LIB_DIR} 
-DBIN_DIR=${BIN_DIR}
-    -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
-    -DREGEX_PREFIX_STR=libregex_
-    )
-
-  ExternalProject_Target(regex REGEX_BLD
-    OUTPUT_FILE ${REGEX_BASENAME}${REGEX_SUFFIX}
-    STATIC_OUTPUT_FILE ${REGEX_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
-    SYMLINKS 
"${REGEX_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX};${REGEX_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.1"
-    LINK_TARGET "${REGEX_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}"
-    STATIC_LINK_TARGET "${REGEX_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}"
-    RPATH
-    )
-  ExternalProject_ByProducts(REGEX_BLD ${INCLUDE_DIR}
-    regex.h
-    )
-
-  list(APPEND BRLCAD_DEPS REGEX_BLD)
-
-  set(REGEX_LIBRARIES regex CACHE STRING "Building bundled libregex" FORCE)
-  set(REGEX_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing regex headers." FORCE)
-
-  SetTargetFolder(REGEX_BLD "Third Party Libraries")
-  SetTargetFolder(regex "Third Party Libraries")
-
-endif (${CMAKE_PROJECT_NAME}_REGEX_BUILD)
-
-
-###############################################################################
-#           netpbm library - support for pnm,ppm,pbm, etc. image files
-###############################################################################
-
-set(netpbm_DESCRIPTION "
-Option for enabling and disabling compilation of the netpbm library
-provided with BRL-CAD's source code.  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.
-")
-THIRD_PARTY(libnetpbm NETPBM netpbm netpbm_DESCRIPTION REQUIRED_VARS 
BRLCAD_LEVEL2 ALIASES ENABLE_NETPBM)
-
-if (${CMAKE_PROJECT_NAME}_NETPBM_BUILD)
-
-  if (MSVC)
-    set(NETPBM_BASENAME regex_brl)
-  else (MSVC)
-    set(NETPBM_BASENAME libregex_brl)
-  endif (MSVC)
-
-  ExternalProject_Add(NETPBM_BLD
-    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/libnetpbm"
-    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DLIB_DIR=${LIB_DIR} 
-DBIN_DIR=${BIN_DIR}
-               -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
-    )
-  ExternalProject_Target(netpbm NETPBM_BLD
-    OUTPUT_FILE ${NETPBM_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
-    STATIC_OUTPUT_FILE ${NETPBM_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
-    RPATH
-    )
-
-  ExternalProject_ByProducts(NETPBM_BLD ${INCLUDE_DIR}
-    netpbm/bitio.h
-    netpbm/colorname.h
-    netpbm/pam.h
-    netpbm/pammap.h
-    netpbm/pbm.h
-    netpbm/pbmfont.h
-    netpbm/pgm.h
-    netpbm/pm.h
-    netpbm/pm_gamma.h
-    netpbm/pm_system.h
-    netpbm/pnm.h
-    netpbm/ppm.h
-    netpbm/ppmcmap.h
-    netpbm/ppmfloyd.h
-    )
-
-  list(APPEND BRLCAD_DEPS NETPBM_BLD)
-
-  set(NETPBM_LIBRARIES netpbm CACHE STRING "Building bundled netpbm" FORCE)
-  set(NETPBM_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/${INCLUDE_DIR}/netpbm" CACHE 
STRING "Directory containing netpbm headers." FORCE)
-
-  SetTargetFolder(NETPBM_BLD "Third Party Libraries")
-  SetTargetFolder(netpbm "Third Party Libraries")
-
-endif (${CMAKE_PROJECT_NAME}_NETPBM_BUILD)
-
-
-###############################################################################
-#           libpng - Portable Network Graphics image file support
-###############################################################################
-
-# 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(libpng PNG png png_DESCRIPTION REQUIRED_VARS BRLCAD_LEVEL2 ALIASES 
ENABLE_PNG)
-
-if (${CMAKE_PROJECT_NAME}_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)
-
-  if (TARGET ZLIB_BLD)
-    set(ZLIB_TARGET ZLIB_BLD)
-  endif (TARGET ZLIB_BLD)
-
-  ExternalProject_Add(PNG_BLD
-    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/libpng"
-    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} 
-DCMAKE_INSTALL_LIBDIR=${LIB_DIR}
-               -DCMAKE_PREFIX_PATH=${CMAKE_BINARY_DIR}/${LIB_DIR} 
-DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH}
-               -DPNG_STATIC=${BUILD_STATIC_LIBS} -DSKIP_INSTALL_FILES=ON 
-DSKIP_INSTALL_EXECUTABLES=ON
-               -DSKIP_INSTALL_EXPORT=ON -DPNG_TESTS=OFF -Dld-version-script=OFF
-              -DZLIB_ROOT=$<$<BOOL:${ZLIB_TARGET}>:${CMAKE_BINARY_DIR}> 
-DZLIB_LIBRARY=$<$<BOOL:${ZLIB_TARGET}>:${CMAKE_BINARY_DIR}/${LIB_DIR}/${ZLIB_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}>
-               -DPNG_LIB_NAME=${PNG_LIB_NAME} -DPNG_PREFIX=brl_
-    DEPENDS ${ZLIB_TARGET}
-    )
-  ExternalProject_Target(png PNG_BLD
-    OUTPUT_FILE ${PNG_BASENAME}${PNG_SUFFIX}
-    STATIC_OUTPUT_FILE ${PNG_BASENAME}${CMAKE_STATIC_LIBRARY_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}"
-    STATIC_LINK_TARGET "${PNG_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}"
-    RPATH
-    )
-  ExternalProject_ByProducts(PNG_BLD ${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
-    )
-
-  list(APPEND BRLCAD_DEPS PNG_BLD)
-
-  set(PNG_LIBRARIES png CACHE STRING "Building bundled libpng" FORCE)
-  set(PNG_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing libpng headers." FORCE)
-
-  SetTargetFolder(PNG_BLD "Third Party Libraries")
-  SetTargetFolder(png "Third Party Libraries")
-
-endif (${CMAKE_PROJECT_NAME}_PNG_BUILD)
-
-
-###############################################################################
-#           libutahrle - Runtime Length Encoding image file support
-###############################################################################
-
-set(utahrle_DESCRIPTION "
-Option for enabling and disabling compilation of the Utah Raster
-Toolkit library provided with BRL-CAD's source code.  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.
-")
-THIRD_PARTY(libutahrle UTAHRLE utahrle utahrle_DESCRIPTION REQUIRED_VARS 
BRLCAD_LEVEL3 ALIASES ENABLE_UTAHRLE FLAGS NOSYS)
-
-if (${CMAKE_PROJECT_NAME}_UTAHRLE_BUILD)
-
-  set(UTAHRLE_MAJOR_VERSION 19)
-  set(UTAHRLE_MINOR_VERSION 0)
-  set(UTAHRLE_PATCH_VERSION 1)
-  set(UTAHRLE_VERSION 
${UTAHRLE_MAJOR_VERSION}.${UTAHRLE_MINOR_VERSION}.${UTAHRLE_PATCH_VERSION})
-
-  if (MSVC)
-    set(UTAHRLE_BASENAME utahrle)
-    set(UTAHRLE_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
-  else (MSVC)
-    set(UTAHRLE_BASENAME libutahrle)
-    set(UTAHRLE_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}.${UTAHRLE_VERSION})
-  endif (MSVC)
-
-
-  ExternalProject_Add(UTAHRLE_BLD
-    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/libutahrle"
-    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DLIB_DIR=${LIB_DIR} 
-DBIN_DIR=${BIN_DIR}
-               -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
-    )
-
-  ExternalProject_Target(utahrle UTAHRLE_BLD
-    OUTPUT_FILE ${UTAHRLE_BASENAME}${UTAHRLE_SUFFIX}
-    STATIC_OUTPUT_FILE ${UTAHRLE_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
-    SYMLINKS 
"${UTAHRLE_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX};${UTAHRLE_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${UTAHRLE_MAJOR_VERSION}"
-    LINK_TARGET "${UTAHRLE_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}"
-    STATIC_LINK_TARGET "${UTAHRLE_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}"
-    RPATH
-    )
-  ExternalProject_ByProducts(UTAHRLE_BLD ${INCLUDE_DIR}
-    rle.h
-    rle_code.h
-    rle_config.h
-    rle_put.h
-    rle_raw.h
-    )
-
-  list(APPEND BRLCAD_DEPS UTAHRLE_BLD)
-
-  set(UTAHRLE_LIBRARIES utahrle CACHE STRING "Building bundled libutahrle" 
FORCE)
-  set(UTAHRLE_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing utahrle headers." FORCE)
-
-  SetTargetFolder(UTAHRLE_BLD "Third Party Libraries")
-  SetTargetFolder(utahrle "Third Party Libraries")
-
-endif (${CMAKE_PROJECT_NAME}_UTAHRLE_BUILD)
-
-
-###############################################################################
-#           openNURBS - Non-Uniform Rational B-Spline support
-###############################################################################
-
-set(opennurbs_DESCRIPTION "
-Option for enabling and disabling compilation of the openNURBS library
-provided with BRL-CAD's source code.  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.
-")
-THIRD_PARTY(openNURBS OPENNURBS openNURBS opennurbs_DESCRIPTION ALIASES 
ENABLE_OPENNURBS FLAGS NOSYS)
-
-if (${CMAKE_PROJECT_NAME}_OPENNURBS_BUILD)
-
-  set(OPENNURBS_MAJOR_VERSION 2012)
-  set(OPENNURBS_MINOR_VERSION 10)
-  set(OPENNURBS_PATCH_VERSION 245)
-  set(OPENNURBS_VERSION 
${OPENNURBS_MAJOR_VERSION}.${OPENNURBS_MINOR_VERSION}.${OPENNURBS_PATCH_VERSION})
-
-  if (MSVC)
-    set(OPENNURBS_BASENAME openNURBS)
-    set(OPENNURBS_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
-  else (MSVC)
-    set(OPENNURBS_BASENAME libopenNURBS)
-    set(OPENNURBS_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}.${OPENNURBS_VERSION})
-  endif (MSVC)
-
-  if (TARGET ZLIB_BLD)
-    set(ZLIB_TARGET ZLIB_BLD)
-  endif (TARGET ZLIB_BLD)
-
-  ExternalProject_Add(OPENNURBS_BLD
-    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/openNURBS"
-    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DLIB_DIR=${LIB_DIR} 
-DBIN_DIR=${BIN_DIR}
-    -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
-    -DZLIB_ROOT=$<$<BOOL:${ZLIB_TARGET}>:${CMAKE_BINARY_DIR}> 
-DZLIB_LIBRARY=$<$<BOOL:${ZLIB_TARGET}>:${CMAKE_BINARY_DIR}/${LIB_DIR}/${ZLIB_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}>
-    DEPENDS ${ZLIB_TARGET}
-    )
-  ExternalProject_Target(openNURBS OPENNURBS_BLD
-    OUTPUT_FILE ${OPENNURBS_BASENAME}${OPENNURBS_SUFFIX}
-    STATIC_OUTPUT_FILE ${OPENNURBS_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
-    SYMLINKS 
"${OPENNURBS_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX};${OPENNURBS_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${OPENNURBS_MAJOR_VERSION}"
-    LINK_TARGET "${OPENNURBS_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}"
-    STATIC_LINK_TARGET "${OPENNURBS_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}"
-    RPATH
-    )
-
-  ExternalProject_ByProducts(OPENNURBS_BLD ${INCLUDE_DIR}
-    openNURBS/opennurbs.h
-    openNURBS/opennurbs_3dm.h
-    openNURBS/opennurbs_3dm_attributes.h
-    openNURBS/opennurbs_3dm_properties.h
-    openNURBS/opennurbs_3dm_settings.h
-    openNURBS/opennurbs_annotation.h
-    openNURBS/opennurbs_annotation2.h
-    openNURBS/opennurbs_arc.h
-    openNURBS/opennurbs_arccurve.h
-    openNURBS/opennurbs_archive.h
-    openNURBS/opennurbs_array.h
-    openNURBS/opennurbs_array_defs.h
-    openNURBS/opennurbs_base32.h
-    openNURBS/opennurbs_base64.h
-    openNURBS/opennurbs_beam.h
-    openNURBS/opennurbs_bezier.h
-    openNURBS/opennurbs_bitmap.h
-    openNURBS/opennurbs_bounding_box.h
-    openNURBS/opennurbs_box.h
-    openNURBS/opennurbs_brep.h
-    openNURBS/opennurbs_circle.h
-    openNURBS/opennurbs_color.h
-    openNURBS/opennurbs_compress.h
-    openNURBS/opennurbs_cone.h
-    openNURBS/opennurbs_crc.h
-    openNURBS/opennurbs_curve.h
-    openNURBS/opennurbs_curveonsurface.h
-    openNURBS/opennurbs_curveproxy.h
-    openNURBS/opennurbs_cylinder.h
-    openNURBS/opennurbs_defines.h
-    openNURBS/opennurbs_detail.h
-    openNURBS/opennurbs_dimstyle.h
-    openNURBS/opennurbs_dll_resource.h
-    openNURBS/opennurbs_ellipse.h
-    openNURBS/opennurbs_error.h
-    openNURBS/opennurbs_evaluate_nurbs.h
-    openNURBS/opennurbs_extensions.h
-    openNURBS/opennurbs_font.h
-    openNURBS/opennurbs_fpoint.h
-    openNURBS/opennurbs_fsp.h
-    openNURBS/opennurbs_fsp_defs.h
-    openNURBS/opennurbs_geometry.h
-    openNURBS/opennurbs_group.h
-    openNURBS/opennurbs_hatch.h
-    openNURBS/opennurbs_hsort_template.h
-    openNURBS/opennurbs_instance.h
-    openNURBS/opennurbs_intersect.h
-    openNURBS/opennurbs_knot.h
-    openNURBS/opennurbs_layer.h
-    openNURBS/opennurbs_light.h
-    openNURBS/opennurbs_line.h
-    openNURBS/opennurbs_linecurve.h
-    openNURBS/opennurbs_linestyle.h
-    openNURBS/opennurbs_linetype.h
-    openNURBS/opennurbs_lookup.h
-    openNURBS/opennurbs_mapchan.h
-    openNURBS/opennurbs_massprop.h
-    openNURBS/opennurbs_material.h
-    openNURBS/opennurbs_math.h
-    openNURBS/opennurbs_matrix.h
-    openNURBS/opennurbs_memory.h
-    openNURBS/opennurbs_mesh.h
-    openNURBS/opennurbs_nurbscurve.h
-    openNURBS/opennurbs_nurbssurface.h
-    openNURBS/opennurbs_object.h
-    openNURBS/opennurbs_object_history.h
-    openNURBS/opennurbs_objref.h
-    openNURBS/opennurbs_offsetsurface.h
-    openNURBS/opennurbs_optimize.h
-    openNURBS/opennurbs_plane.h
-    openNURBS/opennurbs_planesurface.h
-    openNURBS/opennurbs_pluginlist.h
-    openNURBS/opennurbs_point.h
-    openNURBS/opennurbs_pointcloud.h
-    openNURBS/opennurbs_pointgeometry.h
-    openNURBS/opennurbs_pointgrid.h
-    openNURBS/opennurbs_polycurve.h
-    openNURBS/opennurbs_polyedgecurve.h
-    openNURBS/opennurbs_polyline.h
-    openNURBS/opennurbs_polylinecurve.h
-    openNURBS/opennurbs_qsort_template.h
-    openNURBS/opennurbs_rand.h
-    openNURBS/opennurbs_rendering.h
-    openNURBS/opennurbs_revsurface.h
-    openNURBS/opennurbs_rtree.h
-    openNURBS/opennurbs_sphere.h
-    openNURBS/opennurbs_string.h
-    openNURBS/opennurbs_sumsurface.h
-    openNURBS/opennurbs_surface.h
-    openNURBS/opennurbs_surfaceproxy.h
-    openNURBS/opennurbs_system.h
-    openNURBS/opennurbs_textlog.h
-    openNURBS/opennurbs_texture.h
-    openNURBS/opennurbs_texture_mapping.h
-    openNURBS/opennurbs_torus.h
-    openNURBS/opennurbs_unicode.h
-    openNURBS/opennurbs_userdata.h
-    openNURBS/opennurbs_uuid.h
-    openNURBS/opennurbs_version.h
-    openNURBS/opennurbs_viewport.h
-    openNURBS/opennurbs_workspace.h
-    openNURBS/opennurbs_x.h
-    openNURBS/opennurbs_xform.h
-    openNURBS/opennurbs_zlib.h
-    )
-
-  list(APPEND BRLCAD_DEPS OPENNURBS_BLD)
-
-endif (${CMAKE_PROJECT_NAME}_OPENNURBS_BUILD)
-
-###############################################################################
-#                  Screened Poisson Reconstruction Library
-###############################################################################
-
-set(spsr_DESCRIPTION "
-Option for enabling and disabling compilation of the Screened Poisson
-Surface Reconstruction library provided with BRL-CAD's source code.
-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.
-")
-THIRD_PARTY(libspsr SPSR libspsr spsr_DESCRIPTION ALIASES ENABLE_SPSR FLAGS 
NOSYS)
-
-if (${CMAKE_PROJECT_NAME}_SPSR_BUILD)
-
-  if (MSVC)
-    set(SPSR_BASENAME SPSR)
-  else (MSVC)
-    set(SPSR_BASENAME libSPSR)
-  endif (MSVC)
-
-  ExternalProject_Add(SPSR_BLD
-    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/libspsr"
-    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DLIB_DIR=${LIB_DIR} 
-DBIN_DIR=${BIN_DIR}
-               -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
-    )
-  ExternalProject_Target(spsr SPSR_BLD
-    OUTPUT_FILE ${SPSR_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
-    STATIC_OUTPUT_FILE ${SPSR_BASENAME}-static${CMAKE_STATIC_LIBRARY_SUFFIX}
-    RPATH
-    )
-
-  ExternalProject_ByProducts(SPSR_BLD ${INCLUDE_DIR}
-    SPSR/SPSR.h
-    SPSR/cvertex.h
-    )
-
-  set(SPSR_LIBRARIES spsr CACHE STRING "Building bundled spsr" FORCE)
-  set(SPSR_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/${INCLUDE_DIR}/spsr" CACHE STRING 
"Directory containing spsr headers." FORCE)
-
-  list(APPEND BRLCAD_DEPS SPSR_BLD)
-  
-  SetTargetFolder(SPSR_BLD "Third Party Libraries")
-  SetTargetFolder(spsr "Third Party Libraries")
-
-endif (${CMAKE_PROJECT_NAME}_SPSR_BUILD)
-
-
-
-###############################################################################
-#       STEPcode - support for reading and writing STEP files
-###############################################################################
-
-set(sc_DESCRIPTION "
-Option for enabling and disabling compilation of the NIST Step Class
-Libraries provided with BRL-CAD's source code.  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.
-")
-
-THIRD_PARTY(stepcode SC stepcode sc_DESCRIPTION
-  REQUIRED_VARS BRLCAD_LEVEL3
-  ALIASES ${sc_ALIASES}
-  RESET_VARS EXP2CXX_EXEC EXP2CXX_EXECUTABLE_TARGET
-  FLAGS NOSYS)
-
-if(BRLCAD_SC_BUILD)
-
-
-  set(SC_MAJOR_VERSION 2)
-  set(SC_MINOR_VERSION 0)
-  set(SC_PATCH_VERSION 0)
-  set(SC_VERSION ${SC_MAJOR_VERSION}.${SC_MINOR_VERSION}.${SC_PATCH_VERSION})
-
-  if (MSVC)
-    set(SC_PREFIX "")
-    set(SC_SUFFIX "")
-  else (MSVC)
-    set(SC_PREFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
-    set(SC_SUFFIX "${CMAKE_SHARED_LIBRARY_SUFFIX}.${SC_VERSION}")
-  endif (MSVC)
-
-
-  set(LEMON_TARGET)
-  if (TARGET LEMON_BLD)
-    set(LEMON_TARGET LEMON_BLD)
-    list(APPEND SC_DEPS LEMON_BLD)
-  endif (TARGET LEMON_BLD)
-
-  set(RE2C_TARGET)
-  if (TARGET RE2C_BLD)
-    set(RE2C_TARGET RE2C_BLD)
-    list(APPEND SC_DEPS RE2C_BLD)
-  endif (TARGET RE2C_BLD)
-
-  set(PERPLEX_TARGET)
-  if (TARGET PERPLEX_BLD)
-    set(PERPLEX_TARGET PERPLEX_BLD)
-    list(APPEND SC_DEPS PERPLEX_BLD)
-  endif (TARGET PERPLEX_BLD)
-
-  ExternalProject_Add(STEPCODE_BLD
-    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/stepcode"
-    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DLIB_DIR=${LIB_DIR} 
-DBIN_DIR=${BIN_DIR}
-               -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
-              -DLEMON_ROOT=$<$<BOOL:${LEMON_TARGET}>:${CMAKE_BINARY_DIR}>
-              -DLEMON_TEMPLATE=$<$<BOOL:${LEMON_TARGET}>:${LEMON_TEMPLATE}>
-              -DRE2C_ROOT=$<$<BOOL:${RE2C_TARGET}>:${CMAKE_BINARY_DIR}>
-              -DPERPLEX_ROOT=$<$<BOOL:${PERPLEX_TARGET}>:${CMAKE_BINARY_DIR}>
-               -DSC_IS_SUBBUILD=ON -DSC_PYTHON_GENERATOR=OFF
-               -DSC_ENABLE_TESTING=OFF -DSC_ENABLE_COVERAGE=OFF 
-DSC_BUILD_SCHEMAS=
-               -DINCLUDE_INSTALL_DIR=${INCLUDE_DIR}
-    DEPENDS ${SC_DEPS}
-    )
- set(STEPCODE_LIBS base express exppp stepcore stepeditor stepdai steputils)
-  foreach(SCLIB ${STEPCODE_LIBS})
-    ExternalProject_Target(lib${SCLIB} STEPCODE_BLD
-      OUTPUT_FILE ${SC_PREFIX}${SCLIB}${SC_SUFFIX}
-      SYMLINKS 
"${SC_PREFIX}${SCLIB}${CMAKE_SHARED_LIBRARY_SUFFIX};${SC_PREFIX}${SCLIB}${CMAKE_SHARED_LIBRARY_SUFFIX}.2"
-      LINK_TARGET "${SC_PREFIX}${SCLIB}${CMAKE_SHARED_LIBRARY_SUFFIX}"
-      RPATH
-      )
-  endforeach(SCLIB ${STEPCODE_LIBS})
-  set(STEPCODE_EXECS check-express exppp exp2cxx)
-  foreach(SCEXEC ${STEPCODE_EXECS})
-    ExternalProject_Target(${SCEXEC} STEPCODE_BLD
-      OUTPUT_FILE ${SCEXEC}${CMAKE_EXECUTABLE_SUFFIX}
-      RPATH EXEC
-      )
-  endforeach(SCEXEC ${STEPCODE_EXECS})
-
-  set(EXP2CXX_EXEC exp2cxx CACHE STRING "Express to C++ executable" FORCE)
-  mark_as_advanced(EXP2CXX_EXEC)
-  set(EXP2CXX_EXECUTABLE_TARGET exp2cxx CACHE STRING "Express to C++ 
executable target" FORCE)
-  mark_as_advanced(EXP2CXX_EXECUTABLE_TARGET)
-  ExternalProject_ByProducts(STEPCODE_BLD ${INCLUDE_DIR}
-    stepcode/cldai/sdaiApplication_instance_set.h
-    stepcode/cldai/sdaiSession_instance.h
-    stepcode/cldai/sdaiObject.h
-    stepcode/cldai/sdaiString.h
-    stepcode/cldai/sdaiEntity_extent.h
-    stepcode/cldai/sdaiEnum.h
-    stepcode/cldai/sdaiModel_contents.h
-    stepcode/cldai/sdaiBinary.h
-    stepcode/cldai/sdaiEntity_extent_set.h
-    stepcode/cldai/sdaiModel_contents_list.h
-    stepcode/cldai/sdaiDaObject.h
-    stepcode/ordered_attrs.h
-    stepcode/exppp/exppp.h
-    stepcode/express/hash.h
-    stepcode/express/error.h
-    stepcode/express/linklist.h
-    stepcode/express/basic.h
-    stepcode/express/memory.h
-    stepcode/express/lexact.h
-    stepcode/express/type.h
-    stepcode/express/caseitem.h
-    stepcode/express/entity.h
-    stepcode/express/resolve.h
-    stepcode/express/schema.h
-    stepcode/express/stmt.h
-    stepcode/express/expr.h
-    stepcode/express/dict.h
-    stepcode/express/expbasic.h
-    stepcode/express/alg.h
-    stepcode/express/variable.h
-    stepcode/express/express.h
-    stepcode/express/object.h
-    stepcode/express/symbol.h
-    stepcode/express/scope.h
-    stepcode/sc_export.h
-    stepcode/sc_cf.h
-    stepcode/clutils/Str.h
-    stepcode/clutils/gennodearray.h
-    stepcode/clutils/gennode.h
-    stepcode/clutils/errordesc.h
-    stepcode/clutils/gennodelist.h
-    stepcode/clutils/sc_hash.h
-    stepcode/clutils/dirobj.h
-    stepcode/cleditor/cmdmgr.h
-    stepcode/cleditor/editordefines.h
-    stepcode/cleditor/SdaiHeaderSchemaClasses.h
-    stepcode/cleditor/seeinfodefault.h
-    stepcode/cleditor/SdaiHeaderSchema.h
-    stepcode/cleditor/SdaiSchemaInit.h
-    stepcode/cleditor/STEPfile.h
-    stepcode/sc_version_string.h
-    stepcode/sc_stdbool.h
-    stepcode/base/sc_getopt.h
-    stepcode/base/sc_trace_fprintf.h
-    stepcode/base/sc_benchmark.h
-    stepcode/base/sc_memmgr.h
-    stepcode/clstepcore/STEPundefined.h
-    stepcode/clstepcore/mgrnodelist.h
-    stepcode/clstepcore/STEPattribute.h
-    stepcode/clstepcore/STEPaggregate.h
-    stepcode/clstepcore/ExpDict.h
-    stepcode/clstepcore/read_func.h
-    stepcode/clstepcore/needFunc.h
-    stepcode/clstepcore/mgrnodearray.h
-    stepcode/clstepcore/mgrnode.h
-    stepcode/clstepcore/dispnode.h
-    stepcode/clstepcore/sdai.h
-    stepcode/clstepcore/STEPcomplex.h
-    stepcode/clstepcore/instmgr.h
-    stepcode/clstepcore/baseType.h
-    stepcode/clstepcore/sdaiSelect.h
-    stepcode/clstepcore/SubSuperIterators.h
-    stepcode/clstepcore/dictdefs.h
-    stepcode/clstepcore/SingleLinkList.h
-    stepcode/clstepcore/STEPattributeList.h
-    stepcode/clstepcore/dispnodelist.h
-    stepcode/clstepcore/sdaiApplication_instance.h
-    stepcode/clstepcore/Registry.h
-    stepcode/clstepcore/complexSupport.h
-    )
-
-  list(APPEND BRLCAD_DEPS STEPCODE_BLD)
-
-  SetTargetFolder(STEPCODE_BLD "Third Party Libraries")
-  SetTargetFolder(stepcode "Third Party Libraries")
-endif(BRLCAD_SC_BUILD)
-
-###############################################################################
-#      VDSlib - A View-Dependent Simplification and Rendering Library
-###############################################################################
-
-#  For the moment, this is marked NOSYS - it's possible that some Debian
-#  systems would have 0.9 of vdslib installed, but it's unmaintained and we're
-#  likely to be making changes.  If our own copy of VDSlib ever spins back off
-#  into its own project, revisit the NOSYS
-
-set(libvds_DESCRIPTION "
-Option for enabling and disabling compilation of the libvds triangle
-simplification library provided with BRL-CAD's source code.  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.
-")
-THIRD_PARTY(libvds VDS libvds libvds_DESCRIPTION ALIASES ENABLE_VDS FLAGS 
NOSYS)
-
-if (${CMAKE_PROJECT_NAME}_VDS_BUILD)
-
-  if (MSVC)
-    set(VDS_BASENAME vds)
-  else (MSVC)
-    set(VDS_BASENAME libvds)
-  endif (MSVC)
-
-
-  ExternalProject_Add(VDS_BLD
-    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/libvds"
-    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DLIB_DIR=${LIB_DIR} 
-DBIN_DIR=${BIN_DIR}
-               -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
-    )
-  ExternalProject_Target(vds VDS_BLD
-    OUTPUT_FILE ${VDS_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
-    STATIC_OUTPUT_FILE ${VDS_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
-    RPATH
-    )
-
-  ExternalProject_ByProducts(VDS_BLD ${INCLUDE_DIR}
-    vds.h
-    )
-
-  set(VDS_LIBRARIES vds CACHE STRING "Building bundled netpbm" FORCE)
-  set(VDS_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing vds headers." FORCE)
-
-  list(APPEND BRLCAD_DEPS VDS_BLD)
-  
-  SetTargetFolder(VDS_BLD "Third Party Libraries")
-
-endif (${CMAKE_PROJECT_NAME}_VDS_BUILD)
-
-
-###############################################################################
-#               gdiam - approximate tight bounding boxes
-###############################################################################
-
-set(libgdiam_DESCRIPTION "
-Option for enabling and disabling compilation of the libgdiam approximate
-tight bounding box library provided with BRL-CAD's source code.  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.
-")
-THIRD_PARTY(libgdiam GDIAM libgdiam libgdiam_DESCRIPTION ALIASES ENABLE_GDIAM 
FLAGS NOSYS)
-
-if (${CMAKE_PROJECT_NAME}_GDIAM_BUILD)
-
-  if (MSVC)
-    set(GDIAM_BASENAME gdiam)
-  else (MSVC)
-    set(GDIAM_BASENAME libgdiam)
-  endif (MSVC)
-
-  ExternalProject_Add(GDIAM_BLD
-    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/libgdiam"
-    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DLIB_DIR=${LIB_DIR} 
-DBIN_DIR=${BIN_DIR}
-               -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
-    )
-  ExternalProject_Target(gdiam GDIAM_BLD
-    OUTPUT_FILE ${GDIAM_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
-    STATIC_OUTPUT_FILE ${GDIAM_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
-    RPATH
-    )
-
-  ExternalProject_ByProducts(GDIAM_BLD ${INCLUDE_DIR}
-    gdiam.hpp
-    )
-  
-  list(APPEND BRLCAD_DEPS GDIAM_BLD)
-
-  SetTargetFolder(GDIAM_BLD "Third Party Libraries")
-
-endif (${CMAKE_PROJECT_NAME}_GDIAM_BUILD)
-
-
-###############################################################################
-#             Poly2Tri - 2D constrained Delaunay triangulation
-###############################################################################
-
-set(poly2tri_DESCRIPTION "
-Option for enabling and disabling compilation of the poly2tri 2D constrained
-Delaunay triangulation library provided with BRL-CAD's source code.  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.
-")
-THIRD_PARTY(poly2tri POLY2TRI poly2tri poly2tri_DESCRIPTION ALIASES 
ENABLE_POLY2TRI FLAGS NOSYS)
-
-if (${CMAKE_PROJECT_NAME}_POLY2TRI_BUILD)
-
-  if (MSVC)
-    set(POLY2TRI_BASENAME poly2tri)
-  else (MSVC)
-    set(POLY2TRI_BASENAME libpoly2tri)
-  endif (MSVC)
-
-  ExternalProject_Add(POLY2TRI_BLD
-    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/poly2tri"
-    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DLIB_DIR=${LIB_DIR} 
-DBIN_DIR=${BIN_DIR}
-               -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
-    )
-  ExternalProject_Target(poly2tri POLY2TRI_BLD
-    OUTPUT_FILE ${POLY2TRI_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
-    STATIC_OUTPUT_FILE ${POLY2TRI_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
-    RPATH
-    )
-
-  ExternalProject_ByProducts(POLY2TRI_BLD ${INCLUDE_DIR}
-    poly2tri/poly2tri.h
-    poly2tri/common/shapes.h
-    poly2tri/sweep/cdt.h
-    poly2tri/sweep/advancing_front.h
-    poly2tri/sweep/sweep.h
-    poly2tri/sweep/sweep_context.h
-    )
-
-  list(APPEND BRLCAD_DEPS POLY2TRI_BLD)
-  
-  SetTargetFolder(POLY2TRI_BLD "Third Party Libraries")
-
-endif (${CMAKE_PROJECT_NAME}_POLY2TRI_BUILD)
-
-
-###############################################################################
 #                    Primary BRL-CAD Compilation
 ###############################################################################
 
@@ -1090,6 +217,7 @@
   -DVDS_ROOT=$<$<BOOL:${VDS_TARGET}>:${CMAKE_BINARY_DIR}>
   -DGDIAM_ROOT=$<$<BOOL:${GDIAM_TARGET}>:${CMAKE_BINARY_DIR}>
   -DPOLY2TRI_ROOT=$<$<BOOL:${POLY2TRI_TARGET}>:${CMAKE_BINARY_DIR}>
+  -DBRLCAD_ENABLE_GDAL=OFF
   DEPENDS ${BRLCAD_DEPS}
   )
 

Added: brlcad/branches/thirdparty_rework/src/superbuild/gdiam.cmake
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/gdiam.cmake                
                (rev 0)
+++ brlcad/branches/thirdparty_rework/src/superbuild/gdiam.cmake        
2020-09-28 14:33:26 UTC (rev 77253)
@@ -0,0 +1,46 @@
+set(libgdiam_DESCRIPTION "
+Option for enabling and disabling compilation of the libgdiam approximate
+tight bounding box library provided with BRL-CAD's source code.  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.
+")
+THIRD_PARTY(libgdiam GDIAM libgdiam libgdiam_DESCRIPTION ALIASES ENABLE_GDIAM 
FLAGS NOSYS)
+
+if (${CMAKE_PROJECT_NAME}_GDIAM_BUILD)
+
+  if (MSVC)
+    set(GDIAM_BASENAME gdiam)
+  else (MSVC)
+    set(GDIAM_BASENAME libgdiam)
+  endif (MSVC)
+
+  ExternalProject_Add(GDIAM_BLD
+    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/libgdiam"
+    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DLIB_DIR=${LIB_DIR} 
-DBIN_DIR=${BIN_DIR}
+               -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
+    )
+  ExternalProject_Target(gdiam GDIAM_BLD
+    OUTPUT_FILE ${GDIAM_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
+    STATIC_OUTPUT_FILE ${GDIAM_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
+    RPATH
+    )
+
+  ExternalProject_ByProducts(GDIAM_BLD ${INCLUDE_DIR}
+    gdiam.hpp
+    )
+
+  list(APPEND BRLCAD_DEPS GDIAM_BLD)
+
+  SetTargetFolder(GDIAM_BLD "Third Party Libraries")
+
+endif (${CMAKE_PROJECT_NAME}_GDIAM_BUILD)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+


Property changes on: 
brlcad/branches/thirdparty_rework/src/superbuild/gdiam.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
Added: brlcad/branches/thirdparty_rework/src/superbuild/netpbm.cmake
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/netpbm.cmake               
                (rev 0)
+++ brlcad/branches/thirdparty_rework/src/superbuild/netpbm.cmake       
2020-09-28 14:33:26 UTC (rev 77253)
@@ -0,0 +1,62 @@
+set(netpbm_DESCRIPTION "
+Option for enabling and disabling compilation of the netpbm library
+provided with BRL-CAD's source code.  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.
+")
+THIRD_PARTY(libnetpbm NETPBM netpbm netpbm_DESCRIPTION REQUIRED_VARS 
BRLCAD_LEVEL2 ALIASES ENABLE_NETPBM)
+
+if (${CMAKE_PROJECT_NAME}_NETPBM_BUILD)
+
+  if (MSVC)
+    set(NETPBM_BASENAME regex_brl)
+  else (MSVC)
+    set(NETPBM_BASENAME libregex_brl)
+  endif (MSVC)
+
+  ExternalProject_Add(NETPBM_BLD
+    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/libnetpbm"
+    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DLIB_DIR=${LIB_DIR} 
-DBIN_DIR=${BIN_DIR}
+               -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
+    )
+  ExternalProject_Target(netpbm NETPBM_BLD
+    OUTPUT_FILE ${NETPBM_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
+    STATIC_OUTPUT_FILE ${NETPBM_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
+    RPATH
+    )
+
+  ExternalProject_ByProducts(NETPBM_BLD ${INCLUDE_DIR}
+    netpbm/bitio.h
+    netpbm/colorname.h
+    netpbm/pam.h
+    netpbm/pammap.h
+    netpbm/pbm.h
+    netpbm/pbmfont.h
+    netpbm/pgm.h
+    netpbm/pm.h
+    netpbm/pm_gamma.h
+    netpbm/pm_system.h
+    netpbm/pnm.h
+    netpbm/ppm.h
+    netpbm/ppmcmap.h
+    netpbm/ppmfloyd.h
+    )
+
+  list(APPEND BRLCAD_DEPS NETPBM_BLD)
+
+  set(NETPBM_LIBRARIES netpbm CACHE STRING "Building bundled netpbm" FORCE)
+  set(NETPBM_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/${INCLUDE_DIR}/netpbm" CACHE 
STRING "Directory containing netpbm headers." FORCE)
+
+  SetTargetFolder(NETPBM_BLD "Third Party Libraries")
+  SetTargetFolder(netpbm "Third Party Libraries")
+
+endif (${CMAKE_PROJECT_NAME}_NETPBM_BUILD)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+


Property changes on: 
brlcad/branches/thirdparty_rework/src/superbuild/netpbm.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
Added: brlcad/branches/thirdparty_rework/src/superbuild/openNURBS.cmake
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/openNURBS.cmake            
                (rev 0)
+++ brlcad/branches/thirdparty_rework/src/superbuild/openNURBS.cmake    
2020-09-28 14:33:26 UTC (rev 77253)
@@ -0,0 +1,162 @@
+set(opennurbs_DESCRIPTION "
+Option for enabling and disabling compilation of the openNURBS library
+provided with BRL-CAD's source code.  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.
+")
+THIRD_PARTY(openNURBS OPENNURBS openNURBS opennurbs_DESCRIPTION ALIASES 
ENABLE_OPENNURBS FLAGS NOSYS)
+
+if (${CMAKE_PROJECT_NAME}_OPENNURBS_BUILD)
+
+  set(OPENNURBS_MAJOR_VERSION 2012)
+  set(OPENNURBS_MINOR_VERSION 10)
+  set(OPENNURBS_PATCH_VERSION 245)
+  set(OPENNURBS_VERSION 
${OPENNURBS_MAJOR_VERSION}.${OPENNURBS_MINOR_VERSION}.${OPENNURBS_PATCH_VERSION})
+
+  if (MSVC)
+    set(OPENNURBS_BASENAME openNURBS)
+    set(OPENNURBS_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
+  else (MSVC)
+    set(OPENNURBS_BASENAME libopenNURBS)
+    set(OPENNURBS_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}.${OPENNURBS_VERSION})
+  endif (MSVC)
+
+  if (TARGET ZLIB_BLD)
+    set(ZLIB_TARGET ZLIB_BLD)
+  endif (TARGET ZLIB_BLD)
+
+  ExternalProject_Add(OPENNURBS_BLD
+    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/openNURBS"
+    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DLIB_DIR=${LIB_DIR} 
-DBIN_DIR=${BIN_DIR}
+    -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
+    -DZLIB_ROOT=$<$<BOOL:${ZLIB_TARGET}>:${CMAKE_BINARY_DIR}> 
-DZLIB_LIBRARY=$<$<BOOL:${ZLIB_TARGET}>:${CMAKE_BINARY_DIR}/${LIB_DIR}/${ZLIB_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}>
+    DEPENDS ${ZLIB_TARGET}
+    )
+  ExternalProject_Target(openNURBS OPENNURBS_BLD
+    OUTPUT_FILE ${OPENNURBS_BASENAME}${OPENNURBS_SUFFIX}
+    STATIC_OUTPUT_FILE ${OPENNURBS_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
+    SYMLINKS 
"${OPENNURBS_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX};${OPENNURBS_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${OPENNURBS_MAJOR_VERSION}"
+    LINK_TARGET "${OPENNURBS_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}"
+    STATIC_LINK_TARGET "${OPENNURBS_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}"
+    RPATH
+    )
+
+  ExternalProject_ByProducts(OPENNURBS_BLD ${INCLUDE_DIR}
+    openNURBS/opennurbs.h
+    openNURBS/opennurbs_3dm.h
+    openNURBS/opennurbs_3dm_attributes.h
+    openNURBS/opennurbs_3dm_properties.h
+    openNURBS/opennurbs_3dm_settings.h
+    openNURBS/opennurbs_annotation.h
+    openNURBS/opennurbs_annotation2.h
+    openNURBS/opennurbs_arc.h
+    openNURBS/opennurbs_arccurve.h
+    openNURBS/opennurbs_archive.h
+    openNURBS/opennurbs_array.h
+    openNURBS/opennurbs_array_defs.h
+    openNURBS/opennurbs_base32.h
+    openNURBS/opennurbs_base64.h
+    openNURBS/opennurbs_beam.h
+    openNURBS/opennurbs_bezier.h
+    openNURBS/opennurbs_bitmap.h
+    openNURBS/opennurbs_bounding_box.h
+    openNURBS/opennurbs_box.h
+    openNURBS/opennurbs_brep.h
+    openNURBS/opennurbs_circle.h
+    openNURBS/opennurbs_color.h
+    openNURBS/opennurbs_compress.h
+    openNURBS/opennurbs_cone.h
+    openNURBS/opennurbs_crc.h
+    openNURBS/opennurbs_curve.h
+    openNURBS/opennurbs_curveonsurface.h
+    openNURBS/opennurbs_curveproxy.h
+    openNURBS/opennurbs_cylinder.h
+    openNURBS/opennurbs_defines.h
+    openNURBS/opennurbs_detail.h
+    openNURBS/opennurbs_dimstyle.h
+    openNURBS/opennurbs_dll_resource.h
+    openNURBS/opennurbs_ellipse.h
+    openNURBS/opennurbs_error.h
+    openNURBS/opennurbs_evaluate_nurbs.h
+    openNURBS/opennurbs_extensions.h
+    openNURBS/opennurbs_font.h
+    openNURBS/opennurbs_fpoint.h
+    openNURBS/opennurbs_fsp.h
+    openNURBS/opennurbs_fsp_defs.h
+    openNURBS/opennurbs_geometry.h
+    openNURBS/opennurbs_group.h
+    openNURBS/opennurbs_hatch.h
+    openNURBS/opennurbs_hsort_template.h
+    openNURBS/opennurbs_instance.h
+    openNURBS/opennurbs_intersect.h
+    openNURBS/opennurbs_knot.h
+    openNURBS/opennurbs_layer.h
+    openNURBS/opennurbs_light.h
+    openNURBS/opennurbs_line.h
+    openNURBS/opennurbs_linecurve.h
+    openNURBS/opennurbs_linestyle.h
+    openNURBS/opennurbs_linetype.h
+    openNURBS/opennurbs_lookup.h
+    openNURBS/opennurbs_mapchan.h
+    openNURBS/opennurbs_massprop.h
+    openNURBS/opennurbs_material.h
+    openNURBS/opennurbs_math.h
+    openNURBS/opennurbs_matrix.h
+    openNURBS/opennurbs_memory.h
+    openNURBS/opennurbs_mesh.h
+    openNURBS/opennurbs_nurbscurve.h
+    openNURBS/opennurbs_nurbssurface.h
+    openNURBS/opennurbs_object.h
+    openNURBS/opennurbs_object_history.h
+    openNURBS/opennurbs_objref.h
+    openNURBS/opennurbs_offsetsurface.h
+    openNURBS/opennurbs_optimize.h
+    openNURBS/opennurbs_plane.h
+    openNURBS/opennurbs_planesurface.h
+    openNURBS/opennurbs_pluginlist.h
+    openNURBS/opennurbs_point.h
+    openNURBS/opennurbs_pointcloud.h
+    openNURBS/opennurbs_pointgeometry.h
+    openNURBS/opennurbs_pointgrid.h
+    openNURBS/opennurbs_polycurve.h
+    openNURBS/opennurbs_polyedgecurve.h
+    openNURBS/opennurbs_polyline.h
+    openNURBS/opennurbs_polylinecurve.h
+    openNURBS/opennurbs_qsort_template.h
+    openNURBS/opennurbs_rand.h
+    openNURBS/opennurbs_rendering.h
+    openNURBS/opennurbs_revsurface.h
+    openNURBS/opennurbs_rtree.h
+    openNURBS/opennurbs_sphere.h
+    openNURBS/opennurbs_string.h
+    openNURBS/opennurbs_sumsurface.h
+    openNURBS/opennurbs_surface.h
+    openNURBS/opennurbs_surfaceproxy.h
+    openNURBS/opennurbs_system.h
+    openNURBS/opennurbs_textlog.h
+    openNURBS/opennurbs_texture.h
+    openNURBS/opennurbs_texture_mapping.h
+    openNURBS/opennurbs_torus.h
+    openNURBS/opennurbs_unicode.h
+    openNURBS/opennurbs_userdata.h
+    openNURBS/opennurbs_uuid.h
+    openNURBS/opennurbs_version.h
+    openNURBS/opennurbs_viewport.h
+    openNURBS/opennurbs_workspace.h
+    openNURBS/opennurbs_x.h
+    openNURBS/opennurbs_xform.h
+    openNURBS/opennurbs_zlib.h
+    )
+
+  list(APPEND BRLCAD_DEPS OPENNURBS_BLD)
+
+endif (${CMAKE_PROJECT_NAME}_OPENNURBS_BUILD)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+


Property changes on: 
brlcad/branches/thirdparty_rework/src/superbuild/openNURBS.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
Added: brlcad/branches/thirdparty_rework/src/superbuild/png.cmake
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/png.cmake                  
        (rev 0)
+++ brlcad/branches/thirdparty_rework/src/superbuild/png.cmake  2020-09-28 
14:33:26 UTC (rev 77253)
@@ -0,0 +1,81 @@
+# 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(libpng PNG png png_DESCRIPTION REQUIRED_VARS BRLCAD_LEVEL2 ALIASES 
ENABLE_PNG)
+
+if (${CMAKE_PROJECT_NAME}_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)
+
+  if (TARGET ZLIB_BLD)
+    set(ZLIB_TARGET ZLIB_BLD)
+  endif (TARGET ZLIB_BLD)
+
+  ExternalProject_Add(PNG_BLD
+    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/libpng"
+    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} 
-DCMAKE_INSTALL_LIBDIR=${LIB_DIR}
+               -DCMAKE_PREFIX_PATH=${CMAKE_BINARY_DIR}/${LIB_DIR} 
-DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH}
+               -DPNG_STATIC=${BUILD_STATIC_LIBS} -DSKIP_INSTALL_FILES=ON 
-DSKIP_INSTALL_EXECUTABLES=ON
+               -DSKIP_INSTALL_EXPORT=ON -DPNG_TESTS=OFF -Dld-version-script=OFF
+              -DZLIB_ROOT=$<$<BOOL:${ZLIB_TARGET}>:${CMAKE_BINARY_DIR}> 
-DZLIB_LIBRARY=$<$<BOOL:${ZLIB_TARGET}>:${CMAKE_BINARY_DIR}/${LIB_DIR}/${ZLIB_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}>
+               -DPNG_LIB_NAME=${PNG_LIB_NAME} -DPNG_PREFIX=brl_
+    DEPENDS ${ZLIB_TARGET}
+    )
+  ExternalProject_Target(png PNG_BLD
+    OUTPUT_FILE ${PNG_BASENAME}${PNG_SUFFIX}
+    STATIC_OUTPUT_FILE ${PNG_BASENAME}${CMAKE_STATIC_LIBRARY_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}"
+    STATIC_LINK_TARGET "${PNG_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}"
+    RPATH
+    )
+  ExternalProject_ByProducts(PNG_BLD ${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
+    )
+
+  list(APPEND BRLCAD_DEPS PNG_BLD)
+
+  set(PNG_LIBRARIES png CACHE STRING "Building bundled libpng" FORCE)
+  set(PNG_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing libpng headers." FORCE)
+
+  SetTargetFolder(PNG_BLD "Third Party Libraries")
+  SetTargetFolder(png "Third Party Libraries")
+
+endif (${CMAKE_PROJECT_NAME}_PNG_BUILD)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+


Property changes on: brlcad/branches/thirdparty_rework/src/superbuild/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
Added: brlcad/branches/thirdparty_rework/src/superbuild/poly2tri.cmake
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/poly2tri.cmake             
                (rev 0)
+++ brlcad/branches/thirdparty_rework/src/superbuild/poly2tri.cmake     
2020-09-28 14:33:26 UTC (rev 77253)
@@ -0,0 +1,50 @@
+set(poly2tri_DESCRIPTION "
+Option for enabling and disabling compilation of the poly2tri 2D constrained
+Delaunay triangulation library provided with BRL-CAD's source code.  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.
+")
+THIRD_PARTY(poly2tri POLY2TRI poly2tri poly2tri_DESCRIPTION ALIASES 
ENABLE_POLY2TRI FLAGS NOSYS)
+
+if (${CMAKE_PROJECT_NAME}_POLY2TRI_BUILD)
+
+  if (MSVC)
+    set(POLY2TRI_BASENAME poly2tri)
+  else (MSVC)
+    set(POLY2TRI_BASENAME libpoly2tri)
+  endif (MSVC)
+
+  ExternalProject_Add(POLY2TRI_BLD
+    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/poly2tri"
+    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DLIB_DIR=${LIB_DIR} 
-DBIN_DIR=${BIN_DIR}
+               -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
+    )
+  ExternalProject_Target(poly2tri POLY2TRI_BLD
+    OUTPUT_FILE ${POLY2TRI_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
+    STATIC_OUTPUT_FILE ${POLY2TRI_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
+    RPATH
+    )
+
+  ExternalProject_ByProducts(POLY2TRI_BLD ${INCLUDE_DIR}
+    poly2tri/poly2tri.h
+    poly2tri/common/shapes.h
+    poly2tri/sweep/cdt.h
+    poly2tri/sweep/advancing_front.h
+    poly2tri/sweep/sweep.h
+    poly2tri/sweep/sweep_context.h
+    )
+
+  list(APPEND BRLCAD_DEPS POLY2TRI_BLD)
+
+  SetTargetFolder(POLY2TRI_BLD "Third Party Libraries")
+
+endif (${CMAKE_PROJECT_NAME}_POLY2TRI_BUILD)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+


Property changes on: 
brlcad/branches/thirdparty_rework/src/superbuild/poly2tri.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
Added: brlcad/branches/thirdparty_rework/src/superbuild/regex.cmake
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/regex.cmake                
                (rev 0)
+++ brlcad/branches/thirdparty_rework/src/superbuild/regex.cmake        
2020-09-28 14:33:26 UTC (rev 77253)
@@ -0,0 +1,60 @@
+set (regex_DESCRIPTION "
+Option for enabling and disabling compilation of the Regular
+Expression 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.
+")
+THIRD_PARTY(libregex REGEX regex regex_DESCRIPTION ALIASES ENABLE_REGEX)
+
+if (${CMAKE_PROJECT_NAME}_REGEX_BUILD)
+
+  set(REGEX_VERSION "1.0.4")
+  if (MSVC)
+    set(REGEX_BASENAME regex_brl)
+    set(REGEX_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
+  else (MSVC)
+    set(REGEX_BASENAME libregex_brl)
+    set(REGEX_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}.${REGEX_VERSION})
+  endif (MSVC)
+
+  # Platform differences in default linker behavior make it difficult to
+  # guarantee that our libregex symbols will override libc. We'll avoid the
+  # issue by renaming our libregex symbols to be incompatible with libc.
+  ExternalProject_Add(REGEX_BLD
+    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/libregex"
+    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DLIB_DIR=${LIB_DIR} 
-DBIN_DIR=${BIN_DIR}
+    -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
+    -DREGEX_PREFIX_STR=libregex_
+    )
+
+  ExternalProject_Target(regex REGEX_BLD
+    OUTPUT_FILE ${REGEX_BASENAME}${REGEX_SUFFIX}
+    STATIC_OUTPUT_FILE ${REGEX_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
+    SYMLINKS 
"${REGEX_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX};${REGEX_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.1"
+    LINK_TARGET "${REGEX_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}"
+    STATIC_LINK_TARGET "${REGEX_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}"
+    RPATH
+    )
+  ExternalProject_ByProducts(REGEX_BLD ${INCLUDE_DIR}
+    regex.h
+    )
+
+  list(APPEND BRLCAD_DEPS REGEX_BLD)
+
+  set(REGEX_LIBRARIES regex CACHE STRING "Building bundled libregex" FORCE)
+  set(REGEX_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing regex headers." FORCE)
+
+  SetTargetFolder(REGEX_BLD "Third Party Libraries")
+  SetTargetFolder(regex "Third Party Libraries")
+
+endif (${CMAKE_PROJECT_NAME}_REGEX_BUILD)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+


Property changes on: 
brlcad/branches/thirdparty_rework/src/superbuild/regex.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
Added: brlcad/branches/thirdparty_rework/src/superbuild/spsr.cmake
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/spsr.cmake                 
        (rev 0)
+++ brlcad/branches/thirdparty_rework/src/superbuild/spsr.cmake 2020-09-28 
14:33:26 UTC (rev 77253)
@@ -0,0 +1,50 @@
+set(spsr_DESCRIPTION "
+Option for enabling and disabling compilation of the Screened Poisson
+Surface Reconstruction library provided with BRL-CAD's source code.
+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.
+")
+THIRD_PARTY(libspsr SPSR libspsr spsr_DESCRIPTION ALIASES ENABLE_SPSR FLAGS 
NOSYS)
+
+if (${CMAKE_PROJECT_NAME}_SPSR_BUILD)
+
+  if (MSVC)
+    set(SPSR_BASENAME SPSR)
+  else (MSVC)
+    set(SPSR_BASENAME libSPSR)
+  endif (MSVC)
+
+  ExternalProject_Add(SPSR_BLD
+    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/libspsr"
+    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DLIB_DIR=${LIB_DIR} 
-DBIN_DIR=${BIN_DIR}
+               -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
+    )
+  ExternalProject_Target(spsr SPSR_BLD
+    OUTPUT_FILE ${SPSR_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
+    STATIC_OUTPUT_FILE ${SPSR_BASENAME}-static${CMAKE_STATIC_LIBRARY_SUFFIX}
+    RPATH
+    )
+
+  ExternalProject_ByProducts(SPSR_BLD ${INCLUDE_DIR}
+    SPSR/SPSR.h
+    SPSR/cvertex.h
+    )
+
+  set(SPSR_LIBRARIES spsr CACHE STRING "Building bundled spsr" FORCE)
+  set(SPSR_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/${INCLUDE_DIR}/spsr" CACHE STRING 
"Directory containing spsr headers." FORCE)
+
+  list(APPEND BRLCAD_DEPS SPSR_BLD)
+
+  SetTargetFolder(SPSR_BLD "Third Party Libraries")
+  SetTargetFolder(spsr "Third Party Libraries")
+
+endif (${CMAKE_PROJECT_NAME}_SPSR_BUILD)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+


Property changes on: brlcad/branches/thirdparty_rework/src/superbuild/spsr.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
Added: brlcad/branches/thirdparty_rework/src/superbuild/stepcode.cmake
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/stepcode.cmake             
                (rev 0)
+++ brlcad/branches/thirdparty_rework/src/superbuild/stepcode.cmake     
2020-09-28 14:33:26 UTC (rev 77253)
@@ -0,0 +1,177 @@
+set(sc_DESCRIPTION "
+Option for enabling and disabling compilation of the NIST Step Class
+Libraries provided with BRL-CAD's source code.  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.
+")
+
+THIRD_PARTY(stepcode SC stepcode sc_DESCRIPTION
+  REQUIRED_VARS BRLCAD_LEVEL3
+  ALIASES ${sc_ALIASES}
+  RESET_VARS EXP2CXX_EXEC EXP2CXX_EXECUTABLE_TARGET
+  FLAGS NOSYS)
+
+if(BRLCAD_SC_BUILD)
+
+  set(SC_MAJOR_VERSION 2)
+  set(SC_MINOR_VERSION 0)
+  set(SC_PATCH_VERSION 0)
+  set(SC_VERSION ${SC_MAJOR_VERSION}.${SC_MINOR_VERSION}.${SC_PATCH_VERSION})
+
+  if (MSVC)
+    set(SC_PREFIX "")
+    set(SC_SUFFIX "")
+  else (MSVC)
+    set(SC_PREFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
+    set(SC_SUFFIX "${CMAKE_SHARED_LIBRARY_SUFFIX}.${SC_VERSION}")
+  endif (MSVC)
+
+
+  set(LEMON_TARGET)
+  if (TARGET LEMON_BLD)
+    set(LEMON_TARGET LEMON_BLD)
+    list(APPEND SC_DEPS LEMON_BLD)
+  endif (TARGET LEMON_BLD)
+
+  set(RE2C_TARGET)
+  if (TARGET RE2C_BLD)
+    set(RE2C_TARGET RE2C_BLD)
+    list(APPEND SC_DEPS RE2C_BLD)
+  endif (TARGET RE2C_BLD)
+
+  set(PERPLEX_TARGET)
+  if (TARGET PERPLEX_BLD)
+    set(PERPLEX_TARGET PERPLEX_BLD)
+    list(APPEND SC_DEPS PERPLEX_BLD)
+  endif (TARGET PERPLEX_BLD)
+
+  ExternalProject_Add(STEPCODE_BLD
+    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/stepcode"
+    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DLIB_DIR=${LIB_DIR} 
-DBIN_DIR=${BIN_DIR}
+               -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
+              -DLEMON_ROOT=$<$<BOOL:${LEMON_TARGET}>:${CMAKE_BINARY_DIR}>
+              -DLEMON_TEMPLATE=$<$<BOOL:${LEMON_TARGET}>:${LEMON_TEMPLATE}>
+              -DRE2C_ROOT=$<$<BOOL:${RE2C_TARGET}>:${CMAKE_BINARY_DIR}>
+              -DPERPLEX_ROOT=$<$<BOOL:${PERPLEX_TARGET}>:${CMAKE_BINARY_DIR}>
+               -DSC_IS_SUBBUILD=ON -DSC_PYTHON_GENERATOR=OFF
+               -DSC_ENABLE_TESTING=OFF -DSC_ENABLE_COVERAGE=OFF 
-DSC_BUILD_SCHEMAS=
+               -DINCLUDE_INSTALL_DIR=${INCLUDE_DIR}
+    DEPENDS ${SC_DEPS}
+    )
+ set(STEPCODE_LIBS base express exppp stepcore stepeditor stepdai steputils)
+  foreach(SCLIB ${STEPCODE_LIBS})
+    ExternalProject_Target(lib${SCLIB} STEPCODE_BLD
+      OUTPUT_FILE ${SC_PREFIX}${SCLIB}${SC_SUFFIX}
+      SYMLINKS 
"${SC_PREFIX}${SCLIB}${CMAKE_SHARED_LIBRARY_SUFFIX};${SC_PREFIX}${SCLIB}${CMAKE_SHARED_LIBRARY_SUFFIX}.2"
+      LINK_TARGET "${SC_PREFIX}${SCLIB}${CMAKE_SHARED_LIBRARY_SUFFIX}"
+      RPATH
+      )
+  endforeach(SCLIB ${STEPCODE_LIBS})
+  set(STEPCODE_EXECS check-express exppp exp2cxx)
+  foreach(SCEXEC ${STEPCODE_EXECS})
+    ExternalProject_Target(${SCEXEC} STEPCODE_BLD
+      OUTPUT_FILE ${SCEXEC}${CMAKE_EXECUTABLE_SUFFIX}
+      RPATH EXEC
+      )
+  endforeach(SCEXEC ${STEPCODE_EXECS})
+
+  set(EXP2CXX_EXEC exp2cxx CACHE STRING "Express to C++ executable" FORCE)
+  mark_as_advanced(EXP2CXX_EXEC)
+  set(EXP2CXX_EXECUTABLE_TARGET exp2cxx CACHE STRING "Express to C++ 
executable target" FORCE)
+  mark_as_advanced(EXP2CXX_EXECUTABLE_TARGET)
+  ExternalProject_ByProducts(STEPCODE_BLD ${INCLUDE_DIR}
+    stepcode/cldai/sdaiApplication_instance_set.h
+    stepcode/cldai/sdaiSession_instance.h
+    stepcode/cldai/sdaiObject.h
+    stepcode/cldai/sdaiString.h
+    stepcode/cldai/sdaiEntity_extent.h
+    stepcode/cldai/sdaiEnum.h
+    stepcode/cldai/sdaiModel_contents.h
+    stepcode/cldai/sdaiBinary.h
+    stepcode/cldai/sdaiEntity_extent_set.h
+    stepcode/cldai/sdaiModel_contents_list.h
+    stepcode/cldai/sdaiDaObject.h
+    stepcode/ordered_attrs.h
+    stepcode/exppp/exppp.h
+    stepcode/express/hash.h
+    stepcode/express/error.h
+    stepcode/express/linklist.h
+    stepcode/express/basic.h
+    stepcode/express/memory.h
+    stepcode/express/lexact.h
+    stepcode/express/type.h
+    stepcode/express/caseitem.h
+    stepcode/express/entity.h
+    stepcode/express/resolve.h
+    stepcode/express/schema.h
+    stepcode/express/stmt.h
+    stepcode/express/expr.h
+    stepcode/express/dict.h
+    stepcode/express/expbasic.h
+    stepcode/express/alg.h
+    stepcode/express/variable.h
+    stepcode/express/express.h
+    stepcode/express/object.h
+    stepcode/express/symbol.h
+    stepcode/express/scope.h
+    stepcode/sc_export.h
+    stepcode/sc_cf.h
+    stepcode/clutils/Str.h
+    stepcode/clutils/gennodearray.h
+    stepcode/clutils/gennode.h
+    stepcode/clutils/errordesc.h
+    stepcode/clutils/gennodelist.h
+    stepcode/clutils/sc_hash.h
+    stepcode/clutils/dirobj.h
+    stepcode/cleditor/cmdmgr.h
+    stepcode/cleditor/editordefines.h
+    stepcode/cleditor/SdaiHeaderSchemaClasses.h
+    stepcode/cleditor/seeinfodefault.h
+    stepcode/cleditor/SdaiHeaderSchema.h
+    stepcode/cleditor/SdaiSchemaInit.h
+    stepcode/cleditor/STEPfile.h
+    stepcode/sc_version_string.h
+    stepcode/sc_stdbool.h
+    stepcode/base/sc_getopt.h
+    stepcode/base/sc_trace_fprintf.h
+    stepcode/base/sc_benchmark.h
+    stepcode/base/sc_memmgr.h
+    stepcode/clstepcore/STEPundefined.h
+    stepcode/clstepcore/mgrnodelist.h
+    stepcode/clstepcore/STEPattribute.h
+    stepcode/clstepcore/STEPaggregate.h
+    stepcode/clstepcore/ExpDict.h
+    stepcode/clstepcore/read_func.h
+    stepcode/clstepcore/needFunc.h
+    stepcode/clstepcore/mgrnodearray.h
+    stepcode/clstepcore/mgrnode.h
+    stepcode/clstepcore/dispnode.h
+    stepcode/clstepcore/sdai.h
+    stepcode/clstepcore/STEPcomplex.h
+    stepcode/clstepcore/instmgr.h
+    stepcode/clstepcore/baseType.h
+    stepcode/clstepcore/sdaiSelect.h
+    stepcode/clstepcore/SubSuperIterators.h
+    stepcode/clstepcore/dictdefs.h
+    stepcode/clstepcore/SingleLinkList.h
+    stepcode/clstepcore/STEPattributeList.h
+    stepcode/clstepcore/dispnodelist.h
+    stepcode/clstepcore/sdaiApplication_instance.h
+    stepcode/clstepcore/Registry.h
+    stepcode/clstepcore/complexSupport.h
+    )
+
+  list(APPEND BRLCAD_DEPS STEPCODE_BLD)
+
+  SetTargetFolder(STEPCODE_BLD "Third Party Libraries")
+  SetTargetFolder(stepcode "Third Party Libraries")
+endif(BRLCAD_SC_BUILD)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+


Property changes on: 
brlcad/branches/thirdparty_rework/src/superbuild/stepcode.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
Added: brlcad/branches/thirdparty_rework/src/superbuild/tools.cmake
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/tools.cmake                
                (rev 0)
+++ brlcad/branches/thirdparty_rework/src/superbuild/tools.cmake        
2020-09-28 14:33:26 UTC (rev 77253)
@@ -0,0 +1,117 @@
+# For those wanting to use a system version of the LEMON parser
+# generator from sqlite, remember that the presence of /usr/bin/lemon
+# is not enough.  LEMON needs a template file, lempar.c, and by
+# default it needs it in the same directory as /usr/bin/lemon.  The
+# typical approach to avoiding that requirement is to patch lemon,
+# like this Gentoo ebuild:
+#
+# http://gentoo-overlays.zugaina.org/gentoo-zh/portage/dev-util/lemon/
+#
+# LEMON packages for other major Linux/BSD distros will do the same.
+# BRL-CAD's FindLEMON.cmake macros will look for the template file in
+# the executable directory first, and if not there will check in
+# /usr/share/lemon (the location used by several distributions.)  If
+# your distribution has a working lemon with the lempar.c template
+# file in a custom location, specify the full path to the template
+# with the variable LEMON_TEMPLATE - something like:
+#
+# cmake .. -DLEMON_TEMPLATE=/etc/lemon/lempar.c
+#
+# This is not to tell LEMON what template to use - that information is
+# usually hardcoded in LEMON itself - but to let FindLEMON.cmake know
+# there is a working LEMON installation.
+set(lemon_DESCRIPTION "
+Option for enabling and disabling compilation of the lemon parser
+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.
+")
+THIRD_PARTY_EXECUTABLE(lemon LEMON lemon REQUIRED "BRLCAD_LEVEL2" ALIASES 
"ENABLE_LEMON" DESCRIPTION lemon_DESCRIPTION)
+if (${CMAKE_PROJECT_NAME}_LEMON_BUILD)
+
+  ExternalProject_Add(LEMON_BLD
+    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../misc/tools/lemon"
+    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DBIN_DIR=${BIN_DIR}
+    -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH}
+    )
+
+  list(APPEND BRLCAD_DEPS LEMON_BLD)
+
+  set(LEMON_TEMPLATE "${CMAKE_SOURCE_DIR}/misc/tools/lemon/lempar.c" CACHE 
STRING "Lemon template file" FORCE)
+  SetTargetFolder(LEMON_BLD "Third Party Libraries")
+endif (${CMAKE_PROJECT_NAME}_LEMON_BUILD)
+
+set(re2c_DESCRIPTION "
+Option for enabling and disabling compilation of the re2c scanner
+utility 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.
+")
+THIRD_PARTY_EXECUTABLE(re2c RE2C re2c REQUIRED "BRLCAD_LEVEL2" ALIASES 
"ENABLE_RE2C" DESCRIPTION re2c_DESCRIPTION)
+if (${CMAKE_PROJECT_NAME}_RE2C_BUILD)
+
+  if (TARGET LEMON_BLD)
+    set(LEMON_TARGET LEMON_BLD)
+    list(APPEND RE2C_DEPS LEMON_BLD)
+  endif (TARGET LEMON_BLD)
+
+  ExternalProject_Add(RE2C_BLD
+    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../misc/tools/re2c"
+    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DBIN_DIR=${BIN_DIR}
+    -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH}
+    -DLEMON_ROOT=$<$<BOOL:${LEMON_TARGET}>:${CMAKE_BINARY_DIR}> 
-DLEMON_TEMPLATE=$<$<BOOL:${LEMON_TARGET}>:${LEMON_TEMPLATE}>
+    DEPENDS ${RE2C_DEPS}
+    )
+
+  list(APPEND BRLCAD_DEPS RE2C_BLD)
+
+  SetTargetFolder(RE2C_BLD "Third Party Libraries")
+endif (${CMAKE_PROJECT_NAME}_RE2C_BUILD)
+
+set(perplex_DESCRIPTION "
+Option for enabling and disabling compilation of the perplex scanner
+generator 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.  perplex requires a working re2c.
+")
+THIRD_PARTY_EXECUTABLE(perplex PERPLEX perplex REQUIRED "BRLCAD_LEVEL2" 
ALIASES "ENABLE_PERPLEX" DESCRIPTION perplex_DESCRIPTION NOSYS)
+if (${CMAKE_PROJECT_NAME}_PERPLEX_BUILD)
+
+  if (TARGET LEMON_BLD)
+    set(LEMON_TARGET LEMON_BLD)
+    list(APPEND PERPLEX_DEPS LEMON_BLD)
+  endif (TARGET LEMON_BLD)
+
+  if (TARGET RE2C_BLD)
+    set(RE2C_TARGET RE2C_BLD)
+    list(APPEND PERPLEX_DEPS RE2C_BLD)
+  endif (TARGET RE2C_BLD)
+
+  ExternalProject_Add(PERPLEX_BLD
+    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../misc/tools/perplex"
+    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DBIN_DIR=${BIN_DIR}
+    -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH}
+    -DLEMON_ROOT=$<$<BOOL:${LEMON_TARGET}>:${CMAKE_BINARY_DIR}> 
-DLEMON_TEMPLATE=$<$<BOOL:${LEMON_TARGET}>:${LEMON_TEMPLATE}>
+    -DRE2C_ROOT=$<$<BOOL:${RE2C_TARGET}>:${CMAKE_BINARY_DIR}>
+    DEPENDS ${PERPLEX_DEPS}
+    )
+
+  list(APPEND BRLCAD_DEPS PERPLEX_BLD)
+
+  SetTargetFolder(PERPLEX_BLD "Third Party Libraries")
+endif (${CMAKE_PROJECT_NAME}_PERPLEX_BUILD)
+
+# Make sure we load FindPERPLEX.cmake to be able to define PERPLEX targets.
+include(${BRLCAD_CMAKE_DIR}/FindPERPLEX.cmake)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+


Property changes on: 
brlcad/branches/thirdparty_rework/src/superbuild/tools.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
Added: brlcad/branches/thirdparty_rework/src/superbuild/utahrle.cmake
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/utahrle.cmake              
                (rev 0)
+++ brlcad/branches/thirdparty_rework/src/superbuild/utahrle.cmake      
2020-09-28 14:33:26 UTC (rev 77253)
@@ -0,0 +1,64 @@
+set(utahrle_DESCRIPTION "
+Option for enabling and disabling compilation of the Utah Raster
+Toolkit library provided with BRL-CAD's source code.  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.
+")
+THIRD_PARTY(libutahrle UTAHRLE utahrle utahrle_DESCRIPTION REQUIRED_VARS 
BRLCAD_LEVEL3 ALIASES ENABLE_UTAHRLE FLAGS NOSYS)
+
+if (${CMAKE_PROJECT_NAME}_UTAHRLE_BUILD)
+
+  set(UTAHRLE_MAJOR_VERSION 19)
+  set(UTAHRLE_MINOR_VERSION 0)
+  set(UTAHRLE_PATCH_VERSION 1)
+  set(UTAHRLE_VERSION 
${UTAHRLE_MAJOR_VERSION}.${UTAHRLE_MINOR_VERSION}.${UTAHRLE_PATCH_VERSION})
+
+  if (MSVC)
+    set(UTAHRLE_BASENAME utahrle)
+    set(UTAHRLE_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
+  else (MSVC)
+    set(UTAHRLE_BASENAME libutahrle)
+    set(UTAHRLE_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}.${UTAHRLE_VERSION})
+  endif (MSVC)
+
+
+  ExternalProject_Add(UTAHRLE_BLD
+    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/libutahrle"
+    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DLIB_DIR=${LIB_DIR} 
-DBIN_DIR=${BIN_DIR}
+               -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
+    )
+
+  ExternalProject_Target(utahrle UTAHRLE_BLD
+    OUTPUT_FILE ${UTAHRLE_BASENAME}${UTAHRLE_SUFFIX}
+    STATIC_OUTPUT_FILE ${UTAHRLE_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
+    SYMLINKS 
"${UTAHRLE_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX};${UTAHRLE_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${UTAHRLE_MAJOR_VERSION}"
+    LINK_TARGET "${UTAHRLE_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}"
+    STATIC_LINK_TARGET "${UTAHRLE_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}"
+    RPATH
+    )
+  ExternalProject_ByProducts(UTAHRLE_BLD ${INCLUDE_DIR}
+    rle.h
+    rle_code.h
+    rle_config.h
+    rle_put.h
+    rle_raw.h
+    )
+
+  list(APPEND BRLCAD_DEPS UTAHRLE_BLD)
+
+  set(UTAHRLE_LIBRARIES utahrle CACHE STRING "Building bundled libutahrle" 
FORCE)
+  set(UTAHRLE_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing utahrle headers." FORCE)
+
+  SetTargetFolder(UTAHRLE_BLD "Third Party Libraries")
+  SetTargetFolder(utahrle "Third Party Libraries")
+
+endif (${CMAKE_PROJECT_NAME}_UTAHRLE_BUILD)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+


Property changes on: 
brlcad/branches/thirdparty_rework/src/superbuild/utahrle.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
Added: brlcad/branches/thirdparty_rework/src/superbuild/vds.cmake
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/vds.cmake                  
        (rev 0)
+++ brlcad/branches/thirdparty_rework/src/superbuild/vds.cmake  2020-09-28 
14:33:26 UTC (rev 77253)
@@ -0,0 +1,55 @@
+#  For the moment, this is marked NOSYS - it's possible that some Debian
+#  systems would have 0.9 of vdslib installed, but it's unmaintained and we're
+#  likely to be making changes.  If our own copy of VDSlib ever spins back off
+#  into its own project, revisit the NOSYS
+
+set(libvds_DESCRIPTION "
+Option for enabling and disabling compilation of the libvds triangle
+simplification library provided with BRL-CAD's source code.  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.
+")
+THIRD_PARTY(libvds VDS libvds libvds_DESCRIPTION ALIASES ENABLE_VDS FLAGS 
NOSYS)
+
+if (${CMAKE_PROJECT_NAME}_VDS_BUILD)
+
+  if (MSVC)
+    set(VDS_BASENAME vds)
+  else (MSVC)
+    set(VDS_BASENAME libvds)
+  endif (MSVC)
+
+
+  ExternalProject_Add(VDS_BLD
+    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/libvds"
+    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DLIB_DIR=${LIB_DIR} 
-DBIN_DIR=${BIN_DIR}
+               -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
+    )
+  ExternalProject_Target(vds VDS_BLD
+    OUTPUT_FILE ${VDS_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
+    STATIC_OUTPUT_FILE ${VDS_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
+    RPATH
+    )
+
+  ExternalProject_ByProducts(VDS_BLD ${INCLUDE_DIR}
+    vds.h
+    )
+
+  set(VDS_LIBRARIES vds CACHE STRING "Building bundled netpbm" FORCE)
+  set(VDS_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing vds headers." FORCE)
+
+  list(APPEND BRLCAD_DEPS VDS_BLD)
+
+  SetTargetFolder(VDS_BLD "Third Party Libraries")
+
+endif (${CMAKE_PROJECT_NAME}_VDS_BUILD)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+


Property changes on: brlcad/branches/thirdparty_rework/src/superbuild/vds.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
Added: brlcad/branches/thirdparty_rework/src/superbuild/zlib.cmake
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/zlib.cmake                 
        (rev 0)
+++ brlcad/branches/thirdparty_rework/src/superbuild/zlib.cmake 2020-09-28 
14:33:26 UTC (rev 77253)
@@ -0,0 +1,69 @@
+set (zlib_DESCRIPTION "
+Option for enabling and disabling compilation of the zlib 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.
+")
+
+THIRD_PARTY(libz ZLIB zlib zlib_DESCRIPTION ALIASES ENABLE_ZLIB ENABLE_LIBZ)
+
+if (${CMAKE_PROJECT_NAME}_ZLIB_BUILD)
+
+  set(ZLIB_VERSION 1.2.11)
+
+  set(Z_PREFIX_STR "brl_")
+  add_definitions(-DZ_PREFIX)
+  add_definitions(-DZ_PREFIX_STR=${Z_PREFIX_STR})
+  set(Z_PREFIX_STR "${Z_PREFIX_STR}" CACHE STRING "prefix for zlib functions" 
FORCE)
+
+  if (MSVC)
+    set(ZLIB_BASENAME z_brl)
+    set(ZLIB_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
+  else (MSVC)
+    set(ZLIB_BASENAME libz_brl)
+    set(ZLIB_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}.${ZLIB_VERSION})
+  endif (MSVC)
+
+  ExternalProject_Add(ZLIB_BLD
+    SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../other/libz"
+    BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} -DLIB_DIR=${LIB_DIR} 
-DBIN_DIR=${BIN_DIR}
+    -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
+    -DZ_PREFIX_STR=${Z_PREFIX_STR}
+    )
+  ExternalProject_Target(zlib ZLIB_BLD
+    OUTPUT_FILE ${ZLIB_BASENAME}${ZLIB_SUFFIX}
+    STATIC_OUTPUT_FILE ${ZLIB_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
+    SYMLINKS 
"${ZLIB_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX};${ZLIB_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.1"
+    LINK_TARGET "${ZLIB_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}"
+    RPATH
+    )
+  ExternalProject_ByProducts(ZLIB_BLD ${INCLUDE_DIR}
+    zconf.h
+    zlib.h
+    )
+
+  list(APPEND BRLCAD_DEPS ZLIB_BLD)
+
+  set(ZLIB_LIBRARIES zlib CACHE STRING "Building bundled zlib" FORCE)
+  set(ZLIB_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing zlib headers." FORCE)
+
+  SetTargetFolder(ZLIB_BLD "Third Party Libraries")
+  SetTargetFolder(zlib "Third Party Libraries")
+
+else (${CMAKE_PROJECT_NAME}_ZLIB_BUILD)
+
+  set(Z_PREFIX_STR "" CACHE STRING "clear prefix for zlib functions" FORCE)
+  set(Z_PREFIX_STR)
+  set(ZLIB_LIBRARIES ${ZLIB_LIBRARY_RELEASE} CACHE STRING "ZLIB_LIBRARIES" 
FORCE)
+  set(ZLIB_INCLUDE_DIRS "${ZLIB_INCLUDE_DIR}" CACHE STRING "ZLIB include 
directory" FORCE)
+
+endif (${CMAKE_PROJECT_NAME}_ZLIB_BUILD)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+


Property changes on: brlcad/branches/thirdparty_rework/src/superbuild/zlib.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