Revision: 77250
          http://sourceforge.net/p/brlcad/code/77250
Author:   starseeker
Date:     2020-09-27 17:43:58 +0000 (Sun, 27 Sep 2020)
Log Message:
-----------
More work on superbuilding

Modified Paths:
--------------
    brlcad/branches/thirdparty_rework/CMakeLists.txt
    brlcad/branches/thirdparty_rework/doc/notes/c_cxx_patterns/CMakeLists.txt
    brlcad/branches/thirdparty_rework/misc/external_build_testing/CMakeLists.txt
    
brlcad/branches/thirdparty_rework/misc/repoconv/svn2git/svn-fast-export/CMakeLists.txt
    brlcad/branches/thirdparty_rework/misc/repowork/CMakeLists.txt
    brlcad/branches/thirdparty_rework/misc/tools/astyle/CMakeLists.txt
    brlcad/branches/thirdparty_rework/misc/tools/debug2c/CMakeLists.txt
    brlcad/branches/thirdparty_rework/misc/tools/dom2dox/CMakeLists.txt
    brlcad/branches/thirdparty_rework/misc/tools/env2c/CMakeLists.txt
    brlcad/branches/thirdparty_rework/misc/tools/xmltools/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/external/Creo/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/external/Cubit/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/external/Unigraphics/CMakeLists.txt
    
brlcad/branches/thirdparty_rework/src/libgcv/plugins/obj/wfobj/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/other/gct/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/other/gdal/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/other/itcl3/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/other/itk3/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/other/iwidgets/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/other/libbson/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/other/libgdiam/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/other/libnetpbm/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/other/libregex/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/other/libspsr/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/other/libutahrle/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/other/libvds/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/other/openscenegraph/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/other/poly2tri/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/other/proj-4/CMakeLists.txt
    
brlcad/branches/thirdparty_rework/src/other/stepcode/src/base/judy/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/other/stepcode/test/cpp/CMakeLists.txt
    
brlcad/branches/thirdparty_rework/src/other/stepcode/test/cpp/schema_specific/CMakeLists.txt
    
brlcad/branches/thirdparty_rework/src/other/stepcode/test/cpp/stepcore/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/other/stepcode/test/p21/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/other/tcl/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/other/tk/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/other/tkhtml/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/other/tktable/CMakeLists.txt
    brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt

Modified: brlcad/branches/thirdparty_rework/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/CMakeLists.txt    2020-09-27 17:00:36 UTC 
(rev 77249)
+++ brlcad/branches/thirdparty_rework/CMakeLists.txt    2020-09-27 17:43:58 UTC 
(rev 77250)
@@ -226,7 +226,7 @@
 # superbuild.
 if (DEFINED SUBBUILD)
   message("SUBBUILD: ${SUBBUILD}!\n")
-  return()
+  #return()
 endif (DEFINED SUBBUILD)
 #---------------------------------------------------------------------
 # Let CMake know where to look for our counting file for configuration
@@ -271,7 +271,7 @@
 # For a variety of reasons, we often need to wrap existing CMake
 # commands to add our own logic.
 if(NOT BRLCAD_IS_SUBBUILD)
-  include(Brlcad_Command_Wrappers)
+  include(BRLCAD_Command_Wrappers)
 endif(NOT BRLCAD_IS_SUBBUILD)
 
 #---------------------------------------------------------------------
@@ -2300,7 +2300,7 @@
 # that may be able to simplify some of the current timestamp system.
 # We would need to be able to require 2.8.11 or newer, so there will
 # be a bit of a wait, but it's something to look into.
-if(NOT BRLCAD_IS_SUBBUILD)
+if (NOT DEFINED SUBBUILD)
 
   # Set up rules to print a timestamp string during build
   set(BUILD_DELTA_START "${CMAKE_BINARY_DIR}/CMakeTmp/BUILD_DELTA_START")
@@ -2320,48 +2320,12 @@
     COMMAND ${CMAKE_COMMAND} -E remove ${BUILD_DELTA_START}
     )
   set_target_properties(buildtimedelta PROPERTIES FOLDER "Compilation 
Utilities")
-endif(NOT BRLCAD_IS_SUBBUILD)
+endif (NOT DEFINED SUBBUILD)
 
-# We want the timestamp to come first, so make ALL targets, depend on
-# timestamp.  Similarly, buildtimedelta needs to depend on every target
-# not excluded from the default build list.
-if(NOT BRLCAD_IS_SUBBUILD)
+# In a superbuild configuration, we're primarily concerned with
+# ExternalProject_Add targets.
+if (NOT DEFINED SUBBUILD)
 
-  # Libraries and executables are fairly straightforward
-  get_property(CMAKE_LIBRARY_TARGET_LIST GLOBAL PROPERTY 
CMAKE_LIBRARY_TARGET_LIST)
-  get_property(CMAKE_EXEC_TARGET_LIST GLOBAL PROPERTY CMAKE_EXEC_TARGET_LIST)
-  mark_as_advanced(CMAKE_LIBRARY_TARGET_LIST)
-  mark_as_advanced(CMAKE_EXEC_TARGET_LIST)
-  list(REMOVE_DUPLICATES CMAKE_LIBRARY_TARGET_LIST)
-  list(REMOVE_DUPLICATES CMAKE_EXEC_TARGET_LIST)
-  foreach(ctarget ${CMAKE_LIBRARY_TARGET_LIST} ${CMAKE_EXEC_TARGET_LIST})
-    if(TARGET ${ctarget})
-      add_dependencies(${ctarget} timestamp)
-      get_target_property(not_in_all ${ctarget} EXCLUDE_FROM_ALL)
-      get_target_property(not_in_default ${ctarget} EXCLUDE_FROM_DEFAULT_BUILD)
-      if(NOT not_in_all AND NOT not_in_default)
-       add_dependencies(buildtimedelta ${ctarget})
-      endif(NOT not_in_all AND NOT not_in_default)
-    endif(TARGET ${ctarget})
-  endforeach(ctarget ${CMAKE_LIBRARY_TARGET_LIST} ${CMAKE_EXEC_TARGET_LIST})
-
-  # For the custom targets, we need to avoid circular dependencies
-  get_property(CMAKE_CUSTOM_TARGET_LIST GLOBAL PROPERTY 
CMAKE_CUSTOM_TARGET_LIST)
-  mark_as_advanced(CMAKE_CUSTOM_TARGET_LIST)
-  list(REMOVE_DUPLICATES CMAKE_CUSTOM_TARGET_LIST)
-  foreach(custtarget ${CMAKE_CUSTOM_TARGET_LIST})
-    if(NOT ${custtarget} MATCHES "timestamp")
-      add_dependencies(${custtarget} timestamp)
-    endif(NOT ${custtarget} MATCHES "timestamp")
-    if(NOT ${custtarget} MATCHES "buildtimedelta")
-      get_target_property(not_in_all ${custtarget} EXCLUDE_FROM_ALL)
-      get_target_property(not_in_default ${custtarget} 
EXCLUDE_FROM_DEFAULT_BUILD)
-      if(NOT not_in_all AND NOT not_in_default)
-       add_dependencies(buildtimedelta ${custtarget})
-      endif(NOT not_in_all AND NOT not_in_default)
-    endif(NOT ${custtarget} MATCHES "buildtimedelta")
-  endforeach(custtarget ${CMAKE_CUSTOM_TARGET_LIST})
-
   # Theoretical logic to handle external targets - not currently in use
   get_property(CMAKE_EXTERNAL_TARGET_LIST GLOBAL PROPERTY 
CMAKE_EXTERNAL_TARGET_LIST)
   mark_as_advanced(CMAKE_EXTERNAL_TARGET_LIST)
@@ -2376,7 +2340,7 @@
     endif(target_confcmd)
   endforeach(externaltarget ${CMAKE_EXTERNAL_TARGET_LIST})
 
-endif(NOT BRLCAD_IS_SUBBUILD)
+endif (NOT DEFINED SUBBUILD)
 
 
 # TODO - the below logic will have to be rethought in a superbuild setup...
@@ -2676,7 +2640,7 @@
 
 # Finalize and check INSTALL file
 file(READ "${BRLCAD_SOURCE_DIR}/INSTALL" SRC_INSTALL_STR)
-string(REGEX REPLACE "${CONFIG_OPT_STRING}.*" "" INSTALL_PREFIX 
"${SRC_INSTALL_STR}")
+#string(REGEX REPLACE "${CONFIG_OPT_STRING}.*" "" INSTALL_PREFIX 
"${SRC_INSTALL_STR}")
 file(WRITE "${BRLCAD_BINARY_DIR}/INSTALL.new" "${INSTALL_PREFIX}")
 file(READ "${BRLCAD_BINARY_DIR}/OPTIONS" INSTALL_OPTS)
 file(APPEND "${BRLCAD_BINARY_DIR}/INSTALL.new" "${INSTALL_OPTS}")
@@ -2696,7 +2660,7 @@
 DIFF_FILE(configure)
 
 if(CONFIG_FATAL_ERROR)
-  message(FATAL_ERROR "Configure haulted because INSTALL and/or configure 
script are out of date.")
+  #message(FATAL_ERROR "Configure haulted because INSTALL and/or configure 
script are out of date.")
 endif(CONFIG_FATAL_ERROR)
 
 

Modified: 
brlcad/branches/thirdparty_rework/doc/notes/c_cxx_patterns/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/doc/notes/c_cxx_patterns/CMakeLists.txt   
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/doc/notes/c_cxx_patterns/CMakeLists.txt   
2020-09-27 17:43:58 UTC (rev 77250)
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 project(EXAMPLES)
 if(NOT MSVC)
   add_definitions(-g)

Modified: 
brlcad/branches/thirdparty_rework/misc/external_build_testing/CMakeLists.txt
===================================================================
--- 
brlcad/branches/thirdparty_rework/misc/external_build_testing/CMakeLists.txt    
    2020-09-27 17:00:36 UTC (rev 77249)
+++ 
brlcad/branches/thirdparty_rework/misc/external_build_testing/CMakeLists.txt    
    2020-09-27 17:43:58 UTC (rev 77250)
@@ -37,7 +37,7 @@
 # https://cmake.org/cmake/help/latest/module/ExternalProject.html
 
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 # set CMake project name
 project(SP)

Modified: 
brlcad/branches/thirdparty_rework/misc/repoconv/svn2git/svn-fast-export/CMakeLists.txt
===================================================================
--- 
brlcad/branches/thirdparty_rework/misc/repoconv/svn2git/svn-fast-export/CMakeLists.txt
      2020-09-27 17:00:36 UTC (rev 77249)
+++ 
brlcad/branches/thirdparty_rework/misc/repoconv/svn2git/svn-fast-export/CMakeLists.txt
      2020-09-27 17:43:58 UTC (rev 77250)
@@ -1,5 +1,5 @@
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 # Set CMake project name
 project(SVN2GIT)

Modified: brlcad/branches/thirdparty_rework/misc/repowork/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/misc/repowork/CMakeLists.txt      
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/misc/repowork/CMakeLists.txt      
2020-09-27 17:43:58 UTC (rev 77250)
@@ -1,5 +1,5 @@
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 # set CMake project name
 project(repowork)

Modified: brlcad/branches/thirdparty_rework/misc/tools/astyle/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/misc/tools/astyle/CMakeLists.txt  
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/misc/tools/astyle/CMakeLists.txt  
2020-09-27 17:43:58 UTC (rev 77250)
@@ -1,5 +1,5 @@
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 # Set CMake project name
 project(ASTYLE)

Modified: brlcad/branches/thirdparty_rework/misc/tools/debug2c/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/misc/tools/debug2c/CMakeLists.txt 
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/misc/tools/debug2c/CMakeLists.txt 
2020-09-27 17:43:58 UTC (rev 77250)
@@ -34,7 +34,7 @@
 # *******************************************************************
 
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 # set CMake project name
 project(DEBUG2C)

Modified: brlcad/branches/thirdparty_rework/misc/tools/dom2dox/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/misc/tools/dom2dox/CMakeLists.txt 
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/misc/tools/dom2dox/CMakeLists.txt 
2020-09-27 17:43:58 UTC (rev 77250)
@@ -30,7 +30,7 @@
 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 project(DOM2DOX)
 

Modified: brlcad/branches/thirdparty_rework/misc/tools/env2c/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/misc/tools/env2c/CMakeLists.txt   
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/misc/tools/env2c/CMakeLists.txt   
2020-09-27 17:43:58 UTC (rev 77250)
@@ -34,7 +34,7 @@
 # *******************************************************************
 
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 # set CMake project name
 project(ENV2C)

Modified: brlcad/branches/thirdparty_rework/misc/tools/xmltools/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/misc/tools/xmltools/CMakeLists.txt        
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/misc/tools/xmltools/CMakeLists.txt        
2020-09-27 17:43:58 UTC (rev 77250)
@@ -1,5 +1,5 @@
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 # Set CMake project name
 project(XSLTPROC)

Modified: brlcad/branches/thirdparty_rework/src/external/Creo/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/external/Creo/CMakeLists.txt  
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/external/Creo/CMakeLists.txt  
2020-09-27 17:43:58 UTC (rev 77250)
@@ -1,7 +1,7 @@
 
 if(NOT DEFINED BRLCAD_BUILDTEST_EXTERNALS)
   # Minimum required version of CMake
-  cmake_minimum_required(VERSION 3.1.3)
+  cmake_minimum_required(VERSION 3.12)
 
   # Set CMake project name
   project(CREO2BRL)

Modified: brlcad/branches/thirdparty_rework/src/external/Cubit/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/external/Cubit/CMakeLists.txt 
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/external/Cubit/CMakeLists.txt 
2020-09-27 17:43:58 UTC (rev 77250)
@@ -1,6 +1,6 @@
 if(NOT DEFINED BRLCAD_BUILDTEST_EXTERNALS)
   # Minimum required version of CMake
-  cmake_minimum_required(VERSION 3.1.3)
+  cmake_minimum_required(VERSION 3.12)
 
   # Set CMake project name
   project(G2SAT)

Modified: 
brlcad/branches/thirdparty_rework/src/external/Unigraphics/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/external/Unigraphics/CMakeLists.txt   
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/external/Unigraphics/CMakeLists.txt   
2020-09-27 17:43:58 UTC (rev 77250)
@@ -1,6 +1,6 @@
 if(NOT DEFINED BRLCAD_BUILDTEST_EXTERNALS)
   # Minimum required version of CMake
-  cmake_minimum_required(VERSION 3.1.3)
+  cmake_minimum_required(VERSION 3.12)
 
   # Set CMake project name
   project(UG2G)

Modified: 
brlcad/branches/thirdparty_rework/src/libgcv/plugins/obj/wfobj/CMakeLists.txt
===================================================================
--- 
brlcad/branches/thirdparty_rework/src/libgcv/plugins/obj/wfobj/CMakeLists.txt   
    2020-09-27 17:00:36 UTC (rev 77249)
+++ 
brlcad/branches/thirdparty_rework/src/libgcv/plugins/obj/wfobj/CMakeLists.txt   
    2020-09-27 17:43:58 UTC (rev 77250)
@@ -37,7 +37,7 @@
 
 
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 # set CMake project name
 project(WFOBJ)

Modified: brlcad/branches/thirdparty_rework/src/other/gct/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/other/gct/CMakeLists.txt      
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/other/gct/CMakeLists.txt      
2020-09-27 17:43:58 UTC (rev 77250)
@@ -1,5 +1,5 @@
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 # set CMake project name
 project(GCT)

Modified: brlcad/branches/thirdparty_rework/src/other/gdal/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/other/gdal/CMakeLists.txt     
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/other/gdal/CMakeLists.txt     
2020-09-27 17:43:58 UTC (rev 77250)
@@ -35,7 +35,7 @@
 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 # Set CMake project name
 project(GDAL)

Modified: brlcad/branches/thirdparty_rework/src/other/itcl3/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/other/itcl3/CMakeLists.txt    
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/other/itcl3/CMakeLists.txt    
2020-09-27 17:43:58 UTC (rev 77250)
@@ -37,7 +37,7 @@
 # *******************************************************************
 
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 # set CMake project name
 project(ITCL)

Modified: brlcad/branches/thirdparty_rework/src/other/itk3/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/other/itk3/CMakeLists.txt     
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/other/itk3/CMakeLists.txt     
2020-09-27 17:43:58 UTC (rev 77250)
@@ -37,7 +37,7 @@
 # *******************************************************************
 
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 # set CMake project name
 project(ITK)

Modified: brlcad/branches/thirdparty_rework/src/other/iwidgets/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/other/iwidgets/CMakeLists.txt 
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/other/iwidgets/CMakeLists.txt 
2020-09-27 17:43:58 UTC (rev 77250)
@@ -34,7 +34,7 @@
 # *******************************************************************
 
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 project(IWIDGETS)
 

Modified: brlcad/branches/thirdparty_rework/src/other/libbson/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/other/libbson/CMakeLists.txt  
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/other/libbson/CMakeLists.txt  
2020-09-27 17:43:58 UTC (rev 77250)
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.8)
+cmake_minimum_required(VERSION 3.12)
 
 project (libbson)
 

Modified: brlcad/branches/thirdparty_rework/src/other/libgdiam/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/other/libgdiam/CMakeLists.txt 
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/other/libgdiam/CMakeLists.txt 
2020-09-27 17:43:58 UTC (rev 77250)
@@ -1,5 +1,5 @@
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 # Set CMake project name
 project(GDIAM)

Modified: brlcad/branches/thirdparty_rework/src/other/libnetpbm/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/other/libnetpbm/CMakeLists.txt        
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/other/libnetpbm/CMakeLists.txt        
2020-09-27 17:43:58 UTC (rev 77250)
@@ -34,7 +34,7 @@
 # *******************************************************************
 
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 # set CMake project name
 project(NETPBM)

Modified: brlcad/branches/thirdparty_rework/src/other/libregex/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/other/libregex/CMakeLists.txt 
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/other/libregex/CMakeLists.txt 
2020-09-27 17:43:58 UTC (rev 77250)
@@ -37,7 +37,7 @@
 ###
 project(REGEX)
 
-cmake_minimum_required(VERSION 3.0.2)
+cmake_minimum_required(VERSION 3.12)
 
 include_directories(
   ${CMAKE_CURRENT_BINARY_DIR}

Modified: brlcad/branches/thirdparty_rework/src/other/libspsr/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/other/libspsr/CMakeLists.txt  
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/other/libspsr/CMakeLists.txt  
2020-09-27 17:43:58 UTC (rev 77250)
@@ -34,7 +34,7 @@
 # *******************************************************************
 
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 # set CMake project name
 # (Screened Poisson Surface Reconstruction - SPSR)

Modified: brlcad/branches/thirdparty_rework/src/other/libutahrle/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/other/libutahrle/CMakeLists.txt       
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/other/libutahrle/CMakeLists.txt       
2020-09-27 17:43:58 UTC (rev 77250)
@@ -33,7 +33,7 @@
 # ***                libutahrle CMakeLists.txt                     ***
 # *******************************************************************
 
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 project(UTAHRLE)
 

Modified: brlcad/branches/thirdparty_rework/src/other/libvds/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/other/libvds/CMakeLists.txt   
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/other/libvds/CMakeLists.txt   
2020-09-27 17:43:58 UTC (rev 77250)
@@ -24,7 +24,7 @@
 # This file contains the top level CMakeLists.txt logic for the
 # BRL-CAD software package.
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 # set CMake project name
 project(VDS)

Modified: 
brlcad/branches/thirdparty_rework/src/other/openscenegraph/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/other/openscenegraph/CMakeLists.txt   
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/other/openscenegraph/CMakeLists.txt   
2020-09-27 17:43:58 UTC (rev 77250)
@@ -13,7 +13,7 @@
 set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE)
 set_property(GLOBAL PROPERTY USE_FOLDERS ON)
 
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.12)
 
 if(COMMAND cmake_policy)
     # Works around warnings libraries linked against that don't

Modified: brlcad/branches/thirdparty_rework/src/other/poly2tri/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/other/poly2tri/CMakeLists.txt 
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/other/poly2tri/CMakeLists.txt 
2020-09-27 17:43:58 UTC (rev 77250)
@@ -37,7 +37,7 @@
 ###
 
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 # Set CMake project name
 project(P2T)

Modified: brlcad/branches/thirdparty_rework/src/other/proj-4/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/other/proj-4/CMakeLists.txt   
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/other/proj-4/CMakeLists.txt   
2020-09-27 17:43:58 UTC (rev 77250)
@@ -9,7 +9,7 @@
 
#################################################################################
 # General settings
 
#################################################################################
-cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.12)
 
 # proj4 is an ANSI C project
 project(PROJ4 C)

Modified: 
brlcad/branches/thirdparty_rework/src/other/stepcode/src/base/judy/CMakeLists.txt
===================================================================
--- 
brlcad/branches/thirdparty_rework/src/other/stepcode/src/base/judy/CMakeLists.txt
   2020-09-27 17:00:36 UTC (rev 77249)
+++ 
brlcad/branches/thirdparty_rework/src/other/stepcode/src/base/judy/CMakeLists.txt
   2020-09-27 17:43:58 UTC (rev 77250)
@@ -1,5 +1,5 @@
 
-cmake_minimum_required(VERSION 2.8)
+cmake_minimum_required(VERSION 3.12)
 project( JudyTemplates )
 
 if( NOT DEFINED CMAKE_BUILD_TYPE )

Modified: 
brlcad/branches/thirdparty_rework/src/other/stepcode/test/cpp/CMakeLists.txt
===================================================================
--- 
brlcad/branches/thirdparty_rework/src/other/stepcode/test/cpp/CMakeLists.txt    
    2020-09-27 17:00:36 UTC (rev 77249)
+++ 
brlcad/branches/thirdparty_rework/src/other/stepcode/test/cpp/CMakeLists.txt    
    2020-09-27 17:43:58 UTC (rev 77250)
@@ -1,4 +1,4 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.12)
 
 #c++ tests
 

Modified: 
brlcad/branches/thirdparty_rework/src/other/stepcode/test/cpp/schema_specific/CMakeLists.txt
===================================================================
--- 
brlcad/branches/thirdparty_rework/src/other/stepcode/test/cpp/schema_specific/CMakeLists.txt
        2020-09-27 17:00:36 UTC (rev 77249)
+++ 
brlcad/branches/thirdparty_rework/src/other/stepcode/test/cpp/schema_specific/CMakeLists.txt
        2020-09-27 17:43:58 UTC (rev 77250)
@@ -1,4 +1,4 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.12)
 #c++ tests that depend on a particular schema
 
 INCLUDE_DIRECTORIES( ${SC_SOURCE_DIR}/src/cldai ${SC_SOURCE_DIR}/src/cleditor 
${SC_SOURCE_DIR}/src/clutils

Modified: 
brlcad/branches/thirdparty_rework/src/other/stepcode/test/cpp/stepcore/CMakeLists.txt
===================================================================
--- 
brlcad/branches/thirdparty_rework/src/other/stepcode/test/cpp/stepcore/CMakeLists.txt
       2020-09-27 17:00:36 UTC (rev 77249)
+++ 
brlcad/branches/thirdparty_rework/src/other/stepcode/test/cpp/stepcore/CMakeLists.txt
       2020-09-27 17:43:58 UTC (rev 77250)
@@ -1,4 +1,4 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.12)
 #c++ tests for clstepcore
 
 INCLUDE_DIRECTORIES( ${SC_SOURCE_DIR}/src/cldai ${SC_SOURCE_DIR}/src/cleditor 
${SC_SOURCE_DIR}/src/clutils

Modified: 
brlcad/branches/thirdparty_rework/src/other/stepcode/test/p21/CMakeLists.txt
===================================================================
--- 
brlcad/branches/thirdparty_rework/src/other/stepcode/test/p21/CMakeLists.txt    
    2020-09-27 17:00:36 UTC (rev 77249)
+++ 
brlcad/branches/thirdparty_rework/src/other/stepcode/test/p21/CMakeLists.txt    
    2020-09-27 17:43:58 UTC (rev 77250)
@@ -1,4 +1,4 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.12)
 #test part 21 files
 
 #used to create a number of small files at test-time. you probably don't want 
to modify.

Modified: brlcad/branches/thirdparty_rework/src/other/tcl/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/other/tcl/CMakeLists.txt      
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/other/tcl/CMakeLists.txt      
2020-09-27 17:43:58 UTC (rev 77250)
@@ -37,7 +37,7 @@
 # *******************************************************************
 
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 # Set CMake project name
 project(TCL)

Modified: brlcad/branches/thirdparty_rework/src/other/tk/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/other/tk/CMakeLists.txt       
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/other/tk/CMakeLists.txt       
2020-09-27 17:43:58 UTC (rev 77250)
@@ -36,7 +36,7 @@
 # *******************************************************************
 
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 # set CMake project name
 project(TK)

Modified: brlcad/branches/thirdparty_rework/src/other/tkhtml/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/other/tkhtml/CMakeLists.txt   
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/other/tkhtml/CMakeLists.txt   
2020-09-27 17:43:58 UTC (rev 77250)
@@ -1,5 +1,5 @@
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 # set CMake project name
 project(TKHTML)

Modified: brlcad/branches/thirdparty_rework/src/other/tktable/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/other/tktable/CMakeLists.txt  
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/other/tktable/CMakeLists.txt  
2020-09-27 17:43:58 UTC (rev 77250)
@@ -1,5 +1,5 @@
 # Minimum required version of CMake
-cmake_minimum_required(VERSION 3.1.3)
+cmake_minimum_required(VERSION 3.12)
 
 # set CMake project name
 project(TKTABLE)

Modified: brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt     
2020-09-27 17:00:36 UTC (rev 77249)
+++ brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt     
2020-09-27 17:43:58 UTC (rev 77250)
@@ -24,6 +24,42 @@
 include(ThirdPartyExecutable)
 
 
+# In case we need to pass some sort of reasonable parallel
+# flag to a build system, check our processor count
+include(ProcessorCount)
+ProcessorCount(N)
+math(EXPR pcnt "${N} / 2")
+if (NOT pcnt)
+  set(pcnt 1)
+endif (NOT pcnt)
+
+
+# With MSVC, some of the non-CMake subbuilds are going to need the vcvars bat
+# file to set up the environment.
+if(MSVC)
+  get_filename_component(COMPILER_DIR "${CMAKE_C_COMPILER}" DIRECTORY)
+  get_filename_component(COMPILER_ROOT "${COMPILER_DIR}" NAME)
+  set(VCVARS_BAT "${COMPILER_DIR}/vcvars${COMPILER_ROOT}.bat")
+  if(NOT EXISTS "${VCVARS_BAT}")
+    # Try the VS2017 location (https://stackoverflow.com/q/43372235)
+    set(COMPILER_ROOT "")
+    foreach(DIRS RANGE 0 5)
+      get_filename_component(COMPILER_DIR "${COMPILER_DIR}" DIRECTORY)
+    endforeach(DIRS RANGE 0 5)
+    set(COMPILER_DIR "${COMPILER_DIR}/Auxiliary/Build")
+    if(CMAKE_CL_64)
+      set(VCVARS_BAT "${COMPILER_DIR}/vcvars64.bat")
+    else(CMAKE_CL_64)
+      set(VCVARS_BAT "${COMPILER_DIR}/vcvars32.bat")
+    endif(CMAKE_CL_64)
+    if(NOT EXISTS "${VCVARS_BAT}")
+      message(FATAL_ERROR "Could not find vcvars bat file in ${COMPILER_DIR}")
+    endif(NOT EXISTS "${VCVARS_BAT}")
+  endif(NOT EXISTS "${VCVARS_BAT}")
+endif(MSVC)
+
+
+
 # For now, turn everything on:
 set(BRLCAD_LEVEL2 ON)
 set(BRLCAD_LEVEL3 ON)
@@ -151,7 +187,6 @@
 # Make sure we load FindPERPLEX.cmake to be able to define PERPLEX targets.
 include(${BRLCAD_CMAKE_DIR}/FindPERPLEX.cmake)
 
-
 ###############################################################################
 #                 zlib compression/decompression library
 ###############################################################################
@@ -218,40 +253,6 @@
 
 endif (${CMAKE_PROJECT_NAME}_ZLIB_BUILD)
 
-# With MSVC, some of the non-CMake subbuilds are going to need the vcvars bat
-# file to set up the environment.
-if(MSVC)
-  get_filename_component(COMPILER_DIR "${CMAKE_C_COMPILER}" DIRECTORY)
-  get_filename_component(COMPILER_ROOT "${COMPILER_DIR}" NAME)
-  set(VCVARS_BAT "${COMPILER_DIR}/vcvars${COMPILER_ROOT}.bat")
-  if(NOT EXISTS "${VCVARS_BAT}")
-    # Try the VS2017 location (https://stackoverflow.com/q/43372235)
-    set(COMPILER_ROOT "")
-    foreach(DIRS RANGE 0 5)
-      get_filename_component(COMPILER_DIR "${COMPILER_DIR}" DIRECTORY)
-    endforeach(DIRS RANGE 0 5)
-    set(COMPILER_DIR "${COMPILER_DIR}/Auxiliary/Build")
-    if(CMAKE_CL_64)
-      set(VCVARS_BAT "${COMPILER_DIR}/vcvars64.bat")
-    else(CMAKE_CL_64)
-      set(VCVARS_BAT "${COMPILER_DIR}/vcvars32.bat")
-    endif(CMAKE_CL_64)
-    if(NOT EXISTS "${VCVARS_BAT}")
-      message(FATAL_ERROR "Could not find vcvars bat file in ${COMPILER_DIR}")
-    endif(NOT EXISTS "${VCVARS_BAT}")
-  endif(NOT EXISTS "${VCVARS_BAT}")
-endif(MSVC)
-
-# In case we need to pass some sort of reasonable parallel
-# flag to a build system, check our processor count
-include(ProcessorCount)
-ProcessorCount(N)
-math(EXPR pcnt "${N} / 2")
-if (NOT pcnt)
-  set(pcnt 1)
-endif (NOT pcnt)
-
-
 ###############################################################################
 #                               libregex
 ###############################################################################
@@ -895,9 +896,178 @@
 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
 ###############################################################################
 
+# Set variables based on what we're building, so we know what to tell the main
+# BRL-CAD build.
+set(TARGET_LIST
+  LEMON
+  RE2C
+  PERPLEX
+  REGEX
+  ZLIB
+  PNG
+  NETPBM
+  UTAHRLE
+  OPENNURBS
+  SPSR
+  STEPCODE
+  VDS
+  GDIAM
+  POLY2TRI
+  )
+foreach(T ${TARGET_LIST})
+if (TARGET ${T}_BLD)
+  set(${T}_TARGET ${T}_BLD)
+endif (TARGET ${T}_BLD)
+endforeach(T ${TARGET_LIST})
+
 # We've built everything we needed to build - now we can build BRL-CAD itself
 ExternalProject_Add(BRLCAD_BLD
   SOURCE_DIR "${BRLCAD_SOURCE_DIR}"
@@ -906,6 +1076,20 @@
   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}
   -DSUBBUILD=ON
+  -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}> 
-DPERPLEX_TEMPLATE=$<$<BOOL:${PERPLEX_TARGET}>:${PERPLEX_TEMPLATE}>
+  -DREGEX_ROOT=$<$<BOOL:${REGEX_TARGET}>:${CMAKE_BINARY_DIR}> 
-DREGEX_LIBRARY=$<$<BOOL:${REGEX_TARGET}>:${CMAKE_BINARY_DIR}/${LIB_DIR}/${REGEX_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}>
+  -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_ROOT=$<$<BOOL:${PNG_TARGET}>:${CMAKE_BINARY_DIR}> 
-DPNG_LIBRARY=$<$<BOOL:${PNG_TARGET}>:${CMAKE_BINARY_DIR}/${LIB_DIR}/${PNG_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}>
+  -DNETPBM_ROOT=$<$<BOOL:${NETPBM_TARGET}>:${CMAKE_BINARY_DIR}>
+  -DUTAHRLE_ROOT=$<$<BOOL:${UTAHRLE_TARGET}>:${CMAKE_BINARY_DIR}>
+  -DOPENNURBS_ROOT=$<$<BOOL:${OPENNURBS_TARGET}>:${CMAKE_BINARY_DIR}>
+  -DSPSR_ROOT=$<$<BOOL:${SPSR_TARGET}>:${CMAKE_BINARY_DIR}>
+  -DSTEPCODE_ROOT=$<$<BOOL:${STEPCODE_TARGET}>:${CMAKE_BINARY_DIR}>
+  -DVDS_ROOT=$<$<BOOL:${VDS_TARGET}>:${CMAKE_BINARY_DIR}>
+  -DGDIAM_ROOT=$<$<BOOL:${GDIAM_TARGET}>:${CMAKE_BINARY_DIR}>
+  -DPOLY2TRI_ROOT=$<$<BOOL:${POLY2TRI_TARGET}>:${CMAKE_BINARY_DIR}>
   DEPENDS ${BRLCAD_DEPS}
   )
 

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