From b21a8ef02a8c8cd8a2ad54992dd2145405ac1c59 Mon Sep 17 00:00:00 2001
From: Omveer <osingh@amu.ac.in>
Date: Fri, 30 Sep 2022 12:31:56 +0200
Subject: [PATCH] Target Properties are modified:

To extend visibility, GLOBAL option added to IMPORTED library Target
 KFParticle, AnalysisTreeBase, AnalysisTreeBase and NicaFeatures.
IMPORTED_LOCATION and INTERFACE_INCLUDE_DIRECTORIES
(List of public include directories requirements for a library)
properties are fixed for all Targets.

NicaDataFormat, NicaGen, NicaCut, and NicaAna IMPORTED library Targets
 added in InstallNicaFemto.cmake module.
---
 external/InstallAnalysisTree.cmake | 16 ++++++------
 external/InstallKFParticle.cmake   | 10 +++++--
 external/InstallNicaFemto.cmake    | 42 +++++++++++++++++++++++++-----
 3 files changed, 52 insertions(+), 16 deletions(-)

diff --git a/external/InstallAnalysisTree.cmake b/external/InstallAnalysisTree.cmake
index 43d3e6c20b..130d2fb3ae 100644
--- a/external/InstallAnalysisTree.cmake
+++ b/external/InstallAnalysisTree.cmake
@@ -38,18 +38,18 @@ ExternalProject_Add(ANALYSISTREE
         INSTALL_COMMAND  ${CMAKE_COMMAND} --build . --target install
         )
 
-add_library(AnalysisTreeBase SHARED IMPORTED)
-set_target_properties(AnalysisTreeBase PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib)
+add_library(AnalysisTreeBase SHARED IMPORTED GLOBAL)
+set_target_properties(AnalysisTreeBase PROPERTIES
+  IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}AnalysisTreeBase${CMAKE_SHARED_LIBRARY_SUFFIX}
+  INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_BINARY_DIR}/include)
 add_dependencies(AnalysisTreeBase ANALYSISTREE)
 
-add_library(AnalysisTreeInfra SHARED IMPORTED)
-set_target_properties(AnalysisTreeInfra PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib)
+add_library(AnalysisTreeInfra SHARED IMPORTED GLOBAL)
+set_target_properties(AnalysisTreeInfra PROPERTIES
+  IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}AnalysisTreeInfra${CMAKE_SHARED_LIBRARY_SUFFIX}
+  INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_BINARY_DIR}/include)
 add_dependencies(AnalysisTreeInfra ANALYSISTREE)
 
-set(AnalysisTree_LIB_DIR ${CMAKE_BINARY_DIR}/lib)
-set(AnalysisTree_LIBRARIES AnalysisTreeBase AnalysisTreeInfra)
-set(AnalysisTree_INCLUDE_DIR "${CMAKE_BINARY_DIR}/include")
-set(AnalysisTree_FOUND TRUE)
 
 foreach(LIB_NAME ${ANALYSISTREE_LIBNAME})
     Install( FILES
diff --git a/external/InstallKFParticle.cmake b/external/InstallKFParticle.cmake
index fc39403c4b..2bb5904a8b 100644
--- a/external/InstallKFParticle.cmake
+++ b/external/InstallKFParticle.cmake
@@ -27,6 +27,10 @@ If(ProjectUpdated)
   Message("KFParticle source directory was changed so build directory was deleted")  
 EndIf()
 
+if(NOT EXISTS ${CMAKE_BINARY_DIR}/include)
+  file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/include)
+endif()
+
 ExternalProject_Add(KFPARTICLE
   DEPENDS ${KF_DEPENDS_ON}
   BUILD_IN_SOURCE 0
@@ -49,8 +53,10 @@ ExternalProject_Add(KFPARTICLE
   INSTALL_COMMAND  ${CMAKE_COMMAND} --build . --target install
 )
 
-add_library(KFParticle SHARED IMPORTED)
-set_target_properties(KFParticle PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib)
+add_library(KFParticle SHARED IMPORTED GLOBAL)
+set_target_properties(KFParticle PROPERTIES
+  IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}KFParticle${CMAKE_SHARED_LIBRARY_SUFFIX}
+  INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_BINARY_DIR}/include)
 add_dependencies(KFParticle KFPARTICLE)
 
 set(KFParticle_LIB_DIR ${CMAKE_BINARY_DIR}/lib PARENT_SCOPE)
diff --git a/external/InstallNicaFemto.cmake b/external/InstallNicaFemto.cmake
index 5b3a5120c5..7284449c12 100644
--- a/external/InstallNicaFemto.cmake
+++ b/external/InstallNicaFemto.cmake
@@ -50,15 +50,45 @@ ExternalProject_Add(NICAFEMTO
   INSTALL_COMMAND  ${CMAKE_COMMAND} --build . --target install
 )
 
-add_library(NicaFeatures SHARED IMPORTED)
-set_target_properties(NicaFeatures PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib)
+add_library(NicaFeatures SHARED IMPORTED  GLOBAL)
+set_target_properties(NicaFeatures PROPERTIES 
+  IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}NicaFeatures${CMAKE_SHARED_LIBRARY_SUFFIX} 
+  INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_BINARY_DIR}/include
+  )
 add_dependencies(NicaFeatures NICAFEMTO)
 
 
-set(NicaFemto_LIBRARIES NicaFeatures PARENT_SCOPE)
-set(NicaFemto_LIB_DIR ${CMAKE_BINARY_DIR}/lib PARENT_SCOPE)
-set(NicaFemto_INCLUDE_DIR "${CMAKE_BINARY_DIR}/include" PARENT_SCOPE)
-set(NicaFemto_FOUND TRUE PARENT_SCOPE)
+add_library(NicaDataFormat SHARED IMPORTED  GLOBAL)
+set_target_properties(NicaDataFormat PROPERTIES
+  IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}NicaDataFormat${CMAKE_SHARED_LIBRARY_SUFFIX}
+  INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_BINARY_DIR}/include
+  )
+add_dependencies(NicaDataFormat NICAFEMTO)
+
+
+add_library(NicaGen SHARED IMPORTED  GLOBAL)
+set_target_properties(NicaGen PROPERTIES
+  IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}NicaGen${CMAKE_SHARED_LIBRARY_SUFFIX}
+  INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_BINARY_DIR}/include
+  )
+add_dependencies(NicaGen NICAFEMTO)
+
+
+add_library(NicaCut SHARED IMPORTED  GLOBAL)
+set_target_properties(NicaCut PROPERTIES
+  IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}NicaCut${CMAKE_SHARED_LIBRARY_SUFFIX}
+  INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_BINARY_DIR}/include
+  )
+add_dependencies(NicaCut NICAFEMTO)
+
+
+add_library(NicaAna SHARED IMPORTED  GLOBAL)
+set_target_properties(NicaAna PROPERTIES
+  IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}NicaAna${CMAKE_SHARED_LIBRARY_SUFFIX}
+  INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_BINARY_DIR}/include
+  )
+add_dependencies(NicaAna NICAFEMTO)
+
 
 foreach(LIB_NAME ${NICA_LIB_LIST})
   if(APPLE)
-- 
GitLab