Skip to content

Commit 29f9c0d

Browse files
committed
Follow yuyang's comment
2 parents d44f5e9 + 1dd972f commit 29f9c0d

File tree

83 files changed

+1757
-883
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+1757
-883
lines changed

.travis.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
language: cpp
2-
cache: ccache
2+
cache:
3+
directories:
4+
- $HOME/third_party
5+
- $HOME/.ccache
6+
- $HOME/.cache/pip
37
sudo: required
48
dist: trusty
59
os:
@@ -35,6 +39,7 @@ addons:
3539
- clang-format-3.8
3640
- automake
3741
- libtool
42+
- ccache
3843
before_install:
3944
- |
4045
if [ ${JOB} == "BUILD_AND_TEST" ]; then

CMakeLists.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,16 @@ option(WITH_DOC "Compile PaddlePaddle with documentation" OFF)
4343
option(WITH_COVERAGE "Compile PaddlePaddle with code coverage" OFF)
4444
option(COVERALLS_UPLOAD "Package code coverage data to coveralls" OFF)
4545
option(ON_TRAVIS "Exclude special unit test on Travis CI" OFF)
46+
47+
# CMAKE_BUILD_TYPE
48+
if(NOT CMAKE_BUILD_TYPE)
49+
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
50+
"Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel"
51+
FORCE)
52+
endif()
53+
54+
set(THIRD_PARTY_PATH "${PROJ_ROOT}/third_party" CACHE STRING
55+
"A path setting third party libraries download & build directories.")
4656
########################################################################################
4757

4858
include(external/zlib) # download, build, install zlib

cmake/external/gflags.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414

1515
INCLUDE(ExternalProject)
1616

17-
SET(GFLAGS_SOURCES_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/gflags)
18-
SET(GFLAGS_INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/install/gflags)
17+
SET(GFLAGS_SOURCES_DIR ${THIRD_PARTY_PATH}/gflags)
18+
SET(GFLAGS_INSTALL_DIR ${THIRD_PARTY_PATH}/install/gflags)
1919
SET(GFLAGS_INCLUDE_DIR "${GFLAGS_INSTALL_DIR}/include" CACHE PATH "gflags include directory." FORCE)
2020
IF(WIN32)
2121
set(GFLAGS_LIBRARIES "${GFLAGS_INSTALL_DIR}/lib/gflags.lib" CACHE FILEPATH "GFLAGS_LIBRARIES" FORCE)

cmake/external/glog.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414

1515
INCLUDE(ExternalProject)
1616

17-
SET(GLOG_SOURCES_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/glog)
18-
SET(GLOG_INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/install/glog)
17+
SET(GLOG_SOURCES_DIR ${THIRD_PARTY_PATH}/glog)
18+
SET(GLOG_INSTALL_DIR ${THIRD_PARTY_PATH}/install/glog)
1919
SET(GLOG_INCLUDE_DIR "${GLOG_INSTALL_DIR}/include" CACHE PATH "glog include directory." FORCE)
2020

2121
IF(WIN32)

cmake/external/gtest.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ IF(WITH_TESTING)
1616
ENABLE_TESTING()
1717
INCLUDE(ExternalProject)
1818

19-
SET(GTEST_SOURCES_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/gtest)
20-
SET(GTEST_INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/install/gtest)
19+
SET(GTEST_SOURCES_DIR ${THIRD_PARTY_PATH}/gtest)
20+
SET(GTEST_INSTALL_DIR ${THIRD_PARTY_PATH}/install/gtest)
2121
SET(GTEST_INCLUDE_DIR "${GTEST_INSTALL_DIR}/include" CACHE PATH "gtest include directory." FORCE)
2222

2323
INCLUDE_DIRECTORIES(${GTEST_INCLUDE_DIR})

cmake/external/openblas.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ IF(NOT ${CBLAS_FOUND})
1818
MESSAGE(FATAL_ERROR "Please install OpenBlas, MKL or ATLAS.")
1919
INCLUDE(ExternalProject)
2020

21-
SET(CBLAS_SOURCES_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/openblas)
22-
SET(CBLAS_INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/install/openblas)
21+
SET(CBLAS_SOURCES_DIR ${THIRD_PARTY_PATH}/openblas)
22+
SET(CBLAS_INSTALL_DIR ${THIRD_PARTY_PATH}/install/openblas)
2323
SET(CBLAS_INC_DIR "${CBLAS_INSTALL_DIR}/include" CACHE PATH "openblas include directory." FORCE)
2424

2525
IF(WIN32)

cmake/external/protobuf.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414

1515
INCLUDE(ExternalProject)
1616

17-
SET(PROTOBUF_SOURCES_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/protobuf)
18-
SET(PROTOBUF_INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/install/protobuf)
17+
SET(PROTOBUF_SOURCES_DIR ${THIRD_PARTY_PATH}/protobuf)
18+
SET(PROTOBUF_INSTALL_DIR ${THIRD_PARTY_PATH}/install/protobuf)
1919
SET(PROTOBUF_INCLUDE_DIR "${PROTOBUF_INSTALL_DIR}/include" CACHE PATH "protobuf include directory." FORCE)
2020

2121
INCLUDE_DIRECTORIES(${PROTOBUF_INCLUDE_DIR})

cmake/external/python.cmake

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,14 @@ IF(PYTHONLIBS_FOUND AND PYTHONINTERP_FOUND)
2626
find_python_module(wheel REQUIRED)
2727
find_python_module(google.protobuf REQUIRED)
2828
FIND_PACKAGE(NumPy REQUIRED)
29+
IF(${PY_GOOGLE.PROTOBUF_VERSION} VERSION_LESS "3.0.0")
30+
MESSAGE(FATAL_ERROR "Found Python Protobuf ${PY_GOOGLE.PROTOBUF_VERSION} < 3.0.0, "
31+
"please use pip to upgrade protobuf.")
32+
ENDIF(${PY_GOOGLE.PROTOBUF_VERSION} VERSION_LESS "3.0.0")
2933
ELSE(PYTHONLIBS_FOUND AND PYTHONINTERP_FOUND)
3034
##################################### PYTHON ########################################
31-
SET(PYTHON_SOURCES_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/python)
32-
SET(PYTHON_INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/install/python)
35+
SET(PYTHON_SOURCES_DIR ${THIRD_PARTY_PATH}/python)
36+
SET(PYTHON_INSTALL_DIR ${THIRD_PARTY_PATH}/install/python)
3337
SET(_python_DIR ${PYTHON_INSTALL_DIR})
3438

3539
IF(UNIX)

cmake/external/swig.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ IF(NOT SWIG_FOUND)
1818
# build swig as an external project
1919
INCLUDE(ExternalProject)
2020

21-
SET(SWIG_SOURCES_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/swig)
22-
SET(SWIG_INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/install/swig)
21+
SET(SWIG_SOURCES_DIR ${THIRD_PARTY_PATH}/swig)
22+
SET(SWIG_INSTALL_DIR ${THIRD_PARTY_PATH}/install/swig)
2323
SET(SWIG_TARGET_VERSION "3.0.2")
2424
SET(SWIG_DOWNLOAD_SRC_MD5 "62f9b0d010cef36a13a010dc530d0d41")
2525
SET(SWIG_DOWNLOAD_WIN_MD5 "3f18de4fc09ab9abb0d3be37c11fbc8f")

cmake/external/warpctc.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414

1515
INCLUDE(ExternalProject)
1616

17-
SET(WARPCTC_SOURCES_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/warpctc)
18-
SET(WARPCTC_INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/install/warpctc)
17+
SET(WARPCTC_SOURCES_DIR ${THIRD_PARTY_PATH}/warpctc)
18+
SET(WARPCTC_INSTALL_DIR ${THIRD_PARTY_PATH}/install/warpctc)
1919
SET(WARPCTC_INCLUDE_DIR "${WARPCTC_INSTALL_DIR}/include" CACHE PATH "Warp-ctc Directory" FORCE)
2020

2121
INCLUDE_DIRECTORIES(${WARPCTC_INCLUDE_DIR})

0 commit comments

Comments
 (0)