@@ -3,6 +3,11 @@ cmake_minimum_required(VERSION 3.0)
3
3
project (cpp_inference_demo CXX C )
4
4
5
5
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" )
6
+ if (WIN32 )
7
+ set (CMAKE_STATIC_LIBRARY_PREFIX "lib" )
8
+ else ()
9
+ set (CMAKE_STATIC_LIBRARY_PREFIX "" )
10
+ endif ()
6
11
7
12
if (NOT DEFINED PADDLE_LIB )
8
13
message (FATAL_ERROR "please set PADDLE_LIB with -DPADDLE_LIB=/path/paddle/lib" )
@@ -32,44 +37,56 @@ endif(NOT WIN32)
32
37
include_directories ("${PADDLE_LIB} /third_party/boost" )
33
38
include_directories ("${PADDLE_LIB} /third_party/eigen3" )
34
39
40
+ if (NOT WIN32 )
35
41
link_directories ("${PADDLE_LIB} /third_party/install/snappy/lib" )
36
42
link_directories ("${PADDLE_LIB} /third_party/install/snappystream/lib" )
43
+ link_directories ("${PADDLE_LIB} /third_party/install/zlib/lib" )
44
+ endif (NOT WIN32 )
45
+
37
46
link_directories ("${PADDLE_LIB} /third_party/install/protobuf/lib" )
38
47
link_directories ("${PADDLE_LIB} /third_party/install/glog/lib" )
39
48
link_directories ("${PADDLE_LIB} /third_party/install/gflags/lib" )
40
- link_directories ("${PADDLE_LIB} /third_party/install/zlib/lib " )
49
+ link_directories ("${PADDLE_LIB} /paddle/fluid/inference " )
41
50
42
51
add_executable (${DEMO_NAME} ${DEMO_NAME} .cc )
43
52
44
53
if (WITH_MKL )
45
54
include_directories ("${PADDLE_LIB} /third_party/install/mklml/include" )
46
- set (MATH_LIB ${PADDLE_LIB} /third_party/install/mklml/lib/libmklml_intel.so
47
- ${PADDLE_LIB} /third_party/install/mklml/lib/libiomp5.so )
55
+ set (MATH_LIB ${PADDLE_LIB} /third_party/install/mklml/lib/libmklml_intel${CMAKE_SHARED_LIBRARY_SUFFIX}
56
+ ${PADDLE_LIB} /third_party/install/mklml/lib/libiomp5${CMAKE_SHARED_LIBRARY_SUFFIX} )
48
57
set (MKLDNN_PATH "${PADDLE_LIB} /third_party/install/mkldnn" )
49
58
if (EXISTS ${MKLDNN_PATH} )
50
59
include_directories ("${MKLDNN_PATH} /include" )
51
60
set (MKLDNN_LIB ${MKLDNN_PATH} /lib/libmkldnn.so.0 )
52
61
endif ()
53
62
else ()
54
- set (MATH_LIB ${PADDLE_LIB} /third_party/install/openblas/lib/libopenblas.a )
63
+ set (MATH_LIB ${PADDLE_LIB} /third_party/install/openblas/lib/libopenblas${CMAKE_STATIC_LIBRARY_SUFFIX} )
55
64
endif ()
56
65
57
66
# Note: libpaddle_inference_api.so/a must put before libpaddle_fluid.so/a
58
67
if (WITH_STATIC_LIB )
59
68
set (DEPS
60
- ${PADDLE_LIB} /paddle/fluid/inference/libpaddle_fluid.a )
69
+ ${PADDLE_LIB} /paddle/fluid/inference/libpaddle_fluid${CMAKE_STATIC_LIBRARY_SUFFIX} )
61
70
else ()
62
71
set (DEPS
63
- ${PADDLE_LIB} /paddle/fluid/inference/libpaddle_fluid.so )
72
+ ${PADDLE_LIB} /paddle/fluid/inference/libpaddle_fluid${CMAKE_SHARED_LIBRARY_SUFFIX} )
64
73
endif ()
65
- set (EXTERNAL_LIB "-lrt -ldl -lpthread" )
66
74
75
+ if (NOT WIN32 )
76
+ set (EXTERNAL_LIB "-lrt -ldl -lpthread" )
67
77
set (DEPS ${DEPS}
68
78
${MATH_LIB} ${MKLDNN_LIB}
69
79
glog gflags protobuf snappystream snappy z
70
80
${EXTERNAL_LIB} )
81
+ else ()
82
+ set (DEPS ${DEPS}
83
+ ${MATH_LIB} ${MKLDNN_LIB}
84
+ ${CMAKE_STATIC_LIBRARY_PREFIX} glog ${CMAKE_STATIC_LIBRARY_PREFIX} gflags ${CMAKE_STATIC_LIBRARY_PREFIX} protobuf
85
+ ${EXTERNAL_LIB} )
86
+ endif (NOT WIN32 )
87
+
71
88
if (WITH_GPU )
72
- set (DEPS ${DEPS} ${CUDA_LIB} /libcudart.so )
89
+ set (DEPS ${DEPS} ${CUDA_LIB} /libcudart${CMAKE_SHARED_LIBRARY_SUFFIX} )
73
90
endif ()
74
91
75
92
target_link_libraries (${DEMO_NAME} ${DEPS} )
0 commit comments