CMakeLists.txt 2.2 KB

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