mirror of
https://github.com/boostorg/boost_install.git
synced 2026-07-21 13:13:30 +00:00
Install .dll files into (bindir) on non-Cygwin Windows as well; add --dlldir override support
This commit is contained in:
@@ -8,6 +8,7 @@ import path ;
|
||||
import stage ;
|
||||
|
||||
stage.add-install-dir cmakedir : cmake : libdir ;
|
||||
stage.add-install-dir dlldir : "" : bindir ;
|
||||
|
||||
# header-subdir
|
||||
|
||||
|
||||
+24
-6
@@ -488,7 +488,7 @@ rule generate-cmake-variant- ( target : sources * : properties * )
|
||||
print.text
|
||||
|
||||
"set_target_properties($(target) PROPERTIES"
|
||||
" IMPORTED_LOCATION_$(variant:U) \"${_BOOST_LIBDIR}/$(dll-name)\""
|
||||
" IMPORTED_LOCATION_$(variant:U) \"${_BOOST_DLLDIR}/$(dll-name)\""
|
||||
" )"
|
||||
""
|
||||
: true ;
|
||||
@@ -770,6 +770,10 @@ rule make-cmake-config ( target : sources * : properties * )
|
||||
libdir = [ path.relative-to $(cmakedir) $(libdir) ] ;
|
||||
.info " libdir=" $(libdir) ;
|
||||
|
||||
local dlldir = [ stage.get-dir dlldir : $(ps) : Boost ] ;
|
||||
dlldir = [ path.relative-to $(cmakedir) $(dlldir) ] ;
|
||||
.info " dlldir=" $(dlldir) ;
|
||||
|
||||
local lname = [ MATCH boost_(.*) : $(name) ] ;
|
||||
.info " lname=" $(lname) ;
|
||||
|
||||
@@ -837,6 +841,7 @@ rule make-cmake-config ( target : sources * : properties * )
|
||||
else
|
||||
{
|
||||
get-dir "_BOOST_LIBDIR" : $(libdir) ;
|
||||
get-dir "_BOOST_DLLDIR" : $(dlldir) ;
|
||||
|
||||
print.text
|
||||
|
||||
@@ -872,6 +877,7 @@ rule make-cmake-config ( target : sources * : properties * )
|
||||
"unset(_BOOST_LIBDIR)"
|
||||
"unset(_BOOST_INCLUDEDIR)"
|
||||
"unset(_BOOST_CMAKEDIR)"
|
||||
"unset(_BOOST_DLLDIR)"
|
||||
""
|
||||
"if(NOT __boost_variants AND (Boost_VERBOSE OR Boost_DEBUG))"
|
||||
" message(STATUS \" Library has no variants and is considered not found\")"
|
||||
@@ -1261,14 +1267,15 @@ rule boost-install ( libraries * )
|
||||
$(p).mark-target-as-explicit install-libraries-static ;
|
||||
|
||||
alias install-libraries-shared : install-libraries-shared- ;
|
||||
alias install-libraries-shared : install-libraries-shared-cygwin : <target-os>cygwin ;
|
||||
alias install-libraries-shared : install-libraries-shared-windows : <target-os>windows ;
|
||||
alias install-libraries-shared : install-libraries-shared-windows : <target-os>cygwin ;
|
||||
$(p).mark-target-as-explicit install-libraries-shared ;
|
||||
|
||||
install install-libraries-shared- : $(libraries) : <location>(libdir) <install-type>SHARED_LIB <install-type>PDB <install-dependencies>on <install-no-version-symlinks>on : <install-package>Boost ;
|
||||
$(p).mark-target-as-explicit install-libraries-shared- ;
|
||||
|
||||
install install-libraries-shared-cygwin : $(libraries) : <location>(bindir) <install-type>SHARED_LIB <install-type>PDB <install-dependencies>on <install-no-version-symlinks>on : <install-package>Boost ;
|
||||
$(p).mark-target-as-explicit install-libraries-shared-cygwin ;
|
||||
install install-libraries-shared-windows : $(libraries) : <location>(dlldir) <install-type>SHARED_LIB <install-type>PDB <install-dependencies>on <install-no-version-symlinks>on : <install-package>Boost ;
|
||||
$(p).mark-target-as-explicit install-libraries-shared-windows ;
|
||||
|
||||
install install-unprefixed-static : $(unprefixed) : <install-type>STATIC_LIB <conditional>@boost-install%install-subdir : <install-package>Boost ;
|
||||
$(p).mark-target-as-explicit install-unprefixed-static ;
|
||||
@@ -1316,6 +1323,7 @@ rule boost-install ( libraries * )
|
||||
|
||||
# If --{parent} is explicitly specified on the command line, then we need to
|
||||
# clear every dir setting in config files that depends on it
|
||||
|
||||
if [ MATCH --prefix=(.*) : [ modules.peek : ARGV ] ]
|
||||
{
|
||||
option.set exec-prefix : ;
|
||||
@@ -1325,18 +1333,28 @@ if [ MATCH --prefix=(.*) : [ modules.peek : ARGV ] ]
|
||||
option.set datadir : ;
|
||||
option.set datarootdir : ;
|
||||
option.set cmakedir : ;
|
||||
option.set dlldir : ;
|
||||
}
|
||||
|
||||
if [ MATCH --exec-prefix=(.*) : [ modules.peek : ARGV ] ]
|
||||
{
|
||||
option.set bindir : ;
|
||||
option.set libdir : ;
|
||||
option.set cmakedir : ;
|
||||
option.set dlldir : ;
|
||||
}
|
||||
if [ MATCH --libdir-prefix=(.*) : [ modules.peek : ARGV ] ]
|
||||
|
||||
if [ MATCH --bindir=(.*) : [ modules.peek : ARGV ] ]
|
||||
{
|
||||
option.set dlldir : ;
|
||||
}
|
||||
|
||||
if [ MATCH --libdir=(.*) : [ modules.peek : ARGV ] ]
|
||||
{
|
||||
option.set cmakedir : ;
|
||||
}
|
||||
if [ MATCH --dataroot-prefix=(.*) : [ modules.peek : ARGV ] ]
|
||||
|
||||
if [ MATCH --datarootdir=(.*) : [ modules.peek : ARGV ] ]
|
||||
{
|
||||
option.set datadir : ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user