mirror of
https://github.com/zebrajr/tensorflow.git
synced 2025-12-07 12:20:24 +01:00
Allows Tensorflow to be built directly from a Visual Studio solution on (#9666)
Windows. Also enables Debug builds for Windows.
This commit is contained in:
parent
237fcedbdc
commit
15d9f00fa6
|
|
@ -61,15 +61,18 @@ add_definitions(-DEIGEN_AVOID_STL_ARRAY)
|
|||
if(WIN32)
|
||||
add_definitions(-DNOMINMAX -D_WIN32_WINNT=0x0A00 -DLANG_CXX11 -DCOMPILER_MSVC)
|
||||
add_definitions(-DWIN32 -DOS_WIN -D_MBCS -DWIN64 -DWIN32_LEAN_AND_MEAN -DNOGDI -DPLATFORM_WINDOWS)
|
||||
add_definitions(-DTENSORFLOW_USE_EIGEN_THREADPOOL -DEIGEN_HAS_C99_MATH -D_ITERATOR_DEBUG_LEVEL=0)
|
||||
add_definitions(-DTENSORFLOW_USE_EIGEN_THREADPOOL -DEIGEN_HAS_C99_MATH)
|
||||
add_definitions(-DTF_COMPILE_LIBRARY)
|
||||
add_definitions(-DNDEBUG /O2) # Equivalent of -c opt in Bazel.
|
||||
add_definitions(/bigobj /nologo /EHsc /GF /FC /MP /Gm-)
|
||||
# Suppress warnings to reduce build log size.
|
||||
add_definitions(/wd4267 /wd4244 /wd4800 /wd4503 /wd4554 /wd4996 /wd4348 /wd4018)
|
||||
add_definitions(/wd4099 /wd4146 /wd4267 /wd4305 /wd4307)
|
||||
add_definitions(/wd4715 /wd4722 /wd4723 /wd4838 /wd4309 /wd4334)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /MDd /Ob0")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /D_ITERATOR_DEBUG_LEVEL=0")
|
||||
set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /D_ITERATOR_DEBUG_LEVEL=0")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /D_ITERATOR_DEBUG_LEVEL=0")
|
||||
endif()
|
||||
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ set(googletest_TAG ec44c6c1675c25b9827aacd08c02433cccde7780)
|
|||
|
||||
if(WIN32)
|
||||
set(googletest_STATIC_LIBRARIES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/googletest/src/googletest/googletest/${CMAKE_BUILD_TYPE}/gtest.lib)
|
||||
${CMAKE_CURRENT_BINARY_DIR}/googletest/src/googletest/googletest/$(Configuration)/gtest.lib)
|
||||
else()
|
||||
set(googletest_STATIC_LIBRARIES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/googletest/src/googletest/googletest/${CMAKE_BUILD_TYPE}/gtest.a)
|
||||
|
|
|
|||
6
tensorflow/contrib/cmake/external/grpc.cmake
vendored
6
tensorflow/contrib/cmake/external/grpc.cmake
vendored
|
|
@ -21,9 +21,9 @@ set(GRPC_TAG 3bc78cd0b5bd784a235c01612d634b1ec5f8fb97)
|
|||
|
||||
if(WIN32)
|
||||
set(grpc_STATIC_LIBRARIES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/grpc/src/grpc/${CMAKE_BUILD_TYPE}/grpc++_unsecure.lib
|
||||
${CMAKE_CURRENT_BINARY_DIR}/grpc/src/grpc/${CMAKE_BUILD_TYPE}/grpc_unsecure.lib
|
||||
${CMAKE_CURRENT_BINARY_DIR}/grpc/src/grpc/${CMAKE_BUILD_TYPE}/gpr.lib)
|
||||
${CMAKE_CURRENT_BINARY_DIR}/grpc/src/grpc/$(Configuration)/grpc++_unsecure.lib
|
||||
${CMAKE_CURRENT_BINARY_DIR}/grpc/src/grpc/$(Configuration)/grpc_unsecure.lib
|
||||
${CMAKE_CURRENT_BINARY_DIR}/grpc/src/grpc/$(Configuration)/gpr.lib)
|
||||
else()
|
||||
set(grpc_STATIC_LIBRARIES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/grpc/src/grpc/libgrpc++_unsecure.a
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ set(jsoncpp_LIBRARIES ${jsoncpp_BUILD}/obj/so/libjsoncpp.so)
|
|||
set(jsoncpp_INCLUDES ${jsoncpp_BUILD})
|
||||
|
||||
if(WIN32)
|
||||
set(jsoncpp_STATIC_LIBRARIES ${jsoncpp_BUILD}/${CMAKE_BUILD_TYPE}/jsoncpp.lib)
|
||||
set(jsoncpp_STATIC_LIBRARIES ${jsoncpp_BUILD}/$(Configuration)/jsoncpp.lib)
|
||||
else()
|
||||
set(jsoncpp_STATIC_LIBRARIES ${jsoncpp_BUILD}/libjsoncpp.a)
|
||||
endif()
|
||||
|
|
|
|||
4
tensorflow/contrib/cmake/external/png.cmake
vendored
4
tensorflow/contrib/cmake/external/png.cmake
vendored
|
|
@ -21,7 +21,9 @@ set(png_BUILD ${CMAKE_BINARY_DIR}/png/src/png)
|
|||
set(png_INSTALL ${CMAKE_BINARY_DIR}/png/install)
|
||||
|
||||
if(WIN32)
|
||||
set(png_STATIC_LIBRARIES ${CMAKE_BINARY_DIR}/png/install/lib/libpng12_static.lib)
|
||||
set(png_STATIC_LIBRARIES
|
||||
debug ${CMAKE_BINARY_DIR}/png/install/lib/libpng12_staticd.lib
|
||||
optimized ${CMAKE_BINARY_DIR}/png/install/lib/libpng12_static.lib)
|
||||
else()
|
||||
set(png_STATIC_LIBRARIES ${CMAKE_BINARY_DIR}/png/install/lib/libpng12.a)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -19,8 +19,10 @@ set(PROTOBUF_URL https://github.com/mrry/protobuf.git) # Includes MSVC fix.
|
|||
set(PROTOBUF_TAG 1d2c7b6c7376f396c8c7dd9b6afd2d4f83f3cb05)
|
||||
|
||||
if(WIN32)
|
||||
set(protobuf_STATIC_LIBRARIES ${CMAKE_CURRENT_BINARY_DIR}/protobuf/src/protobuf/${CMAKE_BUILD_TYPE}/libprotobuf.lib)
|
||||
set(PROTOBUF_PROTOC_EXECUTABLE ${CMAKE_CURRENT_BINARY_DIR}/protobuf/src/protobuf/${CMAKE_BUILD_TYPE}/protoc.exe)
|
||||
set(protobuf_STATIC_LIBRARIES
|
||||
debug ${CMAKE_CURRENT_BINARY_DIR}/protobuf/src/protobuf/$(Configuration)/libprotobufd.lib
|
||||
optimized ${CMAKE_CURRENT_BINARY_DIR}/protobuf/src/protobuf/$(Configuration)/libprotobuf.lib)
|
||||
set(PROTOBUF_PROTOC_EXECUTABLE ${CMAKE_CURRENT_BINARY_DIR}/protobuf/src/protobuf/$(Configuration)/protoc.exe)
|
||||
set(PROTOBUF_ADDITIONAL_CMAKE_OPTIONS -Dprotobuf_MSVC_STATIC_RUNTIME:BOOL=OFF -A x64)
|
||||
else()
|
||||
set(protobuf_STATIC_LIBRARIES ${CMAKE_CURRENT_BINARY_DIR}/protobuf/src/protobuf/libprotobuf.a)
|
||||
|
|
|
|||
3
tensorflow/contrib/cmake/external/zlib.cmake
vendored
3
tensorflow/contrib/cmake/external/zlib.cmake
vendored
|
|
@ -22,7 +22,8 @@ set(ZLIB_TAG 50893291621658f355bc5b4d450a8d06a563053d)
|
|||
|
||||
if(WIN32)
|
||||
set(zlib_STATIC_LIBRARIES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/zlib/install/lib/zlibstatic.lib)
|
||||
debug ${CMAKE_CURRENT_BINARY_DIR}/zlib/install/lib/zlibstaticd.lib
|
||||
optimized ${CMAKE_CURRENT_BINARY_DIR}/zlib/install/lib/zlibstatic.lib)
|
||||
else()
|
||||
set(zlib_STATIC_LIBRARIES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/zlib/install/lib/libz.a)
|
||||
|
|
|
|||
|
|
@ -863,9 +863,9 @@ add_custom_command(TARGET tf_python_build_pip_package POST_BUILD
|
|||
${CMAKE_CURRENT_BINARY_DIR}/tf_python/)
|
||||
if(WIN32)
|
||||
add_custom_command(TARGET tf_python_build_pip_package POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/pywrap_tensorflow_internal.dll
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/$(Configuration)/pywrap_tensorflow_internal.dll
|
||||
${CMAKE_CURRENT_BINARY_DIR}/tf_python/tensorflow/python/_pywrap_tensorflow_internal.pyd
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/pywrap_tensorflow_internal.lib
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/$(Configuration)/pywrap_tensorflow_internal.lib
|
||||
${CMAKE_CURRENT_BINARY_DIR}/tf_python/tensorflow/python/)
|
||||
else()
|
||||
add_custom_command(TARGET tf_python_build_pip_package POST_BUILD
|
||||
|
|
|
|||
|
|
@ -516,6 +516,7 @@ CostGraphDef* InMemoryRunGraphResponse::mutable_cost_graph() {
|
|||
|
||||
RunGraphResponse* InMemoryRunGraphResponse::get_proto() {
|
||||
LOG(FATAL) << "Cannot get a mutable protobuf for an InMemoryRunGraphResponse";
|
||||
return NULL;
|
||||
}
|
||||
|
||||
size_t OwnedProtoRunGraphResponse::num_recvs() const {
|
||||
|
|
@ -634,6 +635,7 @@ RunMetadata* InMemoryRunStepResponse::mutable_metadata() { return &metadata_; }
|
|||
|
||||
RunStepResponse* InMemoryRunStepResponse::get_proto() {
|
||||
LOG(FATAL) << "Cannot get a mutable protobuf for an InMemoryRunStepResponse";
|
||||
return NULL;
|
||||
}
|
||||
|
||||
size_t OwnedProtoRunStepResponse::num_tensors() const {
|
||||
|
|
|
|||
|
|
@ -441,7 +441,9 @@ class DepthwiseConv2dNativeOp : public BinaryOp<T> {
|
|||
DepthwiseConv2dNativeOp<CPUDevice, T>);
|
||||
|
||||
TF_CALL_float(REGISTER_CPU_KERNEL);
|
||||
#if defined(PLATFORM_WINDOWS) && !defined(_DEBUG)
|
||||
TF_CALL_double(REGISTER_CPU_KERNEL);
|
||||
#endif
|
||||
|
||||
#if GOOGLE_CUDA
|
||||
REGISTER_KERNEL_BUILDER(
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user