zhangzengfei
2024-02-05 78b0ffc543d78769580fa91842c8d635fe8c9405
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
cmake_minimum_required(VERSION 2.8)
 
set(BIN wface)
project (${BIN})
 
##################################################################################
 
if(NOT CMAKE_BUILD_TYPE)
    set(CMAKE_BUILD_TYPE "Release")
endif()
 
set(CMAKE_CXX_FLAGS "-fvisibility=default -fPIC -Wl,-Bsymbolic ${CMAKE_CXX_FLAGS}")
set(CMAKE_C_FLAGS "-fvisibility=default -fPIC -Wl,-Bsymbolic ${CMAKE_C_FLAGS}")
 
set(CMAKE_CXX_FLAGS_DEBUG "-w -g -O0 -std=c++11 ${CMAKE_CXX_FLAGS}")
set(CMAKE_C_FLAGS_DEBUG "-w -g -O0 ${CMAKE_C_FLAGS}")
 
set(CMAKE_CXX_FLAGS_RELEASE "-w -O3 -std=c++11 ${CMAKE_CXX_FLAGS}")
set(CMAKE_C_FLAGS_RELEASE "-w -O3 ${CMAKE_C_FLAGS}")
 
######################################################################################
 
include_directories(
    ${CMAKE_SOURCE_DIR}/sdk/include
    ${CMAKE_SOURCE_DIR}/csrc
)
 
set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH}
    /lib
    /usr/lib
    /usr/lib64
    /usr/local/lib
    /usr/local/lib64
    /usr/lib/x86_64-linux-gnu
)
 
#############################################################################
 
set(cuda /usr/local/cuda-10.0)
 
set(CUDA_TOOLKIT_ROOT_DIR ${cuda})
include_directories(${cuda}/include)
find_package(CUDA QUIET REQUIRED)
link_directories(${cuda}/lib64)
set(LINK_LIB -lcudart -lcublas -lcurand)
 
############################################################################
 
file(GLOB_RECURSE SDK_LIST "csrc/*.cpp")
set (SRC_LIST
    ${SDK_LIST}
    ${CMAKE_SOURCE_DIR}/cface.cpp
)
 
link_directories(${CMAKE_SOURCE_DIR}/sdk/lib)
list(APPEND LINK_LIB -lTHFaceImage -lTHFeature -lTHFaceProperty -lTHFaceTracking -lTHFaceMask)
 
FOREACH(src ${SRC_LIST})
    MESSAGE( ${src} )
ENDFOREACH()
 
FOREACH(src ${LINK_LIB})
    MESSAGE( ${src} )
ENDFOREACH()
 
add_library(${BIN} SHARED ${SRC_LIST})
add_custom_command(
    TARGET ${BIN}
    POST_BUILD
    COMMAND cp ${CMAKE_SOURCE_DIR}/build/lib${BIN}.so ${CMAKE_SOURCE_DIR}/../libs/
)
target_link_libraries(${BIN} ${LINK_LIB} rt pthread dl)