Revision: 77467
          http://sourceforge.net/p/brlcad/code/77467
Author:   starseeker
Date:     2020-10-17 04:41:17 +0000 (Sat, 17 Oct 2020)
Log Message:
-----------
Wrapping functions as we do here is discouraged 
(https://crascit.com/2018/09/14/do-not-redefine-cmake-commands/) but we've not 
been able to replace some of the functionality using other means.  Since we'll 
need to require 3.14 for this new setup to work, and ExternalProject_Add 
approaches remove some of the incentive to override 'standard' functions for 
bookkeeping purposes, it may not be practical to eliminate such usages.

Modified Paths:
--------------
    brlcad/branches/thirdparty_rework/misc/CMake/BRLCAD_Command_Wrappers.cmake

Modified: 
brlcad/branches/thirdparty_rework/misc/CMake/BRLCAD_Command_Wrappers.cmake
===================================================================
--- brlcad/branches/thirdparty_rework/misc/CMake/BRLCAD_Command_Wrappers.cmake  
2020-10-17 01:23:35 UTC (rev 77466)
+++ brlcad/branches/thirdparty_rework/misc/CMake/BRLCAD_Command_Wrappers.cmake  
2020-10-17 04:41:17 UTC (rev 77467)
@@ -1,3 +1,17 @@
+# TODO:  3.7 has a new property that may help eliminate the need to
+# do the wrappers below (wrapping CMake functions in this manner
+# is officially discouraged, it causes problems..)
+#
+# 
https://cmake.org/cmake/help/latest/prop_dir/BUILDSYSTEM_TARGETS.html#prop_dir:BUILDSYSTEM_TARGETS
+#
+# Between that and a couple other notes below, we may be able to
+# eliminate most of the wrappers now.  configure_file we may need
+# to turn into our own function, but if we're managing external
+# build systems with ExternalProject_Add now that becomes more
+# practical.  Worth doing to get us grounded on officially
+# supported CMake features.
+
+
 #---------------------------------------------------------------------
 # By default (as of version 2.8.2) CMake does not provide access to
 # global lists of executable and library targets.  This is useful
@@ -46,10 +60,7 @@
     endif(${name} MATCHES "^lib*")
 
     # TODO - the mechanism below should eventually be replaced by a proper
-    # feature in CMake, but it is as yet unimplemented:
-    # https://cmake.org/pipermail/cmake-developers/2015-July/025682.html
-    # https://cmake.org/pipermail/cmake-developers/2016-March/027985.html
-    # https://cmake.org/pipermail/cmake-developers/2016-March/027993.html
+    # feature in CMake, possibly using BUILDSYSTEM_TARGETS
     set(add_lib_to_list 1)
     foreach(libarg ${ARGN})
       if("${libarg}" STREQUAL "INTERFACE")
@@ -66,10 +77,7 @@
     _add_executable(${name} ${ARGN})
 
     # TODO - the mechanism below should eventually be replaced by a proper
-    # feature in CMake, but it is as yet unimplemented:
-    # https://cmake.org/pipermail/cmake-developers/2015-July/025682.html
-    # https://cmake.org/pipermail/cmake-developers/2016-March/027985.html
-    # https://cmake.org/pipermail/cmake-developers/2016-March/027993.html
+    # feature in CMake, possibly using BUILDSYSTEM_TARGETS
     set_property(GLOBAL APPEND PROPERTY CMAKE_EXEC_TARGET_LIST ${name})
   endfunction(add_executable)
 
@@ -78,10 +86,7 @@
     _add_custom_target(${name} ${ARGN})
 
     # TODO - the mechanism below should eventually be replaced by a proper
-    # feature in CMake, but it is as yet unimplemented:
-    # https://cmake.org/pipermail/cmake-developers/2015-July/025682.html
-    # https://cmake.org/pipermail/cmake-developers/2016-March/027985.html
-    # https://cmake.org/pipermail/cmake-developers/2016-March/027993.html
+    # feature in CMake, possibly using BUILDSYSTEM_TARGETS
     set_property(GLOBAL APPEND PROPERTY CMAKE_CUSTOM_TARGET_LIST ${name})
   endfunction(add_custom_target)
 

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