Revision: 77248
          http://sourceforge.net/p/brlcad/code/77248
Author:   starseeker
Date:     2020-09-27 15:27:03 +0000 (Sun, 27 Sep 2020)
Log Message:
-----------
Checkpoint.  lemon and perplex will need to be part of the superbuild for 
stepcode...

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

Modified: brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt     
2020-09-26 19:10:08 UTC (rev 77247)
+++ brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt     
2020-09-27 15:27:03 UTC (rev 77248)
@@ -546,6 +546,218 @@
 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 LEMON_EXECUTABLE PERPLEX_EXECUTABLE 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)
+    set(LEMON_TARGET lemon)
+  endif (TARGET lemon)
+
+  set(PERPLEX_TARGET)
+  if (TARGET lemon)
+    set(PERPLEX_TARGET lemon)
+  endif (TARGET lemon)
+
+  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}
+               -DPERPLEX_ROOT=${CMAKE_BINARY_DIR} 
-DLEMON_ROOT=${CMAKE_BINARY_DIR}
+               -DLEMON_TEMPLATE=${CMAKE_BINARY_DIR}/share/lemon/lempar.c
+               -DSC_IS_SUBBUILD=ON -DSC_INSTALL_PREFIX=${CMAKE_BINARY_DIR} 
-DSC_PYTHON_GENERATOR=OFF
+               -DSC_ENABLE_TESTING=OFF -DSC_ENABLE_COVERAGE=OFF 
-DSC_BUILD_SCHEMAS=
+               -DINCLUDE_INSTALL_DIR=${INCLUDE_DIR} 
-DBIN_INSTALL_DIR=${BIN_DIR} -DLIB_INSTALL_DIR=${LIB_DIR}
+    DEPENDS ${LEMON_TARGET} ${PERPLEX_TARGET}
+    )
+ 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)
+
+###############################################################################
 #                    Primary BRL-CAD Compilation
 ###############################################################################
 

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