Revision: 77252
http://sourceforge.net/p/brlcad/code/77252
Author: starseeker
Date: 2020-09-27 18:59:31 +0000 (Sun, 27 Sep 2020)
Log Message:
-----------
If this works out, most of the messy pieces of 3rd party libs will be pushed
down into the superbuild. In an ideal world, as far as the main BRL-CAD logic
is concerned, there shouldn't really be any difference between the local
superbuild supplied version of the lib and a system version. What to detect
with find_package will be handled by the *_ROOT settings passed in at configure
time from the superbuild. It will be the superbuild's problem to produce the
final installers and packages (which *will* be a problem) but it should no
longer be necessary to handle it at this level. In face, we may ultimately be
able to transition these find_package calls to the portions of the code that
are actually using them.
Modified Paths:
--------------
brlcad/branches/thirdparty_rework/src/other/CMakeLists.txt
Modified: brlcad/branches/thirdparty_rework/src/other/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/other/CMakeLists.txt 2020-09-27
18:52:31 UTC (rev 77251)
+++ brlcad/branches/thirdparty_rework/src/other/CMakeLists.txt 2020-09-27
18:59:31 UTC (rev 77252)
@@ -52,8 +52,6 @@
# about those files, so suppress our warning system
set(SUPPRESS_GENERATED_TAG TRUE)
-# Custom patch utility for external RPath preparation
-include(ExternalProject)
# Note- make sure CMAKE_BINARY_DIR and CMAKE_INSTALL_PREFIX are finalized
BEFORE including this file!
include(ExternalProject_Target)
@@ -67,497 +65,22 @@
set(LOG_OPTS)
-# 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)
+find_package(LEMON)
+find_package(RE2C)
+find_package(PERPLEX)
+find_package(REGEX)
+find_package(ZLIB)
+find_package(PNG)
+find_package(NETPBM)
+find_package(UTAHRLE)
+find_package(OPENNURBS)
+find_package(SPSR)
+find_package(STEPCODE)
+find_package(VDS)
+find_package(GDIAM)
+find_package(POLY2TRI)
-# 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
-###############################################################################
-
-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)
-
- # 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}/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 libregex${CMAKE_SHARED_LIBRARY_SUFFIX}.1.0.4
- STATIC_OUTPUT_FILE libregex${CMAKE_STATIC_LIBRARY_SUFFIX}
- SYMLINKS
"libregex${CMAKE_SHARED_LIBRARY_SUFFIX};libregex${CMAKE_SHARED_LIBRARY_SUFFIX}.1"
- LINK_TARGET "libregex${CMAKE_SHARED_LIBRARY_SUFFIX}"
- STATIC_LINK_TARGET "libregex${CMAKE_STATIC_LIBRARY_SUFFIX}"
- RPATH
- )
- ExternalProject_ByProducts(REGEX_BLD ${INCLUDE_DIR}
- regex.h
- )
-
- 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)
-
-###############################################################################
-# zlib compression/decompression library
-###############################################################################
-
-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)
-
- ExternalProject_Add(ZLIB_BLD
- SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/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=brl_
- )
- if (NOT MSVC)
- ExternalProject_Target(zlib ZLIB_BLD
- OUTPUT_FILE libz${CMAKE_SHARED_LIBRARY_SUFFIX}.${ZLIB_VERSION}
- STATIC_OUTPUT_FILE libz${CMAKE_STATIC_LIBRARY_SUFFIX}
- SYMLINKS
"libz${CMAKE_SHARED_LIBRARY_SUFFIX};libz${CMAKE_SHARED_LIBRARY_SUFFIX}.1"
- LINK_TARGET "libz${CMAKE_SHARED_LIBRARY_SUFFIX}"
- RPATH
- )
- else (NOT MSVC)
- ExternalProject_Target(zlib ZLIB_BLD
- OUTPUT_FILE zlib${CMAKE_SHARED_LIBRARY_SUFFIX}
- STATIC_OUTPUT_FILE zlibstatic${CMAKE_STATIC_LIBRARY_SUFFIX}
- LINK_TARGET_DEBUG "zlibd${CMAKE_SHARED_LIBRARY_SUFFIX}"
- STATIC_LINK_TARGET_DEBUG "zlibstaticd${CMAKE_STATIC_LIBRARY_SUFFIX}"
- )
- endif (NOT MSVC)
-
- ExternalProject_ByProducts(ZLIB_BLD ${INCLUDE_DIR}
- zconf.h
- zlib.h
- )
-
- 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")
-
-endif (${CMAKE_PROJECT_NAME}_ZLIB_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)
-
- ExternalProject_Add(NETPBM_BLD
- SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/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 libnetpbm${CMAKE_SHARED_LIBRARY_SUFFIX}
- STATIC_OUTPUT_FILE libnetpbm${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
- )
-
- 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 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)
-set(PNG_VERSION_MAJOR 16)
-set(PNG_VERSION_MINOR 37)
-
-if (${CMAKE_PROJECT_NAME}_PNG_BUILD)
- ExternalProject_Add(PNG_BLD
- SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/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}
-DZLIB_ROOT=${CMAKE_BINARY_DIR} -DSKIP_INSTALL_FILES=ON
- -DSKIP_INSTALL_EXECUTABLES=ON -DSKIP_INSTALL_EXPORT=ON
-DPNG_TESTS=OFF -Dld-version-script=OFF
- -DPNG_PREFIX=brl_
-
- DEPENDS ${ZLIB_LIBRARIES}
- )
- ExternalProject_Target(png PNG_BLD
- OUTPUT_FILE
libpng${PNG_VERSION_MAJOR}${CMAKE_SHARED_LIBRARY_SUFFIX}.${PNG_VERSION_MAJOR}.${PNG_VERSION_MINOR}.0
- STATIC_OUTPUT_FILE libpng16${CMAKE_STATIC_LIBRARY_SUFFIX}
- SYMLINKS
"libpng${CMAKE_SHARED_LIBRARY_SUFFIX};libpng${PNG_VERSION_MAJOR}${CMAKE_SHARED_LIBRARY_SUFFIX};libpng${PNG_VERSION_MAJOR}${CMAKE_SHARED_LIBRARY_SUFFIX}.${PNG_VERSION_MAJOR};libpng${CMAKE_STATIC_LIBRARY_SUFFIX}"
- LINK_TARGET "libpng${CMAKE_SHARED_LIBRARY_SUFFIX}"
- STATIC_LINK_TARGET "libpng${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
- )
-
- 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})
-
- ExternalProject_Add(UTAHRLE_BLD
- SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/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 libutahrle${CMAKE_SHARED_LIBRARY_SUFFIX}.${UTAHRLE_VERSION}
- STATIC_OUTPUT_FILE libutahrle${CMAKE_STATIC_LIBRARY_SUFFIX}
- SYMLINKS
"libutahrle${CMAKE_SHARED_LIBRARY_SUFFIX};libutahrle${CMAKE_SHARED_LIBRARY_SUFFIX}.${UTAHRLE_MAJOR_VERSION}"
- LINK_TARGET "libutahrle${CMAKE_SHARED_LIBRARY_SUFFIX}"
- STATIC_LINK_TARGET "libutahrle${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
- )
-
- 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})
-
- ExternalProject_Add(OPENNURBS_BLD
- SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/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=${CMAKE_BINARY_DIR}
- DEPENDS ${ZLIB_LIBRARIES}
- )
-
- ExternalProject_Target(openNURBS OPENNURBS_BLD
- OUTPUT_FILE libopenNURBS${CMAKE_SHARED_LIBRARY_SUFFIX}.${OPENNURBS_VERSION}
- STATIC_OUTPUT_FILE libopenNURBS${CMAKE_STATIC_LIBRARY_SUFFIX}
- SYMLINKS
"libopenNURBS${CMAKE_SHARED_LIBRARY_SUFFIX};libopenNURBS${CMAKE_SHARED_LIBRARY_SUFFIX}.${OPENNURBS_MAJOR_VERSION}"
- LINK_TARGET "libopenNURBS${CMAKE_SHARED_LIBRARY_SUFFIX}"
- STATIC_LINK_TARGET "libopenNURBS${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
-
- )
-
- set(OPENNURBS_LIBRARIES "openNURBS;${ZLIB_LIBRARIES}" CACHE STRING
"openNURBS" FORCE)
- set(OPENNURBS_INCLUDE_DIRS
"${CMAKE_BINARY_DIR}/${INCLUDE_DIR}/openNURBS;${ZLIB_INCLUDE_DIRS}" CACHE
STRING "Directory containing openNURBS headers." FORCE)
-
- SetTargetFolder(OPENNURBS_BLD "Third Party Libraries")
- SetTargetFolder(openNURBS "Third Party Libraries")
-
-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)
-
- ExternalProject_Add(SPSR_BLD
- SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/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 libSPSR${CMAKE_SHARED_LIBRARY_SUFFIX}
- STATIC_OUTPUT_FILE libSPSR-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)
-
- SetTargetFolder(SPSR_BLD "Third Party Libraries")
- SetTargetFolder(spsr "Third Party Libraries")
-
-endif (${CMAKE_PROJECT_NAME}_SPSR_BUILD)
-
-
-###############################################################################
# libbson - for binary attributes, always use this local version
###############################################################################
@@ -630,286 +153,8 @@
endif (${CMAKE_PROJECT_NAME}_BSON_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(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}/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 lib${SCLIB}${CMAKE_SHARED_LIBRARY_SUFFIX}.2.0.0
- SYMLINKS
"lib${SCLIB}${CMAKE_SHARED_LIBRARY_SUFFIX};lib${SCLIB}${CMAKE_SHARED_LIBRARY_SUFFIX}.2"
- LINK_TARGET "lib${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
- )
-
- 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)
-
- ExternalProject_Add(VDS_BLD
- SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/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 libvds${CMAKE_SHARED_LIBRARY_SUFFIX}
- STATIC_OUTPUT_FILE libvds${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)
-
- SetTargetFolder(VDS_BLD "Third Party Libraries")
- SetTargetFolder(vds "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)
-
- ExternalProject_Add(GDIAM_BLD
- SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/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 libgdiam${CMAKE_SHARED_LIBRARY_SUFFIX}
- STATIC_OUTPUT_FILE libgdiam${CMAKE_STATIC_LIBRARY_SUFFIX}
- RPATH
- )
-
- ExternalProject_ByProducts(GDIAM_BLD ${INCLUDE_DIR}
- gdiam.hpp
- )
-
- set(GDIAM_LIBRARIES gdiam CACHE STRING "Building bundled gdiam" FORCE)
- set(GDIAM_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/${INCLUDE_DIR}" CACHE STRING
"Directory containing gdiam headers." FORCE)
-
- SetTargetFolder(GDIAM_BLD "Third Party Libraries")
- SetTargetFolder(gdiam "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)
-
- ExternalProject_Add(POLY2TRI_BLD
- SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/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 libpoly2tri${CMAKE_SHARED_LIBRARY_SUFFIX}
- STATIC_OUTPUT_FILE libpoly2tri${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
- )
-
- set(POLY2TRI_LIBRARIES poly2tri CACHE STRING "Building bundled poly2tri"
FORCE)
- set(POLY2TRI_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/${INCLUDE_DIR}" CACHE STRING
"Directory containing poly2tri headers." FORCE)
-
- SetTargetFolder(POLY2TRI_BLD "Third Party Libraries")
- SetTargetFolder(poly2tri "Third Party Libraries")
-
-endif (${CMAKE_PROJECT_NAME}_POLY2TRI_BUILD)
-
-
-###############################################################################
# PROJ - generic coordinate transformation
###############################################################################
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