Files
HikNetSDKPkg/CMakeLists.txt
王帅锟 bd6cff81ec 1. 添加 球机的一点即视 和 逆运算接口
2. 添加 Nvr 和 球机 的配置结构体 和一些基本结构体类型
3. 修改 Nvr 和 球机 的 Login 方法
4. 修复 球机部分 MOVE 操作无法停止
5. 修复 HikBase Login 返回值错误
2024-10-12 12:43:38 +08:00

64 lines
2.6 KiB
CMake

cmake_minimum_required(VERSION 3.15)
project(HikNetSDKPkg CXX)
set(CMAKE_CXX_STANDARD 11)
set(OS ${CMAKE_HOST_SYSTEM_NAME})
set(Arch ${CMAKE_HOST_SYSTEM_PROCESSOR})
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build)
message(STATUS "Target Operating System: ${OS}")
message(STATUS "Target Architecture: ${Arch}")
if(OS STREQUAL "Windows")
set(CMAKE_DEBUG_POSTFIX "_win_amd64_d")
set(CMAKE_RELEASE_POSTFIX "_win_amd64")
elseif (Arch STREQUAL "x86_64" OR Arch STREQUAL "amd64")
set(CMAKE_DEBUG_POSTFIX "_linux_amd64_d")
set(CMAKE_RELEASE_POSTFIX "_linux_amd64")
elseif (Arch STREQUAL "aarch64" OR Arch STREQUAL "arm64")
set(CMAKE_DEBUG_POSTFIX "_linux_arm64_d")
set(CMAKE_RELEASE_POSTFIX "_linux_arm64")
endif ()
add_library(HikNetSDKPkg SHARED
library.cpp
src/HIKBallCamera.cpp
src/HIKBase.cpp
src/HIKNvr.cpp
src/FormatTrans.cpp
)
target_compile_definitions(HikNetSDKPkg PRIVATE Export)
if(Arch STREQUAL "x86_64" OR OS STREQUAL "Windows")
target_include_directories(HikNetSDKPkg PRIVATE "./src/include/Hik/amd64")
elseif (Arch STREQUAL "aarch64")
target_include_directories(HikNetSDKPkg PRIVATE "./src/include/Hik/arm64")
endif ()
if(OS STREQUAL "Windows")
target_link_directories(HikNetSDKPkg PRIVATE "./arm64_windows_lib")
target_link_libraries(HikNetSDKPkg PRIVATE "HCNetSDK.lib")
target_link_libraries(HikNetSDKPkg PRIVATE "HCCore.lib")
target_link_libraries(HikNetSDKPkg PRIVATE "GdiPlus.lib")
elseif (Arch STREQUAL "x86_64" OR Arch STREQUAL "amd64")
target_link_directories(HikNetSDKPkg PRIVATE "./amd64_linux_lib")
target_link_libraries(HikNetSDKPkg PRIVATE "libHCCore.so")
target_link_libraries(HikNetSDKPkg PRIVATE "libhcnetsdk.so")
target_link_libraries(HikNetSDKPkg PRIVATE "libhpr.so")
target_link_libraries(HikNetSDKPkg PRIVATE "libz.so")
elseif (Arch STREQUAL "aarch64")
target_link_directories(HikNetSDKPkg PRIVATE "./arm64_linux_lib")
target_link_libraries(HikNetSDKPkg PRIVATE "libAudioRender.so")
target_link_libraries(HikNetSDKPkg PRIVATE "libcrypto.so")
target_link_libraries(HikNetSDKPkg PRIVATE "libHCCore.so")
target_link_libraries(HikNetSDKPkg PRIVATE "libhcnetsdk.so")
target_link_libraries(HikNetSDKPkg PRIVATE "libhpr.so")
target_link_libraries(HikNetSDKPkg PRIVATE "libPlayCtrl.so")
target_link_libraries(HikNetSDKPkg PRIVATE "libssl.so")
target_link_libraries(HikNetSDKPkg PRIVATE "libSuperRender.so")
target_link_libraries(HikNetSDKPkg PRIVATE "libz.so")
endif ()