Revision: 70013
          http://sourceforge.net/p/brlcad/code/70013
Author:   starseeker
Date:     2017-07-28 17:36:24 +0000 (Fri, 28 Jul 2017)
Log Message:
-----------
see if we can rework the tcl_pkgindex writer to not use LOCATION, which is on 
its way out.

Modified Paths:
--------------
    brlcad/trunk/misc/CMake/TCL_PKGINDEX.cmake
    brlcad/trunk/src/other/incrTcl/itcl/CMakeLists.txt
    brlcad/trunk/src/other/incrTcl/itk/CMakeLists.txt

Modified: brlcad/trunk/misc/CMake/TCL_PKGINDEX.cmake
===================================================================
--- brlcad/trunk/misc/CMake/TCL_PKGINDEX.cmake  2017-07-28 15:01:54 UTC (rev 
70012)
+++ brlcad/trunk/misc/CMake/TCL_PKGINDEX.cmake  2017-07-28 17:36:24 UTC (rev 
70013)
@@ -35,45 +35,43 @@
 #============================================================
 # TCL_PKGINDEX
 #============================================================
-macro(TCL_PKGINDEX target pkgname pkgversion)
+function(TCL_PKGINDEX target pkgname pkgversion)
+
+  # Identify the shared library suffix to be used
+  set(lname 
${CMAKE_SHARED_LIBRARY_PREFIX}${target}${CMAKE_SHARED_LIBRARY_SUFFIX})
+
+  # Create a "working" pkgIndex.tcl file that will allow
+  # the package to work from the build directory
+  set(lld_install "${LIB_DIR}")
+  if(MSVC)
+    set(lld_install "${BIN_DIR}")
+  endif(MSVC)
   if(NOT CMAKE_CONFIGURATION_TYPES)
-    set(loadable_libdir_build "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
-    set(loadable_libdir_install "${LIB_DIR}")
-        if(CMAKE_BUILD_TYPE)
-      get_target_property(target_LIBLOCATION ${target} 
LOCATION_${CMAKE_BUILD_TYPE})
-    else(CMAKE_BUILD_TYPE)
-      get_target_property(target_LIBLOCATION ${target} LOCATION)
-        endif(CMAKE_BUILD_TYPE)
-    get_filename_component(target_LIBNAME ${target_LIBLOCATION} NAME)
-    file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/pkgIndex.tcl" "package ifneeded 
${pkgname} ${pkgversion} [list load [file join $dir .. .. 
\"${loadable_libdir_install}\" ${target_LIBNAME}] ${pkgname}]")
-    install(FILES "${CMAKE_CURRENT_BINARY_DIR}/pkgIndex.tcl" DESTINATION 
lib/${pkgname}${pkgversion})
-    file(WRITE "${CMAKE_BINARY_DIR}/lib/${pkgname}${pkgversion}/pkgIndex.tcl" 
"package ifneeded ${pkgname} ${pkgversion} [list load [file join $dir 
\"${loadable_libdir_build}\" ${target_LIBNAME}] ${pkgname}]")
-    DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/pkgIndex.tcl")
+    set(lld_build "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
+    set(bpkgindex 
"${CMAKE_BINARY_DIR}/lib/${pkgname}${pkgversion}/pkgIndex.tcl")
+    file(WRITE "${bpkgindex}" "package ifneeded ${pkgname} ${pkgversion} [list 
load [file join $dir \"${lld_build}\" ${lname}] ${pkgname}]")
     DISTCLEAN("${CMAKE_BINARY_DIR}/lib/${pkgname}${pkgversion}")
   else(NOT CMAKE_CONFIGURATION_TYPES)
-    if(MSVC)
-      set(loadable_libdir_install "${BIN_DIR}")
-    else(MSVC)
-      set(loadable_libdir_install "${LIB_DIR}")
-    endif(MSVC)
-    DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/pkgIndex.tcl")
     foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
       string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
+      set(bpkgindex 
"${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}}/${pkgname}${pkgversion}/pkgIndex.tcl")
+      set(lld_build "${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}}")
       if(MSVC)
-       set(loadable_libdir_build 
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}}")
-      else(MSVC)
-       set(loadable_libdir_build 
"${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}}")
+       set(lld_build "${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}}")
       endif(MSVC)
-      get_target_property(target_LIBLOCATION ${target} 
LOCATION_${CFG_TYPE_UPPER})
-      get_filename_component(target_LIBNAME ${target_LIBLOCATION} NAME)
-      file(WRITE 
${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}}/${pkgname}${pkgversion}/pkgIndex.tcl
 "package ifneeded ${pkgname} ${pkgversion} [list load [file join $dir 
\"${loadable_libdir_build}\" ${target_LIBNAME}] ${pkgname}]")
+      file(WRITE "${bpkgindex}" "package ifneeded ${pkgname} ${pkgversion} 
[list load [file join $dir \"${lld_build}\" ${lname}] ${pkgname}]")
       
DISTCLEAN(${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}}/${pkgname}${pkgversion})
     endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
-    file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/pkgIndex.tcl" "package ifneeded 
${pkgname} ${pkgversion} [list load [file join $dir .. .. 
\"${loadable_libdir_install}\" ${target_LIBNAME}] ${pkgname}]")
-    install(FILES "${CMAKE_CURRENT_BINARY_DIR}/pkgIndex.tcl" DESTINATION 
lib/${pkgname}${pkgversion})
   endif(NOT CMAKE_CONFIGURATION_TYPES)
-endmacro(TCL_PKGINDEX)
 
+  # Create the file Tcl will use once installed
+  set(ipkgindex "${CMAKE_CURRENT_BINARY_DIR}/pkgIndex.tcl")
+  file(WRITE "${ipkgindex}" "package ifneeded ${pkgname} ${pkgversion} [list 
load [file join $dir .. .. \"${lld_install}\" ${lname}] ${pkgname}]")
+  install(FILES "${ipkgindex}" DESTINATION lib/${pkgname}${pkgversion})
+  DISTCLEAN("${ipkgindex}")
+
+endfunction(TCL_PKGINDEX)
+
 # Local Variables:
 # tab-width: 8
 # mode: cmake

Modified: brlcad/trunk/src/other/incrTcl/itcl/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/other/incrTcl/itcl/CMakeLists.txt  2017-07-28 15:01:54 UTC 
(rev 70012)
+++ brlcad/trunk/src/other/incrTcl/itcl/CMakeLists.txt  2017-07-28 17:36:24 UTC 
(rev 70013)
@@ -167,7 +167,6 @@
   add_library(itcl ${ITCL_GENERIC_SRCS})
 ENDIF(WIN32)
 target_link_libraries(itcl ${M_LIBRARY} ${TCL_STUB_LIBRARIES} )
-SET_TARGET_PROPERTIES(itcl PROPERTIES PREFIX "lib")
 SET_TARGET_PROPERTIES(itcl PROPERTIES VERSION ${ITCL_VERSION} SOVERSION 
${ITCL_VERSION_MAJOR})
 SET_PROPERTY(TARGET itcl APPEND PROPERTY COMPILE_DEFINITIONS USE_TCL_STUBS)
 install(TARGETS itcl 

Modified: brlcad/trunk/src/other/incrTcl/itk/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/other/incrTcl/itk/CMakeLists.txt   2017-07-28 15:01:54 UTC 
(rev 70012)
+++ brlcad/trunk/src/other/incrTcl/itk/CMakeLists.txt   2017-07-28 17:36:24 UTC 
(rev 70013)
@@ -189,7 +189,6 @@
   target_link_libraries(itk ${TCL_LIBRARIES} ${ITCL_LIBRARY})
 ENDIF(WIN32)
 SET_TARGET_PROPERTIES(itk PROPERTIES VERSION ${ITK_VERSION} SOVERSION 
${ITK_VERSION_MAJOR})
-SET_TARGET_PROPERTIES(itk PROPERTIES PREFIX "lib")
 install(TARGETS itk
   RUNTIME DESTINATION ${BIN_DIR}
   LIBRARY DESTINATION ${LIB_DIR}

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to