CMakeLists.txt 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. set(MODULE_NAME "libvideohorflip")
  2. set(MODULE_PREFIX "LIB_VIDEOHORFLIP_FUNC")
  3. if(RVC_DEBUG_MODE)
  4. set(STRMBASE_LIB strmbasd)
  5. else()
  6. set(STRMBASE_LIB strmbase)
  7. endif(RVC_DEBUG_MODE)
  8. if(MSVC)
  9. set(STDAFXCPP stdafx.cpp)
  10. else()
  11. set(STDAFXCPP )
  12. endif(MSVC)
  13. set(${MODULE_PREFIX}_SRCS
  14. filter.h
  15. videohorflip.h
  16. videohorflip.cpp
  17. ${STDAFXCPP}
  18. )
  19. add_library(${MODULE_NAME} SHARED ${${MODULE_PREFIX}_SRCS})
  20. if(MSVC)
  21. add_precompiled_header(${MODULE_NAME} stdafx.h SOURCE_CXX stdafx.cpp FORCEINCLUDE)
  22. endif(MSVC)
  23. if(WIN32)
  24. conan_cmake_run(REQUIRES directshow/1.0@LR04.02_ThirdParty/testing
  25. BASIC_SETUP CMAKE_TARGETS
  26. BUILD missing)
  27. endif(WIN32)
  28. target_include_directories(${MODULE_NAME} PRIVATE
  29. ${RVC_COMMON_INCLUDE_DIR}
  30. ${CONAN_INCLUDE_DIRS_DIRECTSHOW}
  31. )
  32. target_link_directories(${MODULE_NAME} PRIVATE
  33. ${CONAN_LIB_DIRS_DIRECTSHOW}
  34. )
  35. if(WIN32)
  36. set(${MODULE_PREFIX}_LIBS winmm legacy_stdio_definitions)
  37. else(WIN32)
  38. set(${MODULE_PREFIX}_LIBS )
  39. endif(WIN32)
  40. target_link_libraries(${MODULE_NAME} PRIVATE ${${MODULE_PREFIX}_LIBS}
  41. ${STRMBASE_LIB}
  42. )
  43. target_compile_definitions(${MODULE_NAME} PUBLIC "LIBVIDEOHORFLIP_EXPORTS")
  44. if(MSVC)
  45. install(TARGETS ${MODULE_NAME}
  46. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}" COMPONENT libraries
  47. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT develops EXCLUDE_FROM_ALL
  48. LIBRARY DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT libraries
  49. )
  50. else()
  51. install(TARGETS ${MODULE_NAME}
  52. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}"
  53. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
  54. LIBRARY DESTINATION "${RVC_RUNTIME_PATH}"
  55. COMPONENT libraries)
  56. endif(MSVC)
  57. set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "other/")