CMakeLists.txt 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. cmake_minimum_required(VERSION 3.15)
  2. project(HikNetSDKPkg CXX)
  3. set(CMAKE_CXX_STANDARD 11)
  4. set(OS ${CMAKE_HOST_SYSTEM_NAME})
  5. set(Arch ${CMAKE_HOST_SYSTEM_PROCESSOR})
  6. set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build)
  7. set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build)
  8. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build)
  9. message(STATUS "Target Operating System: ${OS}")
  10. message(STATUS "Target Architecture: ${Arch}")
  11. if(OS STREQUAL "Windows")
  12. set(CMAKE_DEBUG_POSTFIX "_win_amd64_d")
  13. set(CMAKE_RELEASE_POSTFIX "_win_amd64")
  14. elseif (Arch STREQUAL "x86_64" OR Arch STREQUAL "amd64")
  15. set(CMAKE_DEBUG_POSTFIX "_linux_amd64_d")
  16. set(CMAKE_RELEASE_POSTFIX "_linux_amd64")
  17. elseif (Arch STREQUAL "aarch64" OR Arch STREQUAL "arm64")
  18. set(CMAKE_DEBUG_POSTFIX "_linux_arm64_d")
  19. set(CMAKE_RELEASE_POSTFIX "_linux_arm64")
  20. endif ()
  21. add_library(HikNetSDKPkg SHARED
  22. library.cpp
  23. src/HIKBallCamera.cpp
  24. src/HIKBase.cpp
  25. src/HIKNvr.cpp
  26. src/FormatTrans.cpp
  27. )
  28. target_compile_definitions(HikNetSDKPkg PRIVATE Export)
  29. if(Arch STREQUAL "x86_64" OR OS STREQUAL "Windows")
  30. target_include_directories(HikNetSDKPkg PRIVATE "./src/include/Hik/amd64")
  31. elseif (Arch STREQUAL "aarch64")
  32. target_include_directories(HikNetSDKPkg PRIVATE "./src/include/Hik/arm64")
  33. endif ()
  34. if(OS STREQUAL "Windows")
  35. target_link_directories(HikNetSDKPkg PRIVATE "./arm64_windows_lib")
  36. target_link_libraries(HikNetSDKPkg PRIVATE "HCNetSDK.lib")
  37. target_link_libraries(HikNetSDKPkg PRIVATE "HCCore.lib")
  38. target_link_libraries(HikNetSDKPkg PRIVATE "GdiPlus.lib")
  39. elseif (Arch STREQUAL "x86_64" OR Arch STREQUAL "amd64")
  40. target_link_directories(HikNetSDKPkg PRIVATE "./amd64_linux_lib")
  41. target_link_libraries(HikNetSDKPkg PRIVATE "libHCCore.so")
  42. target_link_libraries(HikNetSDKPkg PRIVATE "libhcnetsdk.so")
  43. target_link_libraries(HikNetSDKPkg PRIVATE "libhpr.so")
  44. target_link_libraries(HikNetSDKPkg PRIVATE "libz.so")
  45. elseif (Arch STREQUAL "aarch64")
  46. target_link_directories(HikNetSDKPkg PRIVATE "./arm64_linux_lib")
  47. target_link_libraries(HikNetSDKPkg PRIVATE "libAudioRender.so")
  48. target_link_libraries(HikNetSDKPkg PRIVATE "libcrypto.so")
  49. target_link_libraries(HikNetSDKPkg PRIVATE "libHCCore.so")
  50. target_link_libraries(HikNetSDKPkg PRIVATE "libhcnetsdk.so")
  51. target_link_libraries(HikNetSDKPkg PRIVATE "libhpr.so")
  52. target_link_libraries(HikNetSDKPkg PRIVATE "libPlayCtrl.so")
  53. target_link_libraries(HikNetSDKPkg PRIVATE "libssl.so")
  54. target_link_libraries(HikNetSDKPkg PRIVATE "libSuperRender.so")
  55. target_link_libraries(HikNetSDKPkg PRIVATE "libz.so")
  56. endif ()