From 345b67b5e26a320afeef084e54022dbc9ced6f0a Mon Sep 17 00:00:00 2001 From: zhouwei25 <52485244+zhouwei25@users.noreply.github.com> Date: Mon, 25 Nov 2019 20:37:51 +0800 Subject: [PATCH] remove warning LNK4006 and warning LNK4221 (#21226) --- cmake/generic.cmake | 23 ++++++++++--------- paddle/fluid/framework/details/CMakeLists.txt | 2 +- .../ir/memory_optimize_pass/CMakeLists.txt | 2 +- paddle/fluid/imperative/CMakeLists.txt | 4 +++- paddle/fluid/imperative/tests/CMakeLists.txt | 8 ++++++- .../fluid/inference/analysis/CMakeLists.txt | 7 +++--- .../fluid/operators/detection/CMakeLists.txt | 9 +++----- paddle/fluid/operators/jit/CMakeLists.txt | 2 +- paddle/fluid/operators/reader/CMakeLists.txt | 8 ++----- paddle/fluid/platform/CMakeLists.txt | 6 +---- paddle/fluid/pybind/CMakeLists.txt | 6 ++++- 11 files changed, 39 insertions(+), 38 deletions(-) diff --git a/cmake/generic.cmake b/cmake/generic.cmake index f6749c2ab8..3833e68e4a 100644 --- a/cmake/generic.cmake +++ b/cmake/generic.cmake @@ -110,14 +110,12 @@ function(find_fluid_modules TARGET_NAME) endif() endfunction(find_fluid_modules) - function(common_link TARGET_NAME) if (WITH_PROFILER) target_link_libraries(${TARGET_NAME} gperftools::profiler) endif() endfunction() - # find all third_party modules is used for paddle static library # for reduce the dependency when building the inference libs. set_property(GLOBAL PROPERTY FLUID_THIRD_PARTY) @@ -238,7 +236,7 @@ function(merge_static_libs TARGET_NAME) endfunction(merge_static_libs) function(cc_library TARGET_NAME) - set(options STATIC static SHARED shared) + set(options STATIC static SHARED shared INTERFACE interface) set(oneValueArgs "") set(multiValueArgs SRCS DEPS) cmake_parse_arguments(cc_library "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) @@ -247,13 +245,16 @@ function(cc_library TARGET_NAME) set(${TARGET_NAME}_LIB_NAME "${CMAKE_STATIC_LIBRARY_PREFIX}${TARGET_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}" CACHE STRING "output library name for target ${TARGET_NAME}") endif(WIN32) if(cc_library_SRCS) - if(cc_library_SHARED OR cc_library_shared) # build *.so - add_library(${TARGET_NAME} SHARED ${cc_library_SRCS}) - else() - add_library(${TARGET_NAME} STATIC ${cc_library_SRCS}) - find_fluid_modules(${TARGET_NAME}) - endif() - + if(cc_library_SHARED OR cc_library_shared) # build *.so + add_library(${TARGET_NAME} SHARED ${cc_library_SRCS}) + elseif(cc_library_INTERFACE OR cc_library_interface) + set(target_SRCS ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}_dummy.c) + file(WRITE ${target_SRCS} "const char *dummy_${TARGET_NAME} = \"${target_SRCS}\";") + add_library(${TARGET_NAME} STATIC ${target_SRCS}) + else() + add_library(${TARGET_NAME} STATIC ${cc_library_SRCS}) + find_fluid_modules(${TARGET_NAME}) + endif() if(cc_library_DEPS) # Don't need link libwarpctc.so if("${cc_library_DEPS};" MATCHES "warpctc;") @@ -285,7 +286,6 @@ function(cc_library TARGET_NAME) endif(WIN32) endif() target_link_libraries(${TARGET_NAME} ${cc_library_DEPS}) - add_dependencies(${TARGET_NAME} ${cc_library_DEPS}) common_link(${TARGET_NAME}) endif() @@ -322,6 +322,7 @@ function(sep_library TARGET_NAME) set(dummy_offset 1) # the dummy target would be consisted of limit size libraries set(dummy_limit 50) + list(REMOVE_DUPLICATES sep_library_DEPS) list(LENGTH sep_library_DEPS sep_all_len) foreach(v ${sep_library_DEPS}) list(APPEND dummy_list ${v}) diff --git a/paddle/fluid/framework/details/CMakeLists.txt b/paddle/fluid/framework/details/CMakeLists.txt index de13450d21..6acd54c602 100644 --- a/paddle/fluid/framework/details/CMakeLists.txt +++ b/paddle/fluid/framework/details/CMakeLists.txt @@ -9,7 +9,7 @@ cc_library(computation_op_handle SRCS computation_op_handle.cc DEPS framework_pr cc_library(share_tensor_buffer_op_handle SRCS share_tensor_buffer_op_handle.cc DEPS op_handle_base scope computation_op_handle share_tensor_buffer_functor) cc_library(rpc_op_handle SRCS rpc_op_handle.cc DEPS framework_proto scope place operator op_registry) cc_library(fetch_barrier_op_handle SRCS fetch_barrier_op_handle.cc DEPS framework_proto scope place operator op_registry) -cc_library(multi_devices_helper SRCS multi_devices_helper.cc DEPS graph graph_helper) +cc_library(multi_devices_helper INTERFACE SRCS multi_devices_helper.cc DEPS graph graph_helper) cc_library(variable_visitor SRCS variable_visitor.cc DEPS lod_tensor selected_rows) diff --git a/paddle/fluid/framework/ir/memory_optimize_pass/CMakeLists.txt b/paddle/fluid/framework/ir/memory_optimize_pass/CMakeLists.txt index 37993d3f0d..81921c40aa 100644 --- a/paddle/fluid/framework/ir/memory_optimize_pass/CMakeLists.txt +++ b/paddle/fluid/framework/ir/memory_optimize_pass/CMakeLists.txt @@ -8,7 +8,7 @@ cc_library(reference_count_pass SRCS reference_count_pass.cc DEPS computation_op cc_library(eager_deletion_pass SRCS eager_deletion_pass.cc DEPS computation_op_handle eager_deletion_op_handle graph graph_helper pass conditional_block_op_eager_deletion_pass while_op_eager_deletion_pass recurrent_op_eager_deletion_pass reference_count_pass_helper) -cc_library(memory_reuse_pass SRCS memory_reuse_pass.cc DEPS computation_op_handle reference_count_pass_helper share_tensor_buffer_op_handle multi_devices_helper graph pass) +cc_library(memory_reuse_pass SRCS memory_reuse_pass.cc DEPS computation_op_handle reference_count_pass_helper share_tensor_buffer_op_handle graph pass multi_devices_helper) cc_library(buffer_shared_inplace_op_pass SRCS buffer_shared_inplace_op_pass.cc DEPS memory_reuse_pass) cc_library(buffer_shared_cross_op_memory_reuse_pass SRCS buffer_shared_cross_op_memory_reuse_pass.cc DEPS memory_reuse_pass) diff --git a/paddle/fluid/imperative/CMakeLists.txt b/paddle/fluid/imperative/CMakeLists.txt index ca5f1478ad..cd6e6835e5 100644 --- a/paddle/fluid/imperative/CMakeLists.txt +++ b/paddle/fluid/imperative/CMakeLists.txt @@ -8,6 +8,8 @@ add_subdirectory(jit) cc_library(tracer SRCS tracer.cc DEPS layer engine program_desc_tracer) cc_library(engine SRCS engine.cc DEPS layer gradient_accumulator) cc_library(imperative_profiler SRCS profiler.cc) -cc_library(nccl_context SRCS nccl_context.cc DEPS device_context) +if(NOT WIN32) + cc_library(nccl_context SRCS nccl_context.cc DEPS device_context) +endif(NOT WIN32) add_subdirectory(tests) diff --git a/paddle/fluid/imperative/tests/CMakeLists.txt b/paddle/fluid/imperative/tests/CMakeLists.txt index 2b2d91485f..8d583f36f2 100644 --- a/paddle/fluid/imperative/tests/CMakeLists.txt +++ b/paddle/fluid/imperative/tests/CMakeLists.txt @@ -1,4 +1,10 @@ -cc_test(nccl_context_test SRCS nccl_context_test.cc DEPS nccl_context) +if(WIN32) + cc_test(nccl_context_test SRCS nccl_context_test.cc DEPS device_context) +else() + cc_test(nccl_context_test SRCS nccl_context_test.cc DEPS nccl_context) +endif(WIN32) + + cc_test(test_gradient_accmulator SRCS test_gradient_accmulator.cc DEPS gradient_accumulator memcpy) cc_test(test_layer SRCS test_layer.cc DEPS layer proto_desc operator op_registry variable_helper mul_op memcpy) cc_test(test_prepare_op SRCS test_prepare_op.cc DEPS prepared_operator op_info split_op layer concat_and_split assign_op place) diff --git a/paddle/fluid/inference/analysis/CMakeLists.txt b/paddle/fluid/inference/analysis/CMakeLists.txt index d79fb52909..8ffcb42903 100644 --- a/paddle/fluid/inference/analysis/CMakeLists.txt +++ b/paddle/fluid/inference/analysis/CMakeLists.txt @@ -11,14 +11,13 @@ cc_library(analysis_helper SRCS helper.cc DEPS framework_proto proto_desc graph cc_library(ir_pass_manager SRCS ir_pass_manager.cc DEPS graph pass ${INFER_IR_PASSES} analysis_helper) -cc_library(argument SRCS argument.cc DEPS scope proto_desc) -cc_library(analysis_pass SRCS analysis_pass.cc DEPS proto_desc) +cc_library(argument INTERFACE SRCS argument.cc DEPS scope proto_desc) +cc_library(analysis_pass INTERFACE SRCS analysis_pass.cc DEPS proto_desc) cc_library(analysis SRCS analyzer.cc - analysis_pass DEPS ${analysis_deps} analysis_helper - ${INFER_IR_PASSES} + analysis_pass ${INFER_IR_PASSES} ) cc_test(test_dot SRCS dot_tester.cc DEPS analysis) diff --git a/paddle/fluid/operators/detection/CMakeLists.txt b/paddle/fluid/operators/detection/CMakeLists.txt index ffa6953a3d..75a26ac2bd 100644 --- a/paddle/fluid/operators/detection/CMakeLists.txt +++ b/paddle/fluid/operators/detection/CMakeLists.txt @@ -20,8 +20,6 @@ detection_library(box_coder_op SRCS box_coder_op.cc box_coder_op.cu) detection_library(iou_similarity_op SRCS iou_similarity_op.cc iou_similarity_op.cu) detection_library(mine_hard_examples_op SRCS mine_hard_examples_op.cc) -detection_library(multiclass_nms_op SRCS multiclass_nms_op.cc poly_util.cc gpc.cc) -detection_library(locality_aware_nms_op SRCS locality_aware_nms_op.cc poly_util.cc gpc.cc) detection_library(prior_box_op SRCS prior_box_op.cc prior_box_op.cu) detection_library(density_prior_box_op SRCS density_prior_box_op.cc density_prior_box_op.cu) detection_library(anchor_generator_op SRCS anchor_generator_op.cc @@ -32,6 +30,8 @@ detection_library(polygon_box_transform_op SRCS polygon_box_transform_op.cc polygon_box_transform_op.cu) detection_library(rpn_target_assign_op SRCS rpn_target_assign_op.cc) detection_library(generate_proposal_labels_op SRCS generate_proposal_labels_op.cc) +detection_library(multiclass_nms_op SRCS multiclass_nms_op.cc DEPS gpc) +detection_library(locality_aware_nms_op SRCS locality_aware_nms_op.cc DEPS gpc) detection_library(box_clip_op SRCS box_clip_op.cc box_clip_op.cu) detection_library(yolov3_loss_op SRCS yolov3_loss_op.cc) detection_library(yolo_box_op SRCS yolo_box_op.cc yolo_box_op.cu) @@ -53,10 +53,7 @@ detection_library(roi_perspective_transform_op SRCS roi_perspective_transform_op #Export local libraries to parent # set(DETECTION_LIBRARY ${LOCAL_DETECTION_LIBS} PARENT_SCOPE) -foreach(src ${LOCAL_DETECTION_LIBS}) - set(OP_LIBRARY ${src} ${OP_LIBRARY} CACHE INTERNAL "op libs") -endforeach() - cc_library(mask_util SRCS mask_util.cc DEPS memory) cc_test(mask_util_test SRCS mask_util_test.cc DEPS memory mask_util) +cc_library(gpc SRCS gpc.cc DEPS op_registry) detection_library(generate_mask_labels_op SRCS generate_mask_labels_op.cc DEPS mask_util) diff --git a/paddle/fluid/operators/jit/CMakeLists.txt b/paddle/fluid/operators/jit/CMakeLists.txt index 47d6c83f2a..2f116d0f74 100644 --- a/paddle/fluid/operators/jit/CMakeLists.txt +++ b/paddle/fluid/operators/jit/CMakeLists.txt @@ -18,7 +18,7 @@ if(WITH_XBYAK) add_subdirectory(gen) endif() -cc_library(jit_kernel_helper SRCS ${jit_kernel_cc_srcs} DEPS ${JIT_KERNEL_DEPS}) +cc_library(jit_kernel_helper INTERFACE SRCS ${jit_kernel_cc_srcs} DEPS jit_kernel_base ${JIT_KERNEL_DEPS}) cc_test(jit_kernel_test SRCS test.cc DEPS jit_kernel_helper) if(NOT WIN32) cc_binary(jit_kernel_benchmark SRCS benchmark.cc DEPS jit_kernel_helper device_tracer tensor) diff --git a/paddle/fluid/operators/reader/CMakeLists.txt b/paddle/fluid/operators/reader/CMakeLists.txt index f61af33329..7e06b45943 100644 --- a/paddle/fluid/operators/reader/CMakeLists.txt +++ b/paddle/fluid/operators/reader/CMakeLists.txt @@ -23,12 +23,8 @@ cc_library(buffered_reader SRCS buffered_reader.cc DEPS reader simple_threadpool reader_library(create_double_buffer_reader_op SRCS create_double_buffer_reader_op.cc DEPS buffered_reader) reader_library(create_py_reader_op SRCS create_py_reader_op.cc DEPS py_reader) +op_library(read_op DEPS py_reader buffered_reader) + cc_test(reader_blocking_queue_test SRCS reader_blocking_queue_test.cc) # Export local libraries to parent # set(READER_LIBRARY ${LOCAL_READER_LIBS} PARENT_SCOPE) - -op_library(read_op DEPS py_reader buffered_reader) - -foreach(src ${LOCAL_READER_LIBS}) - set(OP_LIBRARY ${src} ${OP_LIBRARY} CACHE INTERNAL "op libs") -endforeach() diff --git a/paddle/fluid/platform/CMakeLists.txt b/paddle/fluid/platform/CMakeLists.txt index 2c94f939b7..fba42864c0 100644 --- a/paddle/fluid/platform/CMakeLists.txt +++ b/paddle/fluid/platform/CMakeLists.txt @@ -25,11 +25,7 @@ cc_library(flags SRCS flags.cc DEPS gflags) cc_library(errors SRCS errors.cc DEPS error_codes_proto) cc_test(errors_test SRCS errors_test.cc DEPS errors enforce) -if(WITH_GPU) - nv_library(enforce SRCS enforce.cc DEPS flags errors) -else() - cc_library(enforce SRCS enforce.cc DEPS flags errors) -endif() +cc_library(enforce INTERFACE SRCS enforce.cc DEPS flags errors) cc_test(enforce_test SRCS enforce_test.cc DEPS stringpiece enforce) set(CPU_INFO_DEPS gflags glog enforce) diff --git a/paddle/fluid/pybind/CMakeLists.txt b/paddle/fluid/pybind/CMakeLists.txt index 836f15e18a..8fdeb0dd35 100644 --- a/paddle/fluid/pybind/CMakeLists.txt +++ b/paddle/fluid/pybind/CMakeLists.txt @@ -1,6 +1,10 @@ set(PYBIND_DEPS pybind python proto_desc memory executor fleet_wrapper box_wrapper nccl_wrapper prune feed_fetch_method pass_builder parallel_executor profiler layer tracer engine scope_pool - analysis_predictor imperative_profiler nccl_context imperative_flag save_load_util dlpack_tensor) + analysis_predictor imperative_profiler imperative_flag save_load_util dlpack_tensor device_context) + +if(NOT WIN32) + set(PYBIND_DEPS ${PYBIND_DEPS} nccl_context) +endif(NOT WIN32) if(WITH_PYTHON) list(APPEND PYBIND_DEPS py_func_op) -- GitLab