This will likely propagate breakage because AJEM and possibly other codes have 
historically relied on BRL-CAD in order to get Tcl/Tk.  We can change that, but 
it may be worth announcing it as a breaking change, or at least noting the 
work-around setting in docs somewhere.

Cheers!
Sean
 
 

> On Apr 9, 2020, at 11:27 AM, starseeker--- via brlcad-commits 
> <[email protected]> wrote:
> 
> Revision: 75317
>          http://sourceforge.net/p/brlcad/code/75317
> Author:   starseeker
> Date:     2020-04-09 15:27:40 +0000 (Thu, 09 Apr 2020)
> Log Message:
> -----------
> With the deliberate exceptions of Tcl/Tk and openNURBS, don't install the 
> headers of the src/other libs.  Our bundled versions aren't really intended 
> to (and can't always successfully) substitute for 3rd party libs in other 
> codes as well as our own, and putting our versions of those headers where 
> they can be found invites trouble.  openNURBS we modify for our uses (a 
> system version, which doesn't usually exist anyway, won't work).
> 
> Modified Paths:
> --------------
>    brlcad/trunk/src/other/CMakeLists.txt
> 
> Modified: brlcad/trunk/src/other/CMakeLists.txt
> ===================================================================
> --- brlcad/trunk/src/other/CMakeLists.txt     2020-04-09 15:19:06 UTC (rev 
> 75316)
> +++ brlcad/trunk/src/other/CMakeLists.txt     2020-04-09 15:27:40 UTC (rev 
> 75317)
> @@ -87,6 +87,13 @@
>   CMAKEFILES(${dlist})
> endforeach(ITEM ${dlists})
> 
> +# If the option is available (and in a number of cases we make sure it is)
> +# don't install the headers as part of the BRL-CAD package.  We compile
> +# against these, but we may have adjusted them compared to system versions
> +# and we don't want them mixing with the system version for an external
> +# code via it including our version of the header
> +set(SKIP_INSTALL_HEADERS TRUE CACHE  BOOL "Don't install src/other headers" 
> FORCE)
> +
> # libregex library -  often needed by tools, so do this one first.
> set(regex_DESCRIPTION "
> Option for enabling and disabling compilation of the Regular
> @@ -100,12 +107,10 @@
> BRLCAD_INCLUDE_FILE(regex.h HAVE_REGEX_H)
> SetTargetFolder(regex "Third Party Libraries")
> SetTargetFolder(regex-static "Third Party Libraries")
> -if(BRLCAD_REGEX_BUILD)
> -  BRLCAD_MANAGE_FILES(${CMAKE_CURRENT_BINARY_DIR}/libregex/regex.h 
> ${INCLUDE_DIR})
> -else(BRLCAD_REGEX_BUILD)
> +if (NOT BRLCAD_REGEX_BUILD)
>   set(REGEX_LIBRARIES ${REGEX_LIBRARY} CACHE STRING "REGEX_LIBRARIES" FORCE)
>   set(REGEX_INCLUDE_DIRS "${REGEX_INCLUDE_DIR}" CACHE STRING "REGEX include 
> directory" FORCE)
> -endif(BRLCAD_REGEX_BUILD)
> +endif (NOT BRLCAD_REGEX_BUILD)
> 
> # Same deal for zlib Library - common requirement, deal with it up front
> set(zlib_DESCRIPTION "
> @@ -125,8 +130,6 @@
>   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)
> -  BRLCAD_MANAGE_FILES(${CMAKE_CURRENT_BINARY_DIR}/libz/zlib.h ${INCLUDE_DIR})
> -  BRLCAD_MANAGE_FILES(${CMAKE_CURRENT_BINARY_DIR}/libz/zconf.h 
> ${INCLUDE_DIR})
> else(BRLCAD_ZLIB_BUILD)
>   set(Z_PREFIX_STR "" CACHE STRING "clear prefix for zlib functions" FORCE)
>   set(Z_PREFIX_STR)
> @@ -196,25 +199,6 @@
>   SetTargetFolder(png "Third Party Libraries")
>   SetTargetFolder(png_static "Third Party Libraries")
>   SetTargetFolder(genfiles "Third Party Libraries")
> -
> -  # The actual install directory has these in both libpng16 and the toplevel
> -  # include directory.  Just put them in the top level include directory - we
> -  # don't guarantee libpng16, so an include directory with that version may 
> or
> -  # may not be there anyway.
> -  BRLCAD_MANAGE_FILES(libpng/png.h ${INCLUDE_DIR} FOLDER libpng)
> -  BRLCAD_MANAGE_FILES(libpng/pngconf.h ${INCLUDE_DIR} FOLDER libpng)
> -  add_custom_command(
> -    OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.sentinel"
> -    COMMAND "${CMAKE_COMMAND}" -E copy_if_different 
> ${CMAKE_CURRENT_BINARY_DIR}/libpng/pnglibconf.h 
> ${CMAKE_BINARY_DIR}/${INCLUDE_DIR}/pnglibconf.h
> -    COMMAND ${CMAKE_COMMAND} -E touch 
> "${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.sentinel"
> -    DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/libpng/pnglibconf.h
> -    )
> -  add_custom_target(pnglibconf_cp ALL DEPENDS 
> "${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.sentinel")
> -  BRLCAD_ADD_DIR_LIST_ENTRY(DATA_TARGETS "${CMAKE_CURRENT_BINARY_DIR}" 
> pnglibconf_cp)
> -  set_target_properties(pnglibconf_cp PROPERTIES FOLDER "BRL-CAD File 
> Setup/libpng")
> -  add_dependencies(pnglibconf_cp genfiles)
> -  add_dependencies(png pnglibconf_cp)
> -  DISTCLEAN("${CMAKE_BINARY_DIR}/${INCLUDE_DIR}/pnglibconf.h")
> else(BRLCAD_PNG_BUILD)
>   set(PNG_LIBRARIES ${PNG_LIBRARY_RELEASE} CACHE STRING "PNG_LIBRARIES" FORCE)
>   set(PNG_INCLUDE_DIRS "${PNG_PNG_INCLUDE_DIR}" CACHE STRING "PNG include 
> directory" FORCE)
> @@ -259,9 +243,6 @@
>   mark_as_advanced(LZ4_LIBRARIES)
>   SetTargetFolder(lz4 "Third Party Libraries")
>   SetTargetFolder(lz4-static "Third Party Libraries")
> -  BRLCAD_MANAGE_FILES(lz4/lz4.h ${INCLUDE_DIR})
> -  BRLCAD_MANAGE_FILES(lz4/lz4frame.h ${INCLUDE_DIR})
> -  BRLCAD_MANAGE_FILES(lz4/lz4hc.h ${INCLUDE_DIR})
> endif(BRLCAD_LZ4_BUILD)
> 
> 
> @@ -377,15 +358,6 @@
>   set(BRLCAD_UTAHRLE_INCLUDE_DIR "${UTAHRLE_INCLUDE_DIR}" CACHE STRING 
> "directory with rle.h header" FORCE)
>   mark_as_advanced(UTAHRLE_INCLUDE_DIR)
>   mark_as_advanced(BRLCAD_UTAHRLE_INCLUDE_DIR)
> -
> -  # manage installed headers
> -  get_directory_property(libutahrle_headers_orig DIRECTORY libutahrle 
> DEFINITION LIBUTAHRLE_PUBLIC_HDRS)
> -  set(libutahrle_headers)
> -  foreach(utahh ${libutahrle_headers_orig})
> -    get_filename_component(utahhf ${utahh} NAME)
> -    set(libutahrle_headers ${libutahrle_headers} 
> libutahrle/include/${utahhf})
> -  endforeach(utahh ${libutahrle_headers_orig})
> -  BRLCAD_MANAGE_FILES(libutahrle_headers ${INCLUDE_DIR})
> endif(BRLCAD_UTAHRLE_BUILD)
> 
> ####################################################################
> @@ -758,25 +730,6 @@
> set(BIN_INSTALL_DIR ${BIN_DIR})
> set(LIB_INSTALL_DIR ${LIB_DIR})
> 
> -function(SC_MANAGE_HDRS src_dir src_var target_dir)
> -  get_directory_property(sc_headers_orig DIRECTORY ${src_dir} DEFINITION 
> ${src_var})
> -  set(sc_headers)
> -  foreach(scfile ${sc_headers_orig})
> -    get_filename_component(scf ${scfile} NAME)
> -    set(sc_headers ${sc_headers} ${src_dir}/${scf})
> -  endforeach(scfile ${sc_headers_orig})
> -  BRLCAD_MANAGE_FILES("${sc_headers}" "${target_dir}" FOLDER stepcode)
> -endfunction(SC_MANAGE_HDRS)
> -
> -function(SC_MANAGE_HDRS2 src_dir src_var target_dir)
> -  get_directory_property(sc_headers_orig DIRECTORY ${src_dir} DEFINITION 
> ${src_var})
> -  set(sc_headers)
> -  foreach(scfile ${sc_headers_orig})
> -    set(sc_headers ${sc_headers} ${src_dir}/${scfile})
> -  endforeach(scfile ${sc_headers_orig})
> -  BRLCAD_MANAGE_FILES("${sc_headers}" "${target_dir}" FOLDER stepcode)
> -endfunction(SC_MANAGE_HDRS2)
> -
> set(sc_ALIASES ENABLE_SCL ENABLE_STEP ENABLE_STEP_CLASS_LIBRARIES)
> set(sc_DESCRIPTION "
> Option for enabling and disabling compilation of the NIST Step Class
> @@ -800,34 +753,6 @@
>   DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/stepcode/include/sc_cf.h.in")
>   
> DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/stepcode/include/sc_version_string.h")
>   
> DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/stepcode/src/express/ExpParser_expparse/expparse.y")
> -
> -  # stepcode has a lot of installed headers...
> -  SC_MANAGE_HDRS(stepcode/src/base SC_BASE_HDRS ${INCLUDE_DIR}/stepcode/base)
> -  SC_MANAGE_HDRS(stepcode/src/cldai SC_CLDAI_HDRS 
> ${INCLUDE_DIR}/stepcode/cldai)
> -  SC_MANAGE_HDRS(stepcode/src/cleditor SC_CLEDITOR_HDRS 
> ${INCLUDE_DIR}/stepcode/cleditor)
> -  SC_MANAGE_HDRS(stepcode/src/clstepcore SC_CLSTEPCORE_HDRS 
> ${INCLUDE_DIR}/stepcode/clstepcore)
> -  SC_MANAGE_HDRS(stepcode/src/clutils SC_CLUTILS_HDRS 
> ${INCLUDE_DIR}/stepcode/clutils)
> -  SC_MANAGE_HDRS2(stepcode/include express_HDRS 
> ${INCLUDE_DIR}/stepcode/express)
> -  SC_MANAGE_HDRS2(stepcode/include exppp_HDRS ${INCLUDE_DIR}/stepcode/exppp)
> -  BRLCAD_MANAGE_FILES(stepcode/include/ordered_attrs.h 
> ${INCLUDE_DIR}/stepcode)
> -  BRLCAD_MANAGE_FILES(stepcode/include/sc_export.h ${INCLUDE_DIR}/stepcode)
> -  BRLCAD_MANAGE_FILES(stepcode/include/sc_stdbool.h ${INCLUDE_DIR}/stepcode)
> -  get_directory_property(scbdir DIRECTORY stepcode/include DEFINITION 
> SC_BINARY_DIR)
> -  get_directory_property(sciidir DIRECTORY stepcode/include DEFINITION 
> INCLUDE_INSTALL_DIR)
> -  add_custom_command(
> -    OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/sc_gen_hdrs.sentinel"
> -    COMMAND "${CMAKE_COMMAND}" -E copy_if_different 
> ${scbdir}/${sciidir}/sc_cf.h 
> ${CMAKE_BINARY_DIR}/${INCLUDE_DIR}/stepcode/sc_cf.h
> -    COMMAND "${CMAKE_COMMAND}" -E copy_if_different 
> ${scbdir}/${sciidir}/sc_version_string.h 
> ${CMAKE_BINARY_DIR}/${INCLUDE_DIR}/stepcode/sc_version_string.h
> -    COMMAND ${CMAKE_COMMAND} -E touch 
> "${CMAKE_CURRENT_BINARY_DIR}/sc_gen_hdrs.sentinel"
> -    DEPENDS ${scbdir}/${sciidir}/sc_cf.h
> -    )
> -  add_custom_target(sc_gen_hdrs_cp ALL DEPENDS 
> "${CMAKE_CURRENT_BINARY_DIR}/sc_gen_hdrs.sentinel")
> -  BRLCAD_ADD_DIR_LIST_ENTRY(DATA_TARGETS "${CMAKE_CURRENT_BINARY_DIR}" 
> sc_gen_hdrs_cp)
> -  set_target_properties(sc_gen_hdrs_cp PROPERTIES FOLDER "BRL-CAD File 
> Setup/stepcode")
> -  add_dependencies(express sc_gen_hdrs_cp)
> -  DISTCLEAN("${CMAKE_BINARY_DIR}/${INCLUDE_DIR}/stepcode/sc_cf.h")
> -  
> DISTCLEAN("${CMAKE_BINARY_DIR}/${INCLUDE_DIR}/stepcode/sc_version_string.h")
> -
> endif(BRLCAD_SC_BUILD)
> set(IS_SUBBUILD ${IS_SUBBUILD_STASH})
> mark_as_advanced(SC_BUILD_TYPE)
> @@ -981,11 +906,6 @@
> DISTCLEAN("${CMAKE_CURRENT_SOURCE_DIR}/poly2tri/Makefile")
> set(P2T_LIBRARY "poly2tri" CACHE STRING "Poly2Tri library" FORCE)
> set(P2T_INCLUDE_DIR "${BRLCAD_SOURCE_DIR}/src/other/poly2tri" CACHE STRING 
> "Directory containing poly2tri header" FORCE)
> -get_directory_property(poly2tri_headers DIRECTORY poly2tri DEFINITION 
> LIBP2T_PUBLIC_HDRS)
> -foreach(phfile ${poly2tri_headers})
> -  get_filename_component(phfile_dir ${phfile} DIRECTORY)
> -  BRLCAD_MANAGE_FILES(poly2tri/${phfile} ${INCLUDE_DIR}/${phfile_dir})
> -endforeach(phfile ${poly2tri_headers})
> SetTargetFolder(poly2tri "Third Party Libraries")
> SetTargetFolder(poly2tri-static "Third Party Libraries")
> mark_as_advanced(P2T_LIBRARY)
> 
> 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



_______________________________________________
BRL-CAD Developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-devel

Reply via email to