Revision: 75397
          http://sourceforge.net/p/brlcad/code/75397
Author:   starseeker
Date:     2020-04-14 16:04:22 +0000 (Tue, 14 Apr 2020)
Log Message:
-----------
Hmm... try following the GCV logic for this...

Modified Paths:
--------------
    brlcad/trunk/src/libbu/tests/dylib/CMakeLists.txt

Modified: brlcad/trunk/src/libbu/tests/dylib/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/libbu/tests/dylib/CMakeLists.txt   2020-04-14 15:40:41 UTC 
(rev 75396)
+++ brlcad/trunk/src/libbu/tests/dylib/CMakeLists.txt   2020-04-14 16:04:22 UTC 
(rev 75397)
@@ -3,13 +3,31 @@
 
 add_library(plugin_1 SHARED plugin_1.cpp)
 add_library(plugin_2 SHARED plugin_2.cpp)
-set_target_properties(plugin_1 plugin_2
-  PROPERTIES
-  ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${LIBEXEC_DIR}/dylib"
-  LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${LIBEXEC_DIR}/dylib"
-  RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${LIBEXEC_DIR}/dylib"
-  )
 
+set(plugin_targets plugin_1 plugin_2)
+set(DIR_TYPES LIBRARY RUNTIME ARCHIVE)
+
+# Override the output directories to put the plugins in LIBEXEC_DIR
+foreach (target_name ${plugin_targets})
+  if (NOT CMAKE_CONFIGURATION_TYPES)
+    foreach(dt ${DIR_TYPES})
+      get_property(cd TARGET ${target_name} PROPERTY ${dt}_OUTPUT_DIRECTORY)
+      set_property(TARGET ${target_name} PROPERTY ${dt}_OUTPUT_DIRECTORY 
"${cd}/../${LIBEXEC_DIR}/dylib")
+    endforeach(dt ${DIR_TYPES})
+  else (NOT CMAKE_CONFIGURATION_TYPES)
+    foreach(ct ${CMAKE_CONFIGURATION_TYPES})
+      if(NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".")
+       set(CMAKE_BINARY_DIR ${CMAKE_BINARY_DIR}/${ct})
+      endif(NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".")
+      string(TOUPPER "${ct}" CTU)
+      foreach(dt ${DIR_TYPES})
+       get_property(cd TARGET ${target_name} PROPERTY 
${dt}_OUTPUT_DIRECTORY_${CTU})
+       set_property(TARGET ${target_name} PROPERTY 
${dt}_OUTPUT_DIRECTORY_${CTU} "${cd}/../${LIBEXEC_DIR}/dylib")
+      endforeach(dt ${DIR_TYPES})
+    endforeach(ct ${CMAKE_CONFIGURATION_TYPES})
+  endif (NOT CMAKE_CONFIGURATION_TYPES)
+endforeach (target_name${plugins})
+
 add_library(libdylib SHARED dylib.c)
 if (CPP_DLL_DEFINES)
   set_property(TARGET plugin_1 APPEND PROPERTY COMPILE_DEFINITIONS 
BU_DYLIB_DLL_EXPORTS)

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