CMakeLists.txt 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. set(MODULE_NAME "libfacecapture")
  2. set(MODULE_PREFIX "LIB_FACECAPTURE_FUNC")
  3. if(RVC_DEBUG_MODE)
  4. set(OPENCV_DYNAMIC_LIBS
  5. opencv_calib3d
  6. opencv_core
  7. opencv_features2d
  8. opencv_flann
  9. opencv_highgui
  10. opencv_imgcodecs
  11. opencv_imgproc
  12. opencv_ml
  13. opencv_objdetect
  14. opencv_photo
  15. opencv_video
  16. opencv_videoio
  17. opencv_videostab
  18. )
  19. else()
  20. set(OPENCV_DYNAMIC_LIBS
  21. opencv_calib3d
  22. opencv_core
  23. opencv_features2d
  24. opencv_flann
  25. opencv_highgui
  26. opencv_imgcodecs
  27. opencv_imgproc
  28. opencv_ml
  29. opencv_objdetect
  30. opencv_photo
  31. opencv_video
  32. opencv_videoio
  33. opencv_videostab
  34. )
  35. endif(RVC_DEBUG_MODE)
  36. set(${MODULE_PREFIX}_SRCS
  37. libfacecapture.cpp
  38. libfacecapture.h
  39. )
  40. add_library(${MODULE_NAME} SHARED ${${MODULE_PREFIX}_SRCS})
  41. target_include_directories(${MODULE_NAME} PRIVATE
  42. ${RVC_COMMON_INCLUDE_DIR}
  43. ${RVC_WINPR_INCLUDE_DIR}
  44. ${OTHER_LIB_BASE_DIR}/libvideoqueue
  45. ${CONAN_INCLUDE_DIRS_OPENCV}
  46. ${CONAN_INCLUDE_DIRS_OPENCV}/opencv
  47. )
  48. target_compile_definitions(${MODULE_NAME} PUBLIC "LIBFACECAPTURE_EXPORTS")
  49. # 添加需要依赖的其他共享库(包括系统库)
  50. if(MSVC)
  51. target_link_directories(${MODULE_NAME} PRIVATE
  52. ${CONAN_LIB_DIRS_OPENCV}
  53. )
  54. else(MSVC)
  55. target_link_directories(${MODULE_NAME} PRIVATE
  56. ${CONAN_BIN_DIRS_OPENCV}
  57. )
  58. endif(MSVC)
  59. target_link_libraries(${MODULE_NAME} PRIVATE ${${MODULE_PREFIX}_LIBS}
  60. videoqueue
  61. ${OPENCV_DYNAMIC_LIBS}
  62. )
  63. if(MSVC)
  64. install(TARGETS ${MODULE_NAME}
  65. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}" COMPONENT libraries
  66. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT develops EXCLUDE_FROM_ALL
  67. LIBRARY DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT libraries
  68. )
  69. else()
  70. install(TARGETS ${MODULE_NAME}
  71. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}"
  72. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
  73. LIBRARY DESTINATION "${RVC_RUNTIME_PATH}"
  74. COMPONENT libraries)
  75. endif(MSVC)
  76. # 设置要依赖拷贝的第三方库
  77. if(MSVC)
  78. set(OTHER_CONAN_DEP_LIBS ${OTHER_CONAN_DEP_LIBS} ${CONAN_BIN_DIRS} PARENT_SCOPE)
  79. else()
  80. set(OTHER_CONAN_DEP_LIBS ${OTHER_CONAN_DEP_LIBS} ${CONAN_LIB_DIRS} ${CONAN_BIN_DIRS_OPENCV} PARENT_SCOPE)
  81. ENDIF(MSVC)