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