From ab40b1e2d6becb3466464c43c9ab37aa0cdaf8d4 Mon Sep 17 00:00:00 2001
From: Martyn Gigg <martyn.gigg@gmail.com>
Date: Thu, 2 Nov 2017 10:27:01 +0000
Subject: [PATCH] Move framework plugins to bin/plugins for dev build

Refs #20288
---
 Framework/Algorithms/CMakeLists.txt         | 4 +++-
 Framework/Crystal/CMakeLists.txt            | 6 ++++--
 Framework/CurveFitting/CMakeLists.txt       | 4 +++-
 Framework/DataHandling/CMakeLists.txt       | 4 +++-
 Framework/ICat/CMakeLists.txt               | 4 +++-
 Framework/Kernel/CMakeLists.txt             | 2 +-
 Framework/LiveData/CMakeLists.txt           | 4 +++-
 Framework/MDAlgorithms/CMakeLists.txt       | 4 +++-
 Framework/MPIAlgorithms/CMakeLists.txt      | 5 ++++-
 Framework/RemoteAlgorithms/CMakeLists.txt   | 4 +++-
 Framework/RemoteJobManagers/CMakeLists.txt  | 4 +++-
 Framework/SINQ/CMakeLists.txt               | 4 +++-
 Framework/ScriptRepository/CMakeLists.txt   | 5 +++--
 Framework/WorkflowAlgorithms/CMakeLists.txt | 4 +++-
 14 files changed, 42 insertions(+), 16 deletions(-)

diff --git a/Framework/Algorithms/CMakeLists.txt b/Framework/Algorithms/CMakeLists.txt
index e52f5655f97..fe6220b9ef3 100644
--- a/Framework/Algorithms/CMakeLists.txt
+++ b/Framework/Algorithms/CMakeLists.txt
@@ -982,7 +982,9 @@ enable_precompiled_headers ( inc/MantidAlgorithms/PrecompiledHeader.h SRC_FILES
 add_library ( Algorithms ${SRC_FILES} ${C_SRC_FILES} ${INC_FILES})
 # Set the name of the generated library
 set_target_properties ( Algorithms PROPERTIES OUTPUT_NAME MantidAlgorithms
-						           COMPILE_DEFINITIONS "IN_MANTID_ALGORITHMS" )
+  COMPILE_DEFINITIONS "IN_MANTID_ALGORITHMS"
+  LIBRARY_OUTPUT_DIRECTORY ${PLUGINS_LIBRARY_OUTPUT_DIRECTORY}
+)
 
 if (OSX_VERSION VERSION_GREATER 10.8)
   set_target_properties ( Algorithms PROPERTIES INSTALL_RPATH "@loader_path/../Contents/MacOS")
diff --git a/Framework/Crystal/CMakeLists.txt b/Framework/Crystal/CMakeLists.txt
index 2564cf192e6..907123ba407 100644
--- a/Framework/Crystal/CMakeLists.txt
+++ b/Framework/Crystal/CMakeLists.txt
@@ -231,8 +231,10 @@ endif()
 # Add the target for this directory
 add_library ( Crystal ${SRC_FILES} ${INC_FILES})
 # Set the name of the generated library
-set_target_properties ( Crystal PROPERTIES OUTPUT_NAME MantidCrystal 
-                                           INSTALL_RPATH "@loader_path/../Contents/MacOS/")
+set_target_properties ( Crystal PROPERTIES OUTPUT_NAME MantidCrystal
+  LIBRARY_OUTPUT_DIRECTORY ${PLUGINS_LIBRARY_OUTPUT_DIRECTORY}
+  INSTALL_RPATH "@loader_path/../Contents/MacOS/"
+)
 # Add to the 'Framework' group in VS
 set_property ( TARGET Crystal PROPERTY FOLDER "MantidFramework" )
 
diff --git a/Framework/CurveFitting/CMakeLists.txt b/Framework/CurveFitting/CMakeLists.txt
index 47cb626b622..15bdbc5a3e1 100644
--- a/Framework/CurveFitting/CMakeLists.txt
+++ b/Framework/CurveFitting/CMakeLists.txt
@@ -479,7 +479,9 @@ enable_precompiled_headers( inc/MantidCurveFitting/PrecompiledHeader.h SRC_FILES
 add_library ( CurveFitting ${SRC_FILES} ${INC_FILES})
 # Set the name of the generated library
 set_target_properties ( CurveFitting PROPERTIES OUTPUT_NAME MantidCurveFitting 
-                                     COMPILE_DEFINITIONS IN_MANTID_CURVEFITTING )
+  COMPILE_DEFINITIONS IN_MANTID_CURVEFITTING
+  LIBRARY_OUTPUT_DIRECTORY ${PLUGINS_LIBRARY_OUTPUT_DIRECTORY}
+)
 
 if (OSX_VERSION VERSION_GREATER 10.8)
   set_target_properties ( CurveFitting PROPERTIES INSTALL_RPATH "@loader_path/../Contents/MacOS")
diff --git a/Framework/DataHandling/CMakeLists.txt b/Framework/DataHandling/CMakeLists.txt
index 9f540948354..18d96d34c19 100644
--- a/Framework/DataHandling/CMakeLists.txt
+++ b/Framework/DataHandling/CMakeLists.txt
@@ -522,7 +522,9 @@ enable_precompiled_headers( inc/MantidDataHandling/PrecompiledHeader.h SRC_FILES
 add_library ( DataHandling ${SRC_FILES} ${INC_FILES})
 # Set the name of the generated library
 set_target_properties ( DataHandling PROPERTIES OUTPUT_NAME MantidDataHandling
-                        COMPILE_DEFINITIONS "IN_MANTID_DATAHANDLING")
+  COMPILE_DEFINITIONS "IN_MANTID_DATAHANDLING"
+  LIBRARY_OUTPUT_DIRECTORY ${PLUGINS_LIBRARY_OUTPUT_DIRECTORY}
+)
 
 if (OSX_VERSION VERSION_GREATER 10.8)
   set_target_properties ( DataHandling PROPERTIES INSTALL_RPATH "@loader_path/../Contents/MacOS")
diff --git a/Framework/ICat/CMakeLists.txt b/Framework/ICat/CMakeLists.txt
index af769ecacda..1eb9ee98535 100644
--- a/Framework/ICat/CMakeLists.txt
+++ b/Framework/ICat/CMakeLists.txt
@@ -86,7 +86,9 @@ enable_precompiled_headers( inc/MantidICat/PrecompiledHeader.h SRC_FILES )
 add_library ( ICat ${SRC_FILES} ${INC_FILES})
 # Set the name of the generated library
 set_target_properties ( ICat PROPERTIES OUTPUT_NAME MantidICat 
-                                        COMPILE_DEFINITIONS IN_MANTID_ICAT )
+  COMPILE_DEFINITIONS IN_MANTID_ICAT
+  LIBRARY_OUTPUT_DIRECTORY ${PLUGINS_LIBRARY_OUTPUT_DIRECTORY}
+)
 
 if (OSX_VERSION VERSION_GREATER 10.8)
   set_target_properties ( ICat PROPERTIES INSTALL_RPATH "@loader_path/../Contents/MacOS")
diff --git a/Framework/Kernel/CMakeLists.txt b/Framework/Kernel/CMakeLists.txt
index fb943e2e6ae..37e30a7cf84 100644
--- a/Framework/Kernel/CMakeLists.txt
+++ b/Framework/Kernel/CMakeLists.txt
@@ -559,7 +559,7 @@ if ( ${CMAKE_PROJECT_NAME} STREQUAL "MantidFramework" )
   set ( MANTID_ROOT ${CMAKE_SOURCE_DIR}/.. )
 endif ()
 
-set ( PLUGINS "." )
+set ( PLUGINS "./plugins" )
 if ( MAKE_VATES )
   set ( PV_PLUGINS "./${PVPLUGINS_DIR}" )
   if ( MSVC )
diff --git a/Framework/LiveData/CMakeLists.txt b/Framework/LiveData/CMakeLists.txt
index ad931528fea..d689b80caa7 100644
--- a/Framework/LiveData/CMakeLists.txt
+++ b/Framework/LiveData/CMakeLists.txt
@@ -99,7 +99,9 @@ enable_precompiled_headers( inc/MantidLiveData/PrecompiledHeader.h SRC_FILES )
 # Add the target for this directory
 add_library ( LiveData ${SRC_FILES} ${INC_FILES})
 # Set the name of the generated library
-set_target_properties ( LiveData PROPERTIES OUTPUT_NAME MantidLiveData )
+set_target_properties ( LiveData PROPERTIES OUTPUT_NAME MantidLiveData
+  LIBRARY_OUTPUT_DIRECTORY ${PLUGINS_LIBRARY_OUTPUT_DIRECTORY}
+)
 
 if (OSX_VERSION VERSION_GREATER 10.8)
   set_target_properties ( LiveData PROPERTIES INSTALL_RPATH "@loader_path/../Contents/MacOS")
diff --git a/Framework/MDAlgorithms/CMakeLists.txt b/Framework/MDAlgorithms/CMakeLists.txt
index 7e36c7e3795..de5627ea6ee 100644
--- a/Framework/MDAlgorithms/CMakeLists.txt
+++ b/Framework/MDAlgorithms/CMakeLists.txt
@@ -401,7 +401,9 @@ enable_precompiled_headers( inc/MantidMDAlgorithms/PrecompiledHeader.h SRC_FILES
 add_library ( MDAlgorithms ${SRC_FILES} ${INC_FILES})
 # Set the name of the generated library
 set_target_properties ( MDAlgorithms PROPERTIES OUTPUT_NAME MantidMDAlgorithms 
-    COMPILE_DEFINITIONS IN_MANTID_MDALGORITHMS )
+    COMPILE_DEFINITIONS IN_MANTID_MDALGORITHMS
+    LIBRARY_OUTPUT_DIRECTORY ${PLUGINS_LIBRARY_OUTPUT_DIRECTORY}
+)
 
 if (OSX_VERSION VERSION_GREATER 10.8)
     set_target_properties ( MDAlgorithms PROPERTIES INSTALL_RPATH "@loader_path/../Contents/MacOS")
diff --git a/Framework/MPIAlgorithms/CMakeLists.txt b/Framework/MPIAlgorithms/CMakeLists.txt
index 664666802fe..af3f9076dfb 100644
--- a/Framework/MPIAlgorithms/CMakeLists.txt
+++ b/Framework/MPIAlgorithms/CMakeLists.txt
@@ -20,7 +20,10 @@ endif()
 # Add the target for this directory
 add_library ( MPIAlgorithms ${SRC_FILES} ${INC_FILES} )
 # Set the name of the generated library
-set_target_properties ( MPIAlgorithms PROPERTIES OUTPUT_NAME MantidMPIAlgorithms )
+set_target_properties ( MPIAlgorithms PROPERTIES
+  OUTPUT_NAME MantidMPIAlgorithms
+  LIBRARY_OUTPUT_DIRECTORY ${PLUGINS_LIBRARY_OUTPUT_DIRECTORY}
+)
 # Add to the 'Framework' group in VS
 set_property ( TARGET Algorithms PROPERTY FOLDER "MantidFramework" )
 
diff --git a/Framework/RemoteAlgorithms/CMakeLists.txt b/Framework/RemoteAlgorithms/CMakeLists.txt
index 64e6979fcef..fd5b35abb9c 100644
--- a/Framework/RemoteAlgorithms/CMakeLists.txt
+++ b/Framework/RemoteAlgorithms/CMakeLists.txt
@@ -91,7 +91,9 @@ endif()
 add_library ( RemoteAlgorithms ${SRC_FILES} ${INC_FILES})
 
 # Set the name of the generated library
-set_target_properties ( RemoteAlgorithms PROPERTIES OUTPUT_NAME MantidRemoteAlgorithms )
+set_target_properties ( RemoteAlgorithms PROPERTIES OUTPUT_NAME MantidRemoteAlgorithms
+  LIBRARY_OUTPUT_DIRECTORY ${PLUGINS_LIBRARY_OUTPUT_DIRECTORY}
+)
 
 if (OSX_VERSION VERSION_GREATER 10.8)
   set_target_properties ( RemoteAlgorithms PROPERTIES INSTALL_RPATH "@loader_path/../Contents/MacOS")
diff --git a/Framework/RemoteJobManagers/CMakeLists.txt b/Framework/RemoteJobManagers/CMakeLists.txt
index f7ec2d3721e..f91b05a4f2a 100644
--- a/Framework/RemoteJobManagers/CMakeLists.txt
+++ b/Framework/RemoteJobManagers/CMakeLists.txt
@@ -39,7 +39,9 @@ endif()
 add_library ( RemoteJobManagers ${SRC_FILES} ${INC_FILES})
 
 # Set the name of the generated library
-set_target_properties ( RemoteJobManagers PROPERTIES OUTPUT_NAME MantidRemoteJobManagers )
+set_target_properties ( RemoteJobManagers PROPERTIES OUTPUT_NAME MantidRemoteJobManagers
+  LIBRARY_OUTPUT_DIRECTORY ${PLUGINS_LIBRARY_OUTPUT_DIRECTORY}
+)
 
 if (OSX_VERSION VERSION_GREATER 10.8)
   set_target_properties ( RemoteJobManagers PROPERTIES INSTALL_RPATH "@loader_path/../Contents/MacOS")
diff --git a/Framework/SINQ/CMakeLists.txt b/Framework/SINQ/CMakeLists.txt
index 1a85a2dd811..b03cc3a0c12 100644
--- a/Framework/SINQ/CMakeLists.txt
+++ b/Framework/SINQ/CMakeLists.txt
@@ -142,7 +142,9 @@ enable_precompiled_headers ( inc/MantidSINQ/PrecompiledHeader.h SRC_FILES )
 add_library ( SINQ ${SRC_FILES} ${INC_FILES} )
 # Set the name of the generated library
 set_target_properties ( SINQ PROPERTIES OUTPUT_NAME MantidSINQ 
-                                        COMPILE_DEFINITIONS "IN_MANTID_SINQ" )
+  COMPILE_DEFINITIONS "IN_MANTID_SINQ"
+  LIBRARY_OUTPUT_DIRECTORY ${PLUGINS_LIBRARY_OUTPUT_DIRECTORY}
+)
 
 if (OSX_VERSION VERSION_GREATER 10.8)
   set_target_properties ( SINQ PROPERTIES INSTALL_RPATH "@loader_path/../Contents/MacOS")
diff --git a/Framework/ScriptRepository/CMakeLists.txt b/Framework/ScriptRepository/CMakeLists.txt
index c2bc2704c92..47d3110c12d 100644
--- a/Framework/ScriptRepository/CMakeLists.txt
+++ b/Framework/ScriptRepository/CMakeLists.txt
@@ -24,8 +24,9 @@ add_library ( ScriptRepository ${SRC_FILES} ${INC_FILES} )
 add_subdirectory ( test )
 # Set the name of the generated library
 set_target_properties ( ScriptRepository PROPERTIES OUTPUT_NAME MantidScriptRepository 
-                        COMPILE_DEFINITIONS IN_MANTID_SCRIPTREPO )
-
+  COMPILE_DEFINITIONS IN_MANTID_SCRIPTREPO
+  LIBRARY_OUTPUT_DIRECTORY ${PLUGINS_LIBRARY_OUTPUT_DIRECTORY}
+)
 if (OSX_VERSION VERSION_GREATER 10.8)
   set_target_properties ( ScriptRepository PROPERTIES INSTALL_RPATH "@loader_path/../Contents/MacOS")
 endif ()
diff --git a/Framework/WorkflowAlgorithms/CMakeLists.txt b/Framework/WorkflowAlgorithms/CMakeLists.txt
index 4f1403b1fc5..a308b90fced 100644
--- a/Framework/WorkflowAlgorithms/CMakeLists.txt
+++ b/Framework/WorkflowAlgorithms/CMakeLists.txt
@@ -119,7 +119,9 @@ enable_precompiled_headers( inc/MantidWorkflowAlgorithms/PrecompiledHeader.h SRC
 # Add the target for this directory
 add_library ( WorkflowAlgorithms ${SRC_FILES} ${INC_FILES})
 # Set the name of the generated library
-set_target_properties ( WorkflowAlgorithms PROPERTIES OUTPUT_NAME MantidWorkflowAlgorithms )
+set_target_properties ( WorkflowAlgorithms PROPERTIES OUTPUT_NAME MantidWorkflowAlgorithms
+  LIBRARY_OUTPUT_DIRECTORY ${PLUGINS_LIBRARY_OUTPUT_DIRECTORY}
+)
 
 if (OSX_VERSION VERSION_GREATER 10.8)
   set_target_properties ( WorkflowAlgorithms PROPERTIES INSTALL_RPATH "@loader_path/../Contents/MacOS")
-- 
GitLab