|
|
|
@ -110,6 +110,20 @@ function(find_fluid_modules TARGET_NAME)
|
|
|
|
|
endif()
|
|
|
|
|
endfunction(find_fluid_modules)
|
|
|
|
|
|
|
|
|
|
# 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)
|
|
|
|
|
function(find_fluid_thirdparties TARGET_NAME)
|
|
|
|
|
get_filename_component(__target_path ${TARGET_NAME} ABSOLUTE)
|
|
|
|
|
string(REGEX REPLACE "^${PADDLE_SOURCE_DIR}/" "" __target_path ${__target_path})
|
|
|
|
|
string(FIND "${__target_path}" "third_party" pos)
|
|
|
|
|
if(pos GREATER 1)
|
|
|
|
|
get_property(fluid_ GLOBAL PROPERTY FLUID_THIRD_PARTY)
|
|
|
|
|
set(fluid_third_partys ${fluid_third_partys} ${TARGET_NAME})
|
|
|
|
|
set_property(GLOBAL PROPERTY FLUID_THIRD_PARTY "${fluid_third_partys}")
|
|
|
|
|
endif()
|
|
|
|
|
endfunction(find_fluid_thirdparties)
|
|
|
|
|
|
|
|
|
|
function(merge_static_libs TARGET_NAME)
|
|
|
|
|
set(libs ${ARGN})
|
|
|
|
|
list(REMOVE_DUPLICATES libs)
|
|
|
|
@ -204,18 +218,13 @@ function(merge_static_libs TARGET_NAME)
|
|
|
|
|
|
|
|
|
|
foreach(lib ${libs})
|
|
|
|
|
# Get the file names of the libraries to be merged
|
|
|
|
|
#if(NOT $<TARGET_FILE:${lib}> MATCHES "lib.*\\.lib")
|
|
|
|
|
# message("library" ${lib})
|
|
|
|
|
# set(libfiles ${libfiles} lib$<TARGET_FILE:${lib}>)
|
|
|
|
|
#else()
|
|
|
|
|
set(libfiles ${libfiles} $<TARGET_FILE:${lib}>)
|
|
|
|
|
#endif()
|
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
|
|
# windows cmd return error in clean env.
|
|
|
|
|
# COMMAND del "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/${TARGET_NAME}.lib"
|
|
|
|
|
# msvc will put libarary in directory of "/Release/xxxlib" by default
|
|
|
|
|
# COMMAND cmake -E remove "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/${TARGET_NAME}.lib"
|
|
|
|
|
add_custom_command(TARGET ${TARGET_NAME} POST_BUILD
|
|
|
|
|
COMMAND lib /OUT:${CMAKE_CURRENT_BINARY_DIR}/lib${TARGET_NAME}.lib ${libfiles}
|
|
|
|
|
COMMAND cmake -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}"
|
|
|
|
|
COMMAND lib /OUT:${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/lib${TARGET_NAME}.lib ${libfiles}
|
|
|
|
|
)
|
|
|
|
|
endif(WIN32)
|
|
|
|
|
endfunction(merge_static_libs)
|
|
|
|
|