@ -32,193 +32,6 @@ IF(PYTHONINTERP_FOUND)
MESSAGE ( FATAL_ERROR "Found Python Protobuf ${PY_GOOGLE.PROTOBUF_VERSION} < 3.0.0, "
" p l e a s e u s e p i p t o u p g r a d e p r o t o b u f . p i p i n s t a l l - U p r o t o b u f " )
ENDIF ( )
ELSE ( PYTHONINTERP_FOUND )
MESSAGE ( FATAL_ERROR "Please install python 2.7 before building PaddlePaddle." )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # P Y T H O N # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
SET ( PYTHON_SOURCES_DIR ${ THIRD_PARTY_PATH } /python )
SET ( PYTHON_INSTALL_DIR ${ THIRD_PARTY_PATH } /install/python )
SET ( _python_DIR ${ PYTHON_INSTALL_DIR } )
IF ( UNIX )
SET ( PYTHON_FOUND ON )
SET ( PYTHON_INCLUDE_DIR "${PYTHON_INSTALL_DIR}/include/python2.7" CACHE PATH "Python include dir" FORCE )
SET ( PYTHON_LIBRARIES "${PYTHON_INSTALL_DIR}/lib/libpython2.7.a" CACHE FILEPATH "Python library" FORCE )
SET ( PYTHON_EXECUTABLE ${ PYTHON_INSTALL_DIR } /bin/python CACHE FILEPATH "Python executable" FORCE )
SET ( PY_SITE_PACKAGES_PATH "${PYTHON_INSTALL_DIR}/lib/python2.7/site-packages" CACHE PATH "Python site-packages path" FORCE )
ELSEIF ( WIN32 )
SET ( PYTHON_FOUND ON )
SET ( PYTHON_INCLUDE_DIR "${PYTHON_INSTALL_DIR}/include" CACHE PATH "Python include dir" FORCE )
SET ( PYTHON_LIBRARIES "${PYTHON_INSTALL_DIR}/libs/python27.lib" CACHE FILEPATH "Python library" FORCE )
SET ( PYTHON_EXECUTABLE "${PYTHON_INSTALL_DIR}/bin/python.exe" CACHE FILEPATH "Python executable" FORCE )
SET ( PY_SITE_PACKAGES_PATH "${PYTHON_INSTALL_DIR}/Lib/site-packages" CACHE PATH "Python site-packages path" FORCE )
ELSE ( )
MESSAGE ( FATAL_ERROR "Unknown system !" )
ENDIF ( )
IF ( APPLE )
LIST ( APPEND EXTERNAL_PROJECT_OPTIONAL_CMAKE_ARGS
- D C M A K E _ B U I L D _ W I T H _ I N S T A L L _ R P A T H : B O O L = O N
)
ENDIF ( )
SET ( EXTERNAL_PROJECT_OPTIONAL_CMAKE_CACHE_ARGS )
# F o r c e P y t h o n b u i l d t o " R e l e a s e " .
IF ( CMAKE_CONFIGURATION_TYPES )
SET ( SAVED_CMAKE_CFG_INTDIR ${ CMAKE_CFG_INTDIR } )
SET ( CMAKE_CFG_INTDIR "Release" )
ELSE ( )
LIST ( APPEND EXTERNAL_PROJECT_OPTIONAL_CMAKE_CACHE_ARGS
- D C M A K E _ B U I L D _ T Y P E : S T R I N G = R e l e a s e
)
ENDIF ( )
ExternalProject_Add ( python
$ { E X T E R N A L _ P R O J E C T _ L O G _ A R G S }
G I T _ R E P O S I T O R Y " h t t p s : / / g i t h u b . c o m / p y t h o n - c m a k e - b u i l d s y s t e m / p y t h o n - c m a k e - b u i l d s y s t e m . g i t "
P R E F I X $ { P Y T H O N _ S O U R C E S _ D I R }
U P D A T E _ C O M M A N D " "
C M A K E _ A R G S - D P Y T H O N _ V E R S I O N = 2 . 7 . 1 2
C M A K E _ A R G S - D C M A K E _ C X X _ C O M P I L E R = $ { C M A K E _ C X X _ C O M P I L E R }
C M A K E _ A R G S - D C M A K E _ C _ C O M P I L E R = $ { C M A K E _ C _ C O M P I L E R }
C M A K E _ C A C H E _ A R G S
- D C M A K E _ I N S T A L L _ P R E F I X : P A T H = $ { P Y T H O N _ I N S T A L L _ D I R }
- D B U I L D _ L I B P Y T H O N _ S H A R E D : B O O L = O F F
- D U S E _ S Y S T E M _ L I B R A R I E S : B O O L = O F F
- D Z L I B _ R O O T : F I L E P A T H = $ { Z L I B _ R O O T }
- D Z L I B _ I N C L U D E _ D I R : P A T H = $ { Z L I B _ I N C L U D E _ D I R }
- D Z L I B _ L I B R A R Y : F I L E P A T H = $ { Z L I B _ L I B R A R I E S }
- D D O W N L O A D _ S O U R C E S : B O O L = O N
- D I N S T A L L _ W I N D O W S _ T R A D I T I O N A L : B O O L = O F F
$ { E X T E R N A L _ P R O J E C T _ O P T I O N A L _ C M A K E _ C A C H E _ A R G S }
$ { E X T E R N A L _ P R O J E C T _ O P T I O N A L _ C M A K E _ A R G S }
D E P E N D S z l i b
)
SET ( py_env
P A T H = $ { P Y T H O N _ I N S T A L L _ D I R } / b i n
P Y T H O N H O M E = $ { P Y T H O N _ I N S T A L L _ D I R }
P Y T H O N P A T H = $ { P Y T H O N _ I N S T A L L _ D I R } / l i b : $ { P Y T H O N _ I N S T A L L _ D I R } / l i b / p y t h o n 2 . 7 : $ { P Y _ S I T E _ P A C K A G E S _ P A T H } )
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # S E T U P T O O L S # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
SET ( SETUPTOOLS_SOURCES_DIR ${ PYTHON_SOURCES_DIR } /setuptools )
ExternalProject_Add ( setuptools
$ { E X T E R N A L _ P R O J E C T _ L O G _ A R G S }
P R E F I X $ { S E T U P T O O L S _ S O U R C E S _ D I R }
U R L " h t t p s : / / p y p i . p y t h o n . o r g / p a c k a g e s / s o u r c e / s / s e t u p t o o l s / s e t u p t o o l s - 1 8 . 3 . 2 . t a r . g z "
B U I L D _ I N _ S O U R C E 1
P A T C H _ C O M M A N D " "
U P D A T E _ C O M M A N D " "
C O N F I G U R E _ C O M M A N D " "
I N S T A L L _ C O M M A N D " "
B U I L D _ C O M M A N D e n v $ { p y _ e n v } $ { P Y T H O N _ E X E C U T A B L E } s e t u p . p y i n s t a l l
D E P E N D S p y t h o n z l i b
)
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # S I X # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
SET ( SIX_SOURCES_DIR ${ PYTHON_SOURCES_DIR } /six )
ExternalProject_Add ( six
$ { E X T E R N A L _ P R O J E C T _ L O G _ A R G S }
P R E F I X $ { S I X _ S O U R C E S _ D I R }
U R L h t t p s : / / p y p i . p y t h o n . o r g / p a c k a g e s / s o u r c e / s / s i x / s i x - 1 . 1 0 . 0 . t a r . g z
B U I L D _ I N _ S O U R C E 1
P A T C H _ C O M M A N D " "
U P D A T E _ C O M M A N D " "
C O N F I G U R E _ C O M M A N D " "
I N S T A L L _ C O M M A N D " "
B U I L D _ C O M M A N D e n v $ { p y _ e n v } $ { P Y T H O N _ E X E C U T A B L E } s e t u p . p y i n s t a l l
D E P E N D S p y t h o n s e t u p t o o l s
)
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # C Y T H O N # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
SET ( CYTHON_SOURCES_DIR ${ PYTHON_SOURCES_DIR } /cython )
ExternalProject_Add ( cython
$ { E X T E R N A L _ P R O J E C T _ L O G _ A R G S }
P R E F I X $ { C Y T H O N _ S O U R C E S _ D I R }
U R L h t t p s : / / g i t h u b . c o m / c y t h o n / c y t h o n / a r c h i v e / 0 . 2 5 . 2 . t a r . g z
G I T _ T A G 0 . 2 5 . 2
B U I L D _ I N _ S O U R C E 1
C O N F I G U R E _ C O M M A N D " "
P A T C H _ C O M M A N D " "
U P D A T E _ C O M M A N D " "
I N S T A L L _ C O M M A N D " "
B U I L D _ C O M M A N D e n v $ { p y _ e n v } $ { P Y T H O N _ E X E C U T A B L E } s e t u p . p y i n s t a l l
D E P E N D S p y t h o n
)
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # N U M P Y # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
SET ( NUMPY_SOURCES_DIR ${ PYTHON_SOURCES_DIR } /numpy )
SET ( NUMPY_TAG_VERSION "v1.11.3" )
SET ( NUMPY_VERSION "1.11.3" )
SET ( EGG_NAME "" )
SET ( PYTHON_NUMPY_INCLUDE_DIR "" )
IF ( WIN32 )
SET ( EGG_NAME "numpy-${NUMPY_VERSION}-py2.7-${HOST_SYSTEM}.egg" )
ELSE ( WIN32 )
IF ( APPLE )
SET ( EGG_NAME "numpy-${NUMPY_VERSION}-py2.7-${HOST_SYSTEM}-${MACOS_VERSION}" )
ELSE ( APPLE )
SET ( EGG_NAME "numpy-${NUMPY_VERSION}-py2.7-linux" )
SET ( EGG_NAME "numpy-${NUMPY_VERSION}-py2.7-linux" )
ENDIF ( APPLE )
FOREACH ( suffix x86_64 intel fat64 fat32 universal )
LIST ( APPEND PYTHON_NUMPY_INCLUDE_DIR ${ PY_SITE_PACKAGES_PATH } / ${ EGG_NAME } - ${ suffix } .egg/numpy/core/include )
ENDFOREACH ( )
ENDIF ( WIN32 )
ExternalProject_Add ( numpy
$ { E X T E R N A L _ P R O J E C T _ L O G _ A R G S }
G I T _ R E P O S I T O R Y h t t p s : / / g i t h u b . c o m / n u m p y / n u m p y . g i t
G I T _ T A G $ { N U M P Y _ T A G _ V E R S I O N }
C O N F I G U R E _ C O M M A N D " "
U P D A T E _ C O M M A N D " "
P R E F I X $ { N U M P Y _ S O U R C E S _ D I R }
B U I L D _ C O M M A N D e n v $ { p y _ e n v } $ { P Y T H O N _ E X E C U T A B L E } s e t u p . p y b u i l d
I N S T A L L _ C O M M A N D e n v $ { p y _ e n v } $ { P Y T H O N _ E X E C U T A B L E } s e t u p . p y i n s t a l l
B U I L D _ I N _ S O U R C E 1
D E P E N D S p y t h o n s e t u p t o o l s c y t h o n
)
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # W H E E L # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
SET ( WHEEL_SOURCES_DIR ${ PYTHON_SOURCES_DIR } /wheel )
ExternalProject_Add ( wheel
$ { E X T E R N A L _ P R O J E C T _ L O G _ A R G S }
U R L h t t p s : / / p y p i . p y t h o n . o r g / p a c k a g e s / s o u r c e / w / w h e e l / w h e e l - 0 . 2 9 . 0 . t a r . g z
P R E F I X $ { W H E E L _ S O U R C E S _ D I R }
C O N F I G U R E _ C O M M A N D " "
U P D A T E _ C O M M A N D " "
B U I L D _ C O M M A N D " "
I N S T A L L _ C O M M A N D e n v $ { p y _ e n v } $ { P Y T H O N _ E X E C U T A B L E } s e t u p . p y i n s t a l l
B U I L D _ I N _ S O U R C E 1
D E P E N D S p y t h o n s e t u p t o o l s
)
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # P R O T O B U F # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
SET ( PY_PROTOBUF_SOURCES_DIR ${ PYTHON_SOURCES_DIR } /protobuf )
ExternalProject_Add ( python-protobuf
$ { E X T E R N A L _ P R O J E C T _ L O G _ A R G S }
U R L h t t p s : / / p y p i . p y t h o n . o r g / p a c k a g e s / e 0 / b 0 / 0 a 1 b 3 6 4 f e 8 a 7 d 1 7 7 b 4 b 7 d 4 d c a 5 b 7 9 8 5 0 0 d c 5 7 a 7 2 7 3 b 9 3 c c a 7 3 9 3 1 b 3 0 5 a 6 a / p r o t o b u f - 3 . 1 . 0 . p o s t 1 . t a r . g z
U R L _ M D 5 3 8 b 5 f b 1 6 0 c 7 6 8 d 2 f 8 4 4 4 d 0 c 6 d 6 3 7 f f 9 1
P R E F I X $ { P Y _ P R O T O B U F _ S O U R C E S _ D I R }
B U I L D _ I N _ S O U R C E 1
P A T C H _ C O M M A N D " "
C O N F I G U R E _ C O M M A N D " "
B U I L D _ C O M M A N D e n v $ { p y _ e n v } $ { P Y T H O N _ E X E C U T A B L E } s e t u p . p y b u i l d
I N S T A L L _ C O M M A N D e n v $ { p y _ e n v } $ { P Y T H O N _ E X E C U T A B L E } s e t u p . p y i n s t a l l
D E P E N D S p y t h o n s e t u p t o o l s s i x
)
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
LIST ( APPEND external_project_dependencies python setuptools six cython wheel python-protobuf numpy )
ENDIF ( PYTHONINTERP_FOUND )
IF ( WITH_PYTHON )