Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add BUILD_BYPRODUCTS for ExternalProject_Add #5316

Merged
merged 21 commits into from
Jun 30, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
ded8d1e
Add BUILD_BYPRODUCTS for ExternalProject_Add
jackalcooper Jun 25, 2021
1b6408b
Merge branches 'add_BUILD_BYPRODUCTS' and 'master' of https://github.…
jackalcooper Jun 28, 2021
72414a9
build in one step if it is ninja
jackalcooper Jun 28, 2021
eb09c98
fix yml syntax
jackalcooper Jun 28, 2021
fb735c0
limit max-parallel
jackalcooper Jun 28, 2021
cc6fafd
limit max-parallel
jackalcooper Jun 28, 2021
65479f0
rm useless
jackalcooper Jun 28, 2021
e774f28
Merge branch 'master' into add_BUILD_BYPRODUCTS
jackalcooper Jun 28, 2021
2f5f118
refine
jackalcooper Jun 28, 2021
f38019d
Merge branch 'master' into add_BUILD_BYPRODUCTS
jackalcooper Jun 29, 2021
df19c87
Merge branch 'master' into add_BUILD_BYPRODUCTS
jackalcooper Jun 29, 2021
1648616
Merge branch 'master' into add_BUILD_BYPRODUCTS
jackalcooper Jun 29, 2021
066b937
Merge branch 'master' into add_BUILD_BYPRODUCTS
jackalcooper Jun 29, 2021
edce317
Merge branch 'master' into add_BUILD_BYPRODUCTS
jackalcooper Jun 29, 2021
d7b88ec
Merge branch 'master' into add_BUILD_BYPRODUCTS
jackalcooper Jun 29, 2021
64017e9
add --shm-size=8g
jackalcooper Jun 29, 2021
d070a70
Merge branch 'master' into add_BUILD_BYPRODUCTS
jackalcooper Jun 29, 2021
4cc5db7
Merge branch 'master' into add_BUILD_BYPRODUCTS
oneflow-ci-bot Jun 29, 2021
8fcca15
Merge branch 'master' into add_BUILD_BYPRODUCTS
oneflow-ci-bot Jun 29, 2021
e1fc0e5
Merge branch 'master' into add_BUILD_BYPRODUCTS
oneflow-ci-bot Jun 29, 2021
2241635
Merge branch 'master' into add_BUILD_BYPRODUCTS
oneflow-ci-bot Jun 30, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
12 changes: 8 additions & 4 deletions .github/workflows/simple.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,12 @@ jobs:
cmake_flags+=" -G '${{ matrix.cmake_generator }}'"
cmake_flags+=" -DCMAKE_BUILD_TYPE=${{ matrix.cmake_build_type }}"
cmake_flags+=" -DBUILD_SHARED_LIBS=${{ matrix.build_shared_libs }}"
cmake_flags+=" -DCMAKE_MACOSX_RPATH=FALSE"
cmake_flags+=" -DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
echo "cmake_flags=${cmake_flags}" >> $GITHUB_ENV
shell: bash
- name: Build (third party)
if: matrix.cmake_generator != 'Ninja'
run: |
set -x
mkdir -p build-third_party
Expand All @@ -91,30 +94,31 @@ jobs:
cmake --build . -j $(nproc)
shell: bash
- name: Build (of_ccobj)
if: matrix.cmake_generator != 'Ninja'
run: |
mkdir -p build
cd build
cmake .. ${{ env.cmake_flags }} -DTHIRD_PARTY=OFF -DONEFLOW=ON -DTHIRD_PARTY_DIR=$PWD/../third_party_install
cmake --build . -j ${{ matrix.make_concurrency }} --target of_ccobj
shell: bash
- name: Build (oneflow_internal)
if: always()
if: always() && matrix.cmake_generator != 'Ninja'
run: |
mkdir -p build
cd build
cmake .. ${{ env.cmake_flags }} -DTHIRD_PARTY=OFF -DONEFLOW=ON
cmake --build . -j ${{ matrix.make_concurrency }} --target oneflow_internal
shell: bash
- name: Build (oneflow_py)
if: always()
if: always() && matrix.cmake_generator != 'Ninja'
run: |
mkdir -p build
cd build
cmake .. ${{ env.cmake_flags }} -DTHIRD_PARTY=OFF -DONEFLOW=ON
cmake --build . -j ${{ matrix.make_concurrency }} --target oneflow_py
shell: bash
- name: Build (oneflow_testexe)
if: always()
if: always() && matrix.cmake_generator != 'Ninja'
run: |
mkdir -p build
cd build
Expand All @@ -126,7 +130,7 @@ jobs:
run: |
mkdir -p build
cd build
cmake .. ${{ env.cmake_flags }} -DTHIRD_PARTY=OFF -DONEFLOW=ON
cmake .. ${{ env.cmake_flags }}
cmake --build . -j ${{ matrix.make_concurrency }}
shell: bash
- name: Exe test
Expand Down
3 changes: 2 additions & 1 deletion cmake/third_party/absl.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,10 @@ endforeach()
if(THIRD_PARTY)
ExternalProject_Add(${ABSL_PROJECT}
PREFIX absl
URL ${ABSL_TAR_URL}
URL ${ABSL_TAR_URL}
URL_MD5 20126998c9b17e5f7a93711972f03f79
UPDATE_COMMAND ""
BUILD_BYPRODUCTS ${ABSL_STATIC_LIBRARIES}
CMAKE_ARGS
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DBUILD_SHARED_LIBS:BOOL=OFF
Expand Down
1 change: 1 addition & 0 deletions cmake/third_party/cocoapi.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ ExternalProject_Add(cocoapi
UPDATE_COMMAND ""
CONFIGURE_COMMAND ""
BUILD_IN_SOURCE 1
BUILD_BYPRODUCTS ${COCOAPI_STATIC_LIBRARIES}
BUILD_COMMAND ${CMAKE_C_COMPILER} -fPIC -O3 -c common/maskApi.c -o maskApi.o &&
${CMAKE_AR} rcs ${COCOAPI_LIBRARY_NAME} maskApi.o
INSTALL_COMMAND ""
Expand Down
25 changes: 13 additions & 12 deletions cmake/third_party/flatbuffers.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,18 @@ set(FLATBUFFERS_INSTALL_BINDIR bin)

use_mirror(VARIABLE FLATBUFFERS_URL URL ${FLATBUFFERS_URL})

set(FLATBUFFERS_INCLUDE_DIR ${FLATBUFFERS_INSTALL_PREFIX}/${FLATBUFFERS_INSTALL_INCLUDEDIR})
set(FLATBUFFERS_LIBRARY_DIR ${FLATBUFFERS_INSTALL_PREFIX}/${FLATBUFFERS_INSTALL_LIBDIR})
set(FLATBUFFERS_BINARY_DIR ${FLATBUFFERS_INSTALL_PREFIX}/${FLATBUFFERS_INSTALL_BINDIR})

set(FLATC_EXECUTABLE_NAME flatc)
set(FLATBUFFERS_FLATC_EXECUTABLE ${FLATBUFFERS_BINARY_DIR}/${FLATC_EXECUTABLE_NAME})

set(FLATBUFFERS_LIBRARY_NAMES libflatbuffers.a)
foreach (LIBRARY_NAME ${FLATBUFFERS_LIBRARY_NAMES})
list(APPEND FLATBUFFERS_STATIC_LIBRARIES ${FLATBUFFERS_LIBRARY_DIR}/${LIBRARY_NAME})
endforeach ()

if (THIRD_PARTY)

ExternalProject_Add(flatbuffers
Expand All @@ -18,6 +30,7 @@ if (THIRD_PARTY)
UPDATE_COMMAND bash -c "rm -f BUILD || true"
BUILD_IN_SOURCE 1
SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/flatbuffers/src/flatbuffers
BUILD_BYPRODUCTS ${FLATBUFFERS_STATIC_LIBRARIES}
CMAKE_ARGS -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX=${FLATBUFFERS_INSTALL_PREFIX}
-DCMAKE_INSTALL_INCLUDEDIR=${FLATBUFFERS_INSTALL_INCLUDEDIR}
Expand All @@ -26,15 +39,3 @@ if (THIRD_PARTY)
-DFLATBUFFERS_BUILD_TESTS=OFF
)
endif (THIRD_PARTY)

set(FLATBUFFERS_INCLUDE_DIR ${FLATBUFFERS_INSTALL_PREFIX}/${FLATBUFFERS_INSTALL_INCLUDEDIR})
set(FLATBUFFERS_LIBRARY_DIR ${FLATBUFFERS_INSTALL_PREFIX}/${FLATBUFFERS_INSTALL_LIBDIR})
set(FLATBUFFERS_BINARY_DIR ${FLATBUFFERS_INSTALL_PREFIX}/${FLATBUFFERS_INSTALL_BINDIR})

set(FLATC_EXECUTABLE_NAME flatc)
set(FLATBUFFERS_FLATC_EXECUTABLE ${FLATBUFFERS_BINARY_DIR}/${FLATC_EXECUTABLE_NAME})

set(FLATBUFFERS_LIBRARY_NAMES libflatbuffers.a)
foreach (LIBRARY_NAME ${FLATBUFFERS_LIBRARY_NAMES})
list(APPEND FLATBUFFERS_STATIC_LIBRARIES ${FLATBUFFERS_LIBRARY_DIR}/${LIBRARY_NAME})
endforeach ()
1 change: 1 addition & 0 deletions cmake/third_party/gflags.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ ExternalProject_Add(gflags
URL_MD5 9677cc51d63642ba3d5f2a57a1fa2bd0
UPDATE_COMMAND bash -c "rm -f BUILD || true"
BUILD_IN_SOURCE 1
BUILD_BYPRODUCTS ${GFLAGS_STATIC_LIBRARIES}
CMAKE_CACHE_ARGS
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_CXX_FLAGS_DEBUG:STRING=${CMAKE_CXX_FLAGS_DEBUG}
Expand Down
1 change: 1 addition & 0 deletions cmake/third_party/glog.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ ExternalProject_Add(glog
URL_MD5 3ca928ef755c0a890680e023e3d4b9a6
UPDATE_COMMAND ""
BUILD_IN_SOURCE 1
BUILD_BYPRODUCTS ${GLOG_STATIC_LIBRARIES}
CMAKE_CACHE_ARGS
-DCMAKE_POLICY_DEFAULT_CMP0074:STRING=NEW
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
Expand Down
1 change: 1 addition & 0 deletions cmake/third_party/googletest.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ ExternalProject_Add(googletest
UPDATE_COMMAND ""
BUILD_IN_SOURCE 1
INSTALL_COMMAND ""
BUILD_BYPRODUCTS ${GOOGLETEST_STATIC_LIBRARIES} ${GOOGLEMOCK_STATIC_LIBRARIES}
CMAKE_CACHE_ARGS
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_CXX_FLAGS_DEBUG:STRING=${CMAKE_CXX_FLAGS_DEBUG}
Expand Down
1 change: 1 addition & 0 deletions cmake/third_party/grpc.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ ExternalProject_Add(grpc
URL_HASH MD5=${GRPC_URL_HASH}
UPDATE_COMMAND ""
BUILD_IN_SOURCE 1
BUILD_BYPRODUCTS ${GRPC_STATIC_LIBRARIES}
BUILD_COMMAND ${CMAKE_COMMAND} --build . -j ${PROC_NUM} --target grpc && ${CMAKE_COMMAND} --build . -j ${PROC_NUM} --target grpc_unsecure && ${CMAKE_COMMAND} --build . -j ${PROC_NUM} --target grpc++_unsecure
CMAKE_CACHE_ARGS
-DCMAKE_POLICY_DEFAULT_CMP0074:STRING=NEW
Expand Down
1 change: 1 addition & 0 deletions cmake/third_party/libjpeg-turbo.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ ExternalProject_Add(libjpeg-turbo
UPDATE_COMMAND ""
INSTALL_COMMAND ""
BUILD_IN_SOURCE 1
BUILD_BYPRODUCTS ${LIBJPEG_STATIC_LIBRARIES}
CMAKE_CACHE_ARGS
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_CXX_FLAGS_DEBUG:STRING=${CMAKE_CXX_FLAGS_DEBUG}
Expand Down
1 change: 1 addition & 0 deletions cmake/third_party/lz4.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ ExternalProject_Add(lz4
BUILD_IN_SOURCE 1
BUILD_COMMAND make -j ${PROC_NUM} lib CFLAGS=${LZ4_CFLAGS}
INSTALL_COMMAND ""
BUILD_BYPRODUCTS ${LZ4_STATIC_LIBRARIES}
)

add_custom_target(lz4_create_header_dir
Expand Down
1 change: 1 addition & 0 deletions cmake/third_party/nccl.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ ExternalProject_Add(nccl
BUILD_IN_SOURCE 1
BUILD_COMMAND make -j${PROC_NUM} src.build CUDA_HOME=${CUDA_TOOLKIT_ROOT_DIR}
INSTALL_COMMAND make src.install PREFIX=${NCCL_INSTALL_DIR}
BUILD_BYPRODUCTS ${NCCL_LIBRARIES}
)

endif(THIRD_PARTY)
1 change: 1 addition & 0 deletions cmake/third_party/opencv.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ ExternalProject_Add(opencv
BUILD_IN_SOURCE 0
SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/opencv/src/opencv
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/opencv/src/opencv/build
BUILD_BYPRODUCTS ${OPENCV_STATIC_LIBRARIES}
CMAKE_CACHE_ARGS
-DCMAKE_POLICY_DEFAULT_CMP0074:STRING=NEW
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
Expand Down
2 changes: 1 addition & 1 deletion cmake/third_party/openssl.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@ ExternalProject_Add(openssl
URL_HASH MD5=${OPENSSL_URL_HASH}
UPDATE_COMMAND ""
CONFIGURE_COMMAND ${OPENSSL_SOURCE_DIR}/src/openssl/config --prefix=${OPENSSL_INSTALL}
BUILD_BYPRODUCTS ${OPENSSL_STATIC_LIBRARIES}
BUILD_COMMAND make -j${PROC_NUM}
INSTALL_COMMAND make install_sw
)

endif(THIRD_PARTY)

1 change: 1 addition & 0 deletions cmake/third_party/protobuf.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ ExternalProject_Add(protobuf
BUILD_IN_SOURCE 1
SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/protobuf/src/protobuf
SOURCE_SUBDIR cmake
BUILD_BYPRODUCTS ${PROTOBUF_STATIC_LIBRARIES}
CMAKE_CACHE_ARGS
-DCMAKE_POLICY_DEFAULT_CMP0074:STRING=NEW
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
Expand Down
1 change: 1 addition & 0 deletions cmake/third_party/re2.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ if (THIRD_PARTY)
URL ${RE2_URL}
URL_MD5 3b2e20c1edd1cfe887aeef3b0747eac0
UPDATE_COMMAND ""
BUILD_BYPRODUCTS ${RE2_LIBRARIES}
CMAKE_ARGS
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DBUILD_SHARED_LIBS:BOOL=OFF
Expand Down
1 change: 1 addition & 0 deletions cmake/third_party/zlib.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ ExternalProject_Add(zlib
URL_MD5 1eabf2698dc49f925ce0ffb81397098f
UPDATE_COMMAND ""
BUILD_IN_SOURCE 1
BUILD_BYPRODUCTS ${ZLIB_STATIC_LIBRARIES}
CMAKE_CACHE_ARGS
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
Expand Down
2 changes: 1 addition & 1 deletion docker/package/manylinux/build_wheel.py
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ def get_common_docker_args(
house_dir_arg = f"-v {house_dir}:{house_dir}"
build_dir_arg = get_build_dir_arg(cache_dir, oneflow_src_dir)
proxy_env_arg = get_proxy_env_args() if use_system_proxy else ""
return f"-v {oneflow_src_dir}:{oneflow_src_dir} {proxy_env_arg} {pwd_arg} {house_dir_arg} {cache_dir_arg} {build_dir_arg} -w {current_dir}"
return f"-v {oneflow_src_dir}:{oneflow_src_dir} {proxy_env_arg} {pwd_arg} {house_dir_arg} {cache_dir_arg} {build_dir_arg} -w {current_dir} --shm-size=8g"


def build_third_party(
Expand Down