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)