Revision: 77359
          http://sourceforge.net/p/brlcad/code/77359
Author:   starseeker
Date:     2020-10-07 19:24:07 +0000 (Wed, 07 Oct 2020)
Log Message:
-----------
Back out experiment.

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

Modified: brlcad/branches/thirdparty_rework/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/CMakeLists.txt    2020-10-07 16:27:28 UTC 
(rev 77358)
+++ brlcad/branches/thirdparty_rework/CMakeLists.txt    2020-10-07 19:24:07 UTC 
(rev 77359)
@@ -239,26 +239,15 @@
 endforeach(v ${VARS})
 
 # Now we prepare and invoke the superbuild as a separate process
-file(REMOVE "${CMAKE_BINARY_DIR}/superbuild/CMakeCache.txt")
 execute_process(
-  COMMAND ${CMAKE_COMMAND} -S ${CMAKE_SOURCE_DIR}/src/superbuild -G 
${CMAKE_GENERATOR} -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} 
-DCMAKE_BUILD_RPATH=${CMAKE_BUILD_RPATH}
+  COMMAND ${CMAKE_COMMAND} -S ${CMAKE_SOURCE_DIR}/src/superbuild 
-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} 
-DCMAKE_BUILD_RPATH=${CMAKE_BUILD_RPATH}
   WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/superbuild"
   )
+execute_process(
+  COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR}/superbuild -j12 
--config Release --target all
+  WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/superbuild"
+  )
 
-if (CMAKE_CONFIGURATION_TYPES)
-  foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
-    execute_process(
-      COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR}/superbuild -j12 
--config ${CFG_TYPE} --target all
-      WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/superbuild"
-      )
-  endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
-else (CMAKE_CONFIGURATION_TYPES)
-  execute_process(
-    COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR}/superbuild -j12 
--config Release --target all
-    WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/superbuild"
-    )
-endif (CMAKE_CONFIGURATION_TYPES)
-
 if (NOT EXISTS ${CMAKE_BINARY_DIR}/superbuild.cmake)
   message(FATAL_ERROR "Third party library info file 
${CMAKE_BINARY_DIR}/superbuild.cmake was not found.")
 endif (NOT EXISTS ${CMAKE_BINARY_DIR}/superbuild.cmake)
@@ -265,36 +254,22 @@
 
 # Find packages based on superbuild results
 include(${CMAKE_BINARY_DIR}/superbuild.cmake)
-
-set(PKGS LEMON RE2C PERPLEX ZLIB PNG REGEX NETPBM)
-foreach(P ${PKGS})
-  unset(${P}_FOUND CACHE)
-  unset(${P}_LIBRARY CACHE)
-  find_package(${P})
-endforeach(P ${PKGS})
+find_package(LEMON)
+find_package(RE2C)
+find_package(PERPLEX)
+find_package(ZLIB)
+find_package(PNG)
+find_package(REGEX)
+find_package(NETPBM)
 if (BRLCAD_ENABLE_STEPCODE)
-  set(STEPCODE_FOUND "STEPCODE-NOTFOUND" CACHE STRING "STEPCODE_FOUND" FORCE)
   find_package(STEPCODE)
 endif (BRLCAD_ENABLE_STEPCODE)
 #find_package(BSON)
 if (BRLCAD_ENABLE_GDAL)
-  set(PROJ4_FOUND "PROJ4-NOTFOUND" CACHE STRING "PROJ4_FOUND" FORCE)
   find_package(PROJ4)
-  set(GDAL_FOUND "GDAL-NOTFOUND" CACHE STRING "GDAL_FOUND" FORCE)
   find_package(GDAL)
 endif (BRLCAD_ENABLE_GDAL)
 if (BRLCAD_ENABLE_TCL)
-  unset(TCL_FOUND CACHE)
-  unset(TCL_INCLUDE_PATH CACHE)
-  unset(TCL_LIBRARY CACHE)
-  unset(TCL_STUB_LIBRARY CACHE)
-  unset(TCL_TCLSH CACHE)
-  unset(TK_INCLUDE_PATH CACHE)
-  unset(TK_LIBRARY CACHE)
-  unset(TK_STUB_LIBRARY CACHE)
-  unset(TK_WISH CACHE)
-  unset(TK_X11_GRAPHICS CACHE)
-  unset(TTK_STUB_LIBRARY CACHE)
   find_package(TCL)
 endif (BRLCAD_ENABLE_TCL)
 

Modified: brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt     
2020-10-07 16:27:28 UTC (rev 77358)
+++ brlcad/branches/thirdparty_rework/src/superbuild/CMakeLists.txt     
2020-10-07 19:24:07 UTC (rev 77359)
@@ -137,9 +137,7 @@
 # It's not enough to simply generate the outputs - we'll also need to install
 # them, which means passing the relevant information back up to the parent
 # build.  We do so with a file the parent build knows to look for:
-set(SUPERBUILD_OUTPUT "${BRLCAD_BINARY_DIR}/superbuild.cmake")
-file(WRITE "${SUPERBUILD_OUTPUT}" "\#superbuild outputs\n")
-file(APPEND "${SUPERBUILD_OUTPUT}" "set(BUNDLED_DEPS)\n")
+file(WRITE "${BRLCAD_BINARY_DIR}/superbuild.cmake" "\#superbuild outputs\n")
 
 ###############################################################################
 # BRL-CAD and some of its dependencies require the lemon, re2c and perplex
@@ -202,40 +200,22 @@
 endif (TARGET PERPLEX_BLD)
 if (TARGET NETPBM_BLD)
   file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "set(NETPBM_ROOT 
\"${BRLCAD_BINARY_DIR}\")\n")
-  file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "list(APPEND 
BUNDLED_DEPS NETPBM)\n")
 endif (TARGET NETPBM_BLD)
 if (TARGET STEPCODE_BLD)
   file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "set(STEPCODE_ROOT 
\"${BRLCAD_BINARY_DIR}\")\n")
-  file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "list(APPEND 
BUNDLED_DEPS STEPCODE)\n")
 endif (TARGET STEPCODE_BLD)
 if (TARGET BSON_BLD)
   file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "set(BSON_ROOT 
\"${BRLCAD_BINARY_DIR}\")\n")
-  file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "list(APPEND 
BUNDLED_DEPS BSON)\n")
 endif (TARGET BSON_BLD)
 if (TARGET PROJ4_BLD)
   file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "set(PROJ4_ROOT 
\"${BRLCAD_BINARY_DIR}\")\n")
-  file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "list(APPEND 
BUNDLED_DEPS PROJ4)\n")
 endif (TARGET PROJ4_BLD)
 if (TARGET GDAL_BLD)
   file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "set(GDAL_ROOT 
\"${BRLCAD_BINARY_DIR}\")\n")
-  file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "list(APPEND 
BUNDLED_DEPS GDAL)\n")
 endif (TARGET GDAL_BLD)
 if (TARGET TCL_BLD)
   file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "set(TCL_ROOT 
\"${BRLCAD_BINARY_DIR}\")\n")
-  file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "list(APPEND 
BUNDLED_DEPS TCL)\n")
 endif (TARGET TCL_BLD)
-if (TARGET TK_BLD)
-  file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "list(APPEND 
BUNDLED_DEPS TK)\n")
-endif (TARGET TK_BLD)
-if (TARGET ITCL_BLD)
-  file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "list(APPEND 
BUNDLED_DEPS ITCL)\n")
-endif (TARGET ITCL_BLD)
-if (TARGET ITK_BLD)
-  file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "list(APPEND 
BUNDLED_DEPS ITK)\n")
-endif (TARGET ITK_BLD)
-if (TARGET IWIDGETS_BLD)
-  file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "list(APPEND 
BUNDLED_DEPS IWIDGETS)\n")
-endif (TARGET IWIDGETS_BLD)
 
 # (For REGEX, ZLIB and PNG we need to do a little extra work and supply our
 # custom library names so find_package knows about them.)
@@ -242,17 +222,14 @@
 if (TARGET REGEX_BLD)
   file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "set(REGEX_ROOT 
\"${BRLCAD_BINARY_DIR}\")\n")
   file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "set(REGEX_LIBRARY 
\"${BRLCAD_BINARY_DIR}/${LIB_DIR}/${REGEX_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}\")\n")
-  file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "list(APPEND 
BUNDLED_DEPS REGEX)\n")
 endif (TARGET REGEX_BLD)
 if (TARGET ZLIB_BLD)
   file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "set(ZLIB_ROOT 
\"${BRLCAD_BINARY_DIR}\")\n")
   file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "set(ZLIB_LIBRARY 
\"${BRLCAD_BINARY_DIR}/${LIB_DIR}/${ZLIB_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}\")\n")
-  file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "list(APPEND 
BUNDLED_DEPS ZLIB)\n")
 endif (TARGET ZLIB_BLD)
 if (TARGET PNG_BLD)
   file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "set(PNG_ROOT 
\"${BRLCAD_BINARY_DIR}\")\n")
   file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "set(PNG_LIBRARY 
\"${BRLCAD_BINARY_DIR}/${LIB_DIR}/${PNG_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}\")\n")
-  file(APPEND "${BRLCAD_BINARY_DIR}/superbuild.cmake" "list(APPEND 
BUNDLED_DEPS PNG)\n")
 endif (TARGET PNG_BLD)
 
 # Local Variables:

Modified: brlcad/branches/thirdparty_rework/src/superbuild/zlib.cmake
===================================================================
--- brlcad/branches/thirdparty_rework/src/superbuild/zlib.cmake 2020-10-07 
16:27:28 UTC (rev 77358)
+++ brlcad/branches/thirdparty_rework/src/superbuild/zlib.cmake 2020-10-07 
19:24:07 UTC (rev 77359)
@@ -7,18 +7,6 @@
 
 THIRD_PARTY(libz ZLIB zlib zlib_DESCRIPTION ALIASES ENABLE_ZLIB ENABLE_LIBZ)
 
-# TODO - it's not enough just to build - we also need to be able to reset
-# if we have already built and the top level options change from enabled
-# to disabled.  Resetting entails an unset(var CACHE) on all the find_package
-# variables associated with this package, and removing from the build directory
-# any previously generated build products.
-
-# In the long run it might be cleaner to compile the 3rd party component with a
-# target dir like CMAKE_BUILD_DIR/superbuild/zlib.  Then, define a ZLIB_CPY
-# target that copies all the relevant files to the build dir and a ZLIB_CLEAN
-# that removes them but doesn't remove superbuild/zlib.  That way flipping
-# between bundled and system won't trigger needless rebuilds.
-
 if (BRLCAD_ZLIB_BUILD)
 
   set(ZLIB_VERSION 1.2.11)
@@ -36,14 +24,10 @@
     set(ZLIB_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}.${ZLIB_VERSION})
   endif (MSVC)
 
-  if (NOT DEFINED ZLIB_BLD_DIR)
-    set(ZLIB_BLD_DIR "${CMAKE_INSTALL_PREFIX}/superbuild/zlib")
-  endif (NOT DEFINED ZLIB_BLD_DIR)
-
   ExternalProject_Add(ZLIB_BLD
     SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/zlib"
     BUILD_ALWAYS ${EXTERNAL_BUILD_UPDATE} ${LOG_OPTS}
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${ZLIB_BLD_DIR} -DLIB_DIR=${LIB_DIR} 
-DBIN_DIR=${BIN_DIR}
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} 
-DLIB_DIR=${LIB_DIR} -DBIN_DIR=${BIN_DIR}
     -DCMAKE_INSTALL_RPATH=${CMAKE_BUILD_RPATH} 
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
     -DZ_PREFIX_STR=${Z_PREFIX_STR}
     )
@@ -63,62 +47,23 @@
     )
   \n")
 
-  # We're supplying ZLIB - tell find_package where to look
-  file(APPEND "${SUPERBUILD_OUTPUT}" "set(ZLIB_ROOT 
\"${CMAKE_INSTALL_PREFIX}\")\n")
+  list(APPEND BRLCAD_DEPS ZLIB_BLD)
 
-  # We need to stage the files from the install directory used by the build
-  # (or the supplied pre-compiled dir, if defined) to the BRL-CAD build dirs.
-  file(APPEND "${SUPERBUILD_OUTPUT}" "file(GLOB_RECURSE ZLIB_FILES RELATIVE 
\"${ZLIB_BLD_DIR}\" \"${ZLIB_BLD_DIR}/*\")\n")
-  file(APPEND "${SUPERBUILD_OUTPUT}" "foreach(ZF \${ZLIB_FILES})\n")
-  file(APPEND "${SUPERBUILD_OUTPUT}" "   execute_process(COMMAND 
\"${CMAKE_COMMAND}\" -E copy \"${ZLIB_BLD_DIR}/\${ZF}\" 
\"\${BRLCAD_BINARY_DIR}/\${ZF}\")\n")
-  file(APPEND "${SUPERBUILD_OUTPUT}" "endforeach(ZF \${ZLIB_FILES})\n")
+  set(ZLIB_LIBRARIES zlib CACHE STRING "Building bundled zlib" FORCE)
+  set(ZLIB_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/${INCLUDE_DIR}" CACHE STRING 
"Directory containing zlib headers." FORCE)
 
+  SetTargetFolder(ZLIB_BLD "Third Party Libraries")
+  SetTargetFolder(zlib "Third Party Libraries")
+
 else (BRLCAD_ZLIB_BUILD)
 
-  # We're NOT supplying ZLIB - clear key outputs from build dir, if present,
-  # so they won't interfere with find_package or the build targets
-  set(CLEAR_FILES
-    ${ZLIB_BASENAME}${ZLIB_SUFFIX}
-    ${ZLIB_BASENAME}${CMAKE_STATIC_LIBRARY_SUFFIX}
-    ${ZLIB_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}
-    ${ZLIB_BASENAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.1
-    zconf.h
-    zlib.h
-    )
-  foreach(CF ${CLEAR_FILES})
-    file(REMOVE "${CMAKE_INSTALL_PREFIX}/${LIB_DIR}/${CF}")
-    file(REMOVE "${CMAKE_INSTALL_PREFIX}/${BIN_DIR}/${CF}")
-    file(REMOVE "${CMAKE_INSTALL_PREFIX}/${INCLUDE_DIR}/${CF}")
-    set(ALL_FILES ${LIB_FILES} ${BIN_FILES} ${INC_FILES})
-      file(REMOVE "${CMAKE_INSTALL_PREFIX}/${CFG_TYPE}/${LIB_DIR}/${CF}")
-      file(REMOVE "${CMAKE_INSTALL_PREFIX}/${CFG_TYPE}/${BIN_DIR}/${CF}")
-      file(REMOVE "${CMAKE_INSTALL_PREFIX}/${CFG_TYPE}/${INCLUDE_DIR}/${CF}")
-    endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
-  endforeach(CF ${CLEAR_FILES})
+  set(Z_PREFIX_STR "" CACHE STRING "clear prefix for zlib functions" FORCE)
+  set(Z_PREFIX_STR)
+  set(ZLIB_LIBRARIES ${ZLIB_LIBRARY_RELEASE} CACHE STRING "ZLIB_LIBRARIES" 
FORCE)
+  set(ZLIB_INCLUDE_DIRS "${ZLIB_INCLUDE_DIR}" CACHE STRING "ZLIB include 
directory" FORCE)
 
-  # If BRLCAD_DEPS is set, set ZLIB_ROOT to prefer that directory
-  if (BRLCAD_DEPS)
-    if (EXISTS "${BRLCAD_DEPS}/zlib")
-      file(APPEND "${SUPERBUILD_OUTPUT}" "set(ZLIB_ROOT 
\"${BRLCAD_DEPS}/zlib\")\n")
-    elseif (EXISTS "${BRLCAD_DEPS}")
-      file(APPEND "${SUPERBUILD_OUTPUT}" "set(ZLIB_ROOT \"${BRLCAD_DEPS}\")\n")
-    endif (EXISTS "${BRLCAD_DEPS}/zlib")
-  endif (BRLCAD_DEPS)
-
 endif (BRLCAD_ZLIB_BUILD)
 
-# In case we have altered settings from one configure stage to the next, we
-# need to make sure the find_package variables are cleared.  This way
-# find_package will actually run again, and pick up what might be new vales
-# compared to the previous run.
-file(APPEND "${SUPERBUILD_OUTPUT}" "unset(ZLIB_FOUND CACHE)\n")
-file(APPEND "${SUPERBUILD_OUTPUT}" "unset(ZLIB_LIBRARY CACHE)\n")
-file(APPEND "${SUPERBUILD_OUTPUT}" "unset(ZLIB_LIBRARIES CACHE)\n")
-file(APPEND "${SUPERBUILD_OUTPUT}" "unset(ZLIB_INCLUDE_DIR CACHE)\n")
-file(APPEND "${SUPERBUILD_OUTPUT}" "unset(ZLIB_INCLUDE_DIRS CACHE)\n")
-file(APPEND "${SUPERBUILD_OUTPUT}" "unset(ZLIB_VERSION_STRING CACHE)\n")
-
-
 # Local Variables:
 # tab-width: 8
 # mode: cmake

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