@ -22,13 +22,13 @@ function(copy TARGET)
list ( LENGTH copy_lib_SRCS copy_lib_SRCS_len )
list ( LENGTH copy_lib_DSTS copy_lib_DSTS_len )
if ( NOT ${ copy_lib_SRCS_len } EQUAL ${ copy_lib_DSTS_len } )
if ( NOT ${ copy_lib_SRCS_len } EQUAL ${ copy_lib_DSTS_len } )
message ( FATAL_ERROR "${TARGET} source numbers are not equal to destination numbers" )
endif ( )
endif ( )
math ( EXPR len "${copy_lib_SRCS_len} - 1" )
add_custom_target ( ${ TARGET } DEPENDS ${ copy_lib_DEPS } )
foreach ( index RANGE ${ len } )
foreach ( index RANGE ${ len } )
list ( GET copy_lib_SRCS ${ index } src )
list ( GET copy_lib_DSTS ${ index } dst )
if ( WIN32 )
@ -41,22 +41,22 @@ function(copy TARGET)
if ( NOT "${src_files}" STREQUAL "" )
list ( REMOVE_DUPLICATES src_files )
endif ( )
endif ( )
add_custom_command ( TARGET ${ TARGET } PRE_BUILD
C O M M A N D $ { C M A K E _ C O M M A N D } - E m a k e _ d i r e c t o r y " $ { d s t } "
)
foreach ( src_file ${ src_files } )
foreach ( src_file ${ src_files } )
add_custom_command ( TARGET ${ TARGET } PRE_BUILD
C O M M A N D $ { C M A K E _ C O M M A N D } - E c o p y " $ { s r c _ f i l e } " " $ { d s t } "
C O M M E N T " c o p y i n g $ { s r c _ f i l e } - > $ { d s t } " )
endforeach ( )
else ( WIN32 ) # n o t w i n d o w s
endforeach ( )
else ( WIN32 ) # n o t w i n d o w s
add_custom_command ( TARGET ${ TARGET } PRE_BUILD
C O M M A N D m k d i r - p " $ { d s t } "
C O M M A N D c p - r " $ { s r c } " " $ { d s t } "
C O M M E N T " c o p y i n g $ { s r c } - > $ { d s t } " )
endif ( WIN32 )
endforeach ( )
endif ( WIN32 ) # n o t w i n d o w s
endforeach ( )
endfunction ( )
# t h i r d p a r t y
@ -65,46 +65,46 @@ copy(eigen3_lib
S R C S $ { E I G E N _ I N C L U D E _ D I R } / E i g e n / C o r e $ { E I G E N _ I N C L U D E _ D I R } / E i g e n / s r c $ { E I G E N _ I N C L U D E _ D I R } / u n s u p p o r t e d / E i g e n
D S T S $ { d s t _ d i r } / E i g e n $ { d s t _ d i r } / E i g e n $ { d s t _ d i r } / u n s u p p o r t e d
D E P S e i g e n 3
)
)
set ( dst_dir "${FLUID_INSTALL_DIR}/third_party/install/gflags" )
copy ( gflags_lib
S R C S $ { G F L A G S _ I N C L U D E _ D I R } $ { G F L A G S _ L I B R A R I E S }
D S T S $ { d s t _ d i r } $ { d s t _ d i r } / l i b
D E P S g f l a g s
)
)
set ( dst_dir "${FLUID_INSTALL_DIR}/third_party/install/glog" )
copy ( glog_lib
S R C S $ { G L O G _ I N C L U D E _ D I R } $ { G L O G _ L I B R A R I E S }
D S T S $ { d s t _ d i r } $ { d s t _ d i r } / l i b
D E P S g l o g
)
)
set ( dst_dir "${FLUID_INSTALL_DIR}/third_party/boost/" )
copy ( boost_lib
S R C S $ { B O O S T _ I N C L U D E _ D I R } / b o o s t
D S T S $ { d s t _ d i r }
D E P S b o o s t
)
)
set ( dst_dir "${FLUID_INSTALL_DIR}/third_party/install/xxhash" )
copy ( xxhash_lib
S R C S $ { X X H A S H _ I N C L U D E _ D I R } $ { X X H A S H _ L I B R A R I E S }
D S T S $ { d s t _ d i r } $ { d s t _ d i r } / l i b
D E P S x x h a s h
)
)
if ( NOT PROTOBUF_FOUND )
if ( NOT PROTOBUF_FOUND )
set ( dst_dir "${FLUID_INSTALL_DIR}/third_party/install/protobuf" )
copy ( protobuf_lib
S R C S $ { P R O T O B U F _ I N C L U D E _ D I R } $ { P R O T O B U F _ L I B R A R Y }
D S T S $ { d s t _ d i r } $ { d s t _ d i r } / l i b
D E P S e x t e r n _ p r o t o b u f
)
endif ( )
endif ( )
if ( NOT CBLAS_FOUND )
if ( NOT CBLAS_FOUND )
set ( dst_dir "${FLUID_INSTALL_DIR}/third_party/install/openblas" )
copy ( openblas_lib
S R C S $ { C B L A S _ I N S T A L L _ D I R } / l i b $ { C B L A S _ I N S T A L L _ D I R } / i n c l u d e
@ -118,19 +118,19 @@ elseif (WITH_MKLML)
D S T S $ { d s t _ d i r } / l i b $ { d s t _ d i r } / l i b $ { d s t _ d i r }
D E P S m k l m l
)
endif ( )
endif ( )
if ( WITH_MKLDNN )
if ( WITH_MKLDNN )
set ( dst_dir "${FLUID_INSTALL_DIR}/third_party/install/mkldnn" )
copy ( mkldnn_lib
S R C S $ { M K L D N N _ I N C _ D I R } $ { M K L D N N _ S H A R E D _ L I B }
D S T S $ { d s t _ d i r } $ { d s t _ d i r } / l i b
D E P S m k l d n n
)
endif ( )
endif ( )
if ( NOT WIN32 )
if ( NOT MOBILE_INFERENCE AND NOT RPI )
if ( NOT MOBILE_INFERENCE AND NOT RPI )
set ( dst_dir "${FLUID_INSTALL_DIR}/third_party/install/snappy" )
copy ( snappy_lib
S R C S $ { S N A P P Y _ I N C L U D E _ D I R } $ { S N A P P Y _ L I B R A R I E S }
@ -148,27 +148,27 @@ if(NOT MOBILE_INFERENCE AND NOT RPI)
S R C S $ { Z L I B _ I N C L U D E _ D I R } $ { Z L I B _ L I B R A R I E S }
D S T S $ { d s t _ d i r } $ { d s t _ d i r } / l i b
D E P S z l i b )
endif ( )
endif ( NOT WIN32 )
endif ( )
endif ( NOT WIN32 )
# p a d d l e f l u i d m o d u l e
set ( src_dir "${PADDLE_SOURCE_DIR}/paddle/fluid" )
set ( dst_dir "${FLUID_INSTALL_DIR}/paddle/fluid" )
set ( module "framework" )
if ( NOT WIN32 )
set ( framework_lib_deps framework_py_proto )
endif ( NOT WIN32 )
set ( framework_lib_deps framework_py_proto )
endif ( NOT WIN32 )
copy ( framework_lib DEPS ${ framework_lib_deps }
S R C S $ { s r c _ d i r } / $ { m o d u l e } / * . h $ { s r c _ d i r } / $ { m o d u l e } / d e t a i l s / * . h $ { P A D D L E _ B I N A R Y _ D I R } / p a d d l e / f l u i d / f r a m e w o r k / f r a m e w o r k . p b . h
$ { s r c _ d i r } / $ { m o d u l e } / i r / * . h
D S T S $ { d s t _ d i r } / $ { m o d u l e } $ { d s t _ d i r } / $ { m o d u l e } / d e t a i l s $ { d s t _ d i r } / $ { m o d u l e } $ { d s t _ d i r } / $ { m o d u l e } / i r
)
)
set ( module "memory" )
copy ( memory_lib
S R C S $ { s r c _ d i r } / $ { m o d u l e } / * . h $ { s r c _ d i r } / $ { m o d u l e } / d e t a i l / * . h
D S T S $ { d s t _ d i r } / $ { m o d u l e } $ { d s t _ d i r } / $ { m o d u l e } / d e t a i l
)
)
set ( inference_deps paddle_fluid_shared paddle_fluid )
@ -180,7 +180,7 @@ if (WITH_ANAKIN AND WITH_MKL)
$ { A N A K I N _ I N S T A L L _ D I R } # a n a k i n r e l e a s e
D S T S $ { F L U I D _ I N S T A L L _ D I R } / t h i r d _ p a r t y / i n s t a l l / a n a k i n $ { F L U I D _ I N S T A L L _ D I R } / t h i r d _ p a r t y / i n s t a l l / a n a k i n )
list ( APPEND inference_deps anakin_inference_lib )
endif ( )
endif ( )
set ( module "inference" )
copy ( inference_lib DEPS ${ inference_deps }
@ -188,25 +188,25 @@ copy(inference_lib DEPS ${inference_deps}
$ { s r c _ d i r } / $ { m o d u l e } / a p i / p a d d l e _ i n f e r e n c e _ a p i . h
$ { P A D D L E _ B I N A R Y _ D I R } / p a d d l e / f l u i d / i n f e r e n c e / a p i / p a d d l e _ i n f e r e n c e _ p a s s . h
D S T S $ { d s t _ d i r } / $ { m o d u l e } $ { d s t _ d i r } / $ { m o d u l e } $ { d s t _ d i r } / $ { m o d u l e } $ { d s t _ d i r } / $ { m o d u l e }
)
)
set ( module "platform" )
copy ( platform_lib DEPS profiler_py_proto
S R C S $ { s r c _ d i r } / $ { m o d u l e } / * . h $ { s r c _ d i r } / $ { m o d u l e } / d y n l o a d / * . h $ { s r c _ d i r } / $ { m o d u l e } / d e t a i l s / * . h
D S T S $ { d s t _ d i r } / $ { m o d u l e } $ { d s t _ d i r } / $ { m o d u l e } / d y n l o a d $ { d s t _ d i r } / $ { m o d u l e } / d e t a i l s
)
)
set ( module "string" )
copy ( string_lib
S R C S $ { s r c _ d i r } / $ { m o d u l e } / * . h $ { s r c _ d i r } / $ { m o d u l e } / t i n y f o r m a t / * . h
D S T S $ { d s t _ d i r } / $ { m o d u l e } $ { d s t _ d i r } / $ { m o d u l e } / t i n y f o r m a t
)
)
set ( module "pybind" )
copy ( pybind_lib
S R C S $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / p a d d l e / f l u i d / $ { m o d u l e } / p y b i n d . h
D S T S $ { d s t _ d i r } / $ { m o d u l e }
)
)
# C M a k e C a c h e I n f o
copy ( cmake_cache
@ -221,14 +221,14 @@ add_custom_target(fluid_lib_dist DEPENDS ${fluid_lib_dist_dep})
copy ( third_party DEPS fluid_lib_dist
S R C S $ { F L U I D _ I N S T A L L _ D I R } / t h i r d _ p a r t y $ { F L U I D _ I N S T A L L _ D I R } / C M a k e C a c h e . t x t
D S T S $ { F L U I D _ I N F E R E N C E _ I N S T A L L _ D I R } $ { F L U I D _ I N F E R E N C E _ I N S T A L L _ D I R }
)
)
# o n l y n e e d l i b p a d d l e _ f l u i d . s o / a a n d p a d d l e _ i n f e r e n c e _ a p i . h f o r i n f e r e n c e - o n l y l i b r a r y
copy ( inference_api_lib DEPS fluid_lib_dist
S R C S $ { F L U I D _ I N S T A L L _ D I R } / p a d d l e / f l u i d / i n f e r e n c e / l i b p a d d l e _ f l u i d . *
$ { F L U I D _ I N S T A L L _ D I R } / p a d d l e / f l u i d / i n f e r e n c e / p a d d l e _ i n f e r e n c e _ a p i . h
D S T S $ { F L U I D _ I N F E R E N C E _ I N S T A L L _ D I R } / p a d d l e / l i b $ { F L U I D _ I N F E R E N C E _ I N S T A L L _ D I R } / p a d d l e / i n c l u d e
)
)
add_custom_target ( inference_lib_dist DEPENDS third_party inference_api_lib )
@ -243,11 +243,11 @@ function(version version_file)
" W I T H _ M K L : $ { W I T H _ M K L } \ n "
" W I T H _ M K L D N N : $ { W I T H _ M K L D N N } \ n "
" W I T H _ G P U : $ { W I T H _ G P U } \ n " )
if ( WITH_GPU )
if ( WITH_GPU )
file ( APPEND ${ version_file }
" C U D A v e r s i o n : $ { C U D A _ V E R S I O N } \ n "
" C U D N N v e r s i o n : v $ { C U D N N _ M A J O R _ V E R S I O N } \ n " )
endif ( )
endif ( )
endfunction ( )
version ( ${ FLUID_INSTALL_DIR } /version.txt )
version ( ${ FLUID_INFERENCE_INSTALL_DIR } /version.txt )