mirror of
https://github.com/saymrwulf/pytorch.git
synced 2026-05-14 20:57:59 +00:00
Install fixes
Fix paths, __init__.py initialization Other assorted fixes
This commit is contained in:
parent
99e97a4b7a
commit
a2b31cf9e2
5 changed files with 54 additions and 21 deletions
|
|
@ -44,12 +44,24 @@ option(USE_SYSTEM_PROTOBUF "Use system-provided protobuf" ON)
|
|||
# ---[ Dependencies
|
||||
include(cmake/Dependencies.cmake)
|
||||
|
||||
# ---[ Set link flag
|
||||
# ---[ Set link flag, handle additional deps for gcc 5.x
|
||||
if(BUILD_SHARED_LIBS)
|
||||
if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 5.0.0)
|
||||
message(STATUS "GCC ${CMAKE_CXX_COMPILER_VERSION}: Adding gcc and gcc_s libs to link line")
|
||||
set(Caffe2_LINK Caffe2_CPU Caffe2_GPU Caffe_PROTO Caffe2_PROTO gcc_s gcc)
|
||||
else()
|
||||
set(Caffe2_LINK Caffe2_CPU Caffe2_GPU Caffe_PROTO Caffe2_PROTO)
|
||||
endif()
|
||||
else()
|
||||
if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 5.0)
|
||||
set(Caffe2_LINK -Wl,--whole-archive Caffe2_CPU Caffe2_GPU Caffe_PROTO Caffe2_PROTO gcc_s gcc -Wl,--no-whole-archive)
|
||||
else()
|
||||
set(Caffe2_LINK -Wl,--whole-archive Caffe2_CPU Caffe2_GPU Caffe_PROTO Caffe2_PROTO -Wl,--no-whole-archive)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# ---[ Set output directories
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "binaries")
|
||||
|
||||
# ---[ Third party builds.
|
||||
include_directories(${CMAKE_SOURCE_DIR})
|
||||
|
|
@ -61,22 +73,33 @@ add_subdirectory(caffe/proto)
|
|||
add_subdirectory(caffe2)
|
||||
|
||||
# ---[ Copy all python files to build directory
|
||||
# Copy the files
|
||||
install(DIRECTORY ${CMAKE_SOURCE_DIR} DESTINATION ${CMAKE_INSTALL_PREFIX}
|
||||
FILES_MATCHING PATTERN "*.py")
|
||||
|
||||
# ---[ Generate all needed __init__.py files
|
||||
# ---[ Generate and create all needed __init__.py files as they aren't present in source tree
|
||||
set(Caffe2_INIT_PY
|
||||
${CMAKE_INSTALL_PREFIX}/caffe2/__init__.py
|
||||
${CMAKE_INSTALL_PREFIX}/caffe2/python/__init__.py
|
||||
${CMAKE_INSTALL_PREFIX}/caffe2/python/mint/static/__init__.py
|
||||
${CMAKE_INSTALL_PREFIX}/caffe2/python/mint/static/css/__init__.py
|
||||
${CMAKE_INSTALL_PREFIX}/caffe2/python/mint/templates/__init__.py
|
||||
${CMAKE_INSTALL_PREFIX}/caffe2/python/mint/__init__.py
|
||||
${CMAKE_INSTALL_PREFIX}/caffe2/proto/__init__.py
|
||||
${CMAKE_INSTALL_PREFIX}/caffe/__init__.py
|
||||
${CMAKE_INSTALL_PREFIX}/caffe/proto/__init__.py
|
||||
${CMAKE_BINARY_DIR}/caffe2/__init__.py
|
||||
${CMAKE_BINARY_DIR}/caffe2/python/__init__.py
|
||||
${CMAKE_BINARY_DIR}/caffe2/python/mint/static/__init__.py
|
||||
${CMAKE_BINARY_DIR}/caffe2/python/mint/static/css/__init__.py
|
||||
${CMAKE_BINARY_DIR}/caffe2/python/mint/templates/__init__.py
|
||||
${CMAKE_BINARY_DIR}/caffe2/python/mint/__init__.py
|
||||
${CMAKE_BINARY_DIR}/caffe2/proto/__init__.py
|
||||
${CMAKE_BINARY_DIR}/caffe/__init__.py
|
||||
${CMAKE_BINARY_DIR}/caffe/proto/__init__.py
|
||||
)
|
||||
foreach(init ${Caffe2_INIT_PY})
|
||||
# create each __init__.py file in build directory
|
||||
file(WRITE ${init} "")
|
||||
endforeach()
|
||||
|
||||
# Copy the files
|
||||
message(STATUS ${CMAKE_BINARY_DIR})
|
||||
# Pick up static python files
|
||||
install(DIRECTORY ${CMAKE_SOURCE_DIR}/caffe2 DESTINATION ${CMAKE_INSTALL_PREFIX}
|
||||
FILES_MATCHING PATTERN "*.py")
|
||||
# Caffe proto files
|
||||
install(DIRECTORY ${CMAKE_BINARY_DIR}/caffe DESTINATION ${CMAKE_INSTALL_PREFIX}
|
||||
FILES_MATCHING PATTERN "*.py")
|
||||
# Caffe2 proto files
|
||||
install(DIRECTORY ${CMAKE_BINARY_DIR}/caffe2 DESTINATION ${CMAKE_INSTALL_PREFIX}
|
||||
FILES_MATCHING PATTERN "*.py")
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ caffe_protobuf_generate_cpp_py(${CMAKE_CURRENT_BINARY_DIR} Caffe_PROTO_SRCS Caff
|
|||
|
||||
add_library(Caffe_PROTO SHARED ${Caffe_PROTO_HEADERS} ${Caffe_PROTO_SRCS})
|
||||
target_include_directories(Caffe_PROTO PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
|
||||
install(TARGETS Caffe_PROTO DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
|
||||
if(USE_SYSTEM_PROTOBUF)
|
||||
target_link_libraries(Caffe_PROTO protobuf)
|
||||
|
|
|
|||
|
|
@ -112,6 +112,7 @@ list(APPEND Caffe2_LINK_LIBS Caffe2_PROTO)
|
|||
LIST(APPEND CMAKE_CXX_FLAGS "-std=c++11 -fPIC")
|
||||
add_library(Caffe2_CPU ${Caffe2_CPU_SRCS})
|
||||
target_link_libraries(Caffe2_CPU ${Caffe2_LINK_LIBS} glog gflags ${Caffe2_LINKER_LIBS})
|
||||
install(TARGETS Caffe2_CPU DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
list(APPEND Caffe2_LINK_LIBS Caffe2_CPU)
|
||||
|
||||
# ---[ CUDA library
|
||||
|
|
@ -119,6 +120,7 @@ if(HAVE_CUDA)
|
|||
CUDA_ADD_LIBRARY(Caffe2_GPU ${Caffe2_GPU_SRCS})
|
||||
target_link_libraries(Caffe2_GPU ${Caffe2_LINK_LIBS} glog gflags ${Caffe2_LINKER_LIBS})
|
||||
list(APPEND Caffe2_LINK_LIBS Caffe2_GPU)
|
||||
install(TARGETS Caffe2_GPU DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
endif()
|
||||
|
||||
# Compile test binaries.
|
||||
|
|
@ -127,6 +129,7 @@ foreach(test_src ${Caffe2_CPU_TEST_SRCS})
|
|||
add_executable(${test_name} "${test_src}")
|
||||
target_link_libraries(${test_name} ${Caffe2_LINK} gtest_main)
|
||||
target_compile_features(${test_name} PRIVATE cxx_range_for)
|
||||
install(TARGETS ${test_name} DESTINATION ${CMAKE_INSTALL_PREFIX}/test)
|
||||
endforeach()
|
||||
|
||||
# ---[ Python
|
||||
|
|
@ -161,6 +164,7 @@ foreach(binary_src ${Caffe2_BINARY_SRCS})
|
|||
get_filename_component(bin_name ${binary_src} NAME_WE)
|
||||
add_executable(${bin_name} ${binary_src})
|
||||
target_link_libraries(${bin_name} ${Caffe2_LINK} glog cnmem ${Caffe2_LINKER_LIBS})
|
||||
install(TARGETS ${bin_name} DESTINATION ${CMAKE_INSTALL_PREFIX}/binaries)
|
||||
endforeach()
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ caffe_protobuf_generate_cpp_py(${CMAKE_CURRENT_BINARY_DIR} Caffe2_PROTO_SRCS Caf
|
|||
|
||||
add_library(Caffe2_PROTO SHARED ${Caffe2_PROTO_HEADERS} ${Caffe2_PROTO_SRCS})
|
||||
target_include_directories(Caffe2_PROTO PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
|
||||
install(TARGETS Caffe2_PROTO DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
|
||||
if (USE_SYSTEM_PROTOBUF)
|
||||
target_link_libraries(Caffe2_PROTO protobuf)
|
||||
|
|
|
|||
|
|
@ -9,8 +9,12 @@ set(Caffe2_PYTHON_GPU_SRC
|
|||
prepend(Caffe2_PYTHON_CPU_SRC ${CMAKE_CURRENT_SOURCE_DIR} ${Caffe2_PYTHON_CPU_SRC})
|
||||
prepend(Caffe2_PYTHON_GPU_SRC ${CMAKE_CURRENT_SOURCE_DIR} ${Caffe2_PYTHON_GPU_SRC})
|
||||
|
||||
add_library(Caffe2_PYTHON_CPU SHARED ${Caffe2_PYTHON_CPU_SRC})
|
||||
target_link_libraries(Caffe2_PYTHON_CPU Caffe2_PROTO)
|
||||
add_library(caffe2_pybind11_state SHARED ${Caffe2_PYTHON_CPU_SRC})
|
||||
set_target_properties(caffe2_pybind11_state PROPERTIES PREFIX "")
|
||||
target_link_libraries(caffe2_pybind11_state ${Caffe2_LINK})
|
||||
install(TARGETS caffe2_pybind11_state DESTINATION ${CMAKE_INSTALL_PREFIX}/caffe2/python)
|
||||
|
||||
add_library(Caffe2_PYTHON_GPU SHARED ${Caffe2_PYTHON_GPU_SRC})
|
||||
target_link_libraries(Caffe2_PYTHON_GPU Caffe2_PROTO)
|
||||
add_library(caffe2_pybind11_state_gpu SHARED ${Caffe2_PYTHON_GPU_SRC})
|
||||
set_target_properties(caffe2_pybind11_state_gpu PROPERTIES PREFIX "")
|
||||
target_link_libraries(caffe2_pybind11_state_gpu ${Caffe2_LINK})
|
||||
install(TARGETS caffe2_pybind11_state_gpu DESTINATION ${CMAKE_INSTALL_PREFIX}/caffe2/python)
|
||||
|
|
|
|||
Loading…
Reference in a new issue