cmake_minimum_required(VERSION 3.5)
|
#include(cmake_options.cmake)
|
|
|
option(AARCH64 "option for aarch64" OFF)
|
|
if(${AARCH64} STREQUAL ON)
|
message("======>> use aarch64")
|
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/protobuf/aarch64.cmake)
|
endif()
|
|
set (Target "cbhomedbapi")
|
project(${Target})
|
|
include(cmake_options.cmake)
|
|
##########################################################]
|
set(ARCH x86_64)
|
if(${AARCH64} STREQUAL ON)
|
set(ARCH aarch64)
|
endif()
|
set(PROTO_LIB_PATH ${CMAKE_CURRENT_SOURCE_DIR}/protobuf/${ARCH})
|
set(PROTO_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}/proto/${ARCH})
|
add_subdirectory(${PROJECT_SOURCE_DIR}/proto)
|
##########################################################]
|
|
include_directories(
|
${CMAKE_SOURCE_DIR}/3rdparty/bus_nng
|
${CMAKE_SOURCE_DIR}/3rdparty/bus_client
|
${CMAKE_SOURCE_DIR}/proto/${ARCH}
|
${PROTO_LIB_PATH}/include
|
)
|
|
set(src
|
${CMAKE_SOURCE_DIR}/camera.cpp
|
${CMAKE_SOURCE_DIR}/polygon.cpp
|
${CMAKE_SOURCE_DIR}/rule.cpp
|
${CMAKE_SOURCE_DIR}/sdk.cpp
|
${CMAKE_SOURCE_DIR}/stack.cpp
|
${CMAKE_SOURCE_DIR}/sysset.cpp
|
${CMAKE_SOURCE_DIR}/util.cpp
|
${CMAKE_SOURCE_DIR}/3rdparty/yyjson/yyjson.c
|
)
|
|
add_library(objs OBJECT ${src})
|
#set(CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/exported_symbols")
|
add_library(${Target} SHARED $<TARGET_OBJECTS:objs>)
|
target_link_libraries(${Target} PRIVATE bhome_msg)
|
|
set(Target_static ${Target}_static)
|
add_library(${Target_static} STATIC $<TARGET_OBJECTS:objs>)
|
set_target_properties(${Target}_static PROPERTIES OUTPUT_NAME ${Target})
|
set_target_properties(${Target} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
set_target_properties(${Target}_static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
|
# test
|
add_executable(test_app main.cpp $<TARGET_OBJECTS:objs>)
|
target_link_libraries(test_app ${Target}
|
${CMAKE_SOURCE_DIR}/3rdparty/bus_client/x86_64/libcbhomeclient.so
|
${CMAKE_SOURCE_DIR}/3rdparty/bus_nng/x86_64/libbus_nng.so
|
bhome_msg pthread rt)
|