108 lines
5.8 KiB
CMake
108 lines
5.8 KiB
CMake
project(hgdriver)
|
|
string(TIMESTAMP CURRENT_YEAR "%Y")
|
|
string(TIMESTAMP MONTHDAY "1%y%j")
|
|
add_definitions(-DBACKEND_NAME=hgdriver)
|
|
add_definitions(-DVERSION_MAJOR=ver_1)
|
|
add_definitions(-DVERSION_MINOR=ver_2)
|
|
add_definitions(-DVERSION_YEAR=ver_3)
|
|
add_definitions(-DVERSION_BUILD=${MONTHDAY})
|
|
add_definitions(-DOEM_HUAGAO)
|
|
add_definitions(-DUOS)
|
|
add_compile_options(-std=c++11)
|
|
#set(CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS} -g -ftest-coverage -fprofile-arcs")
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -O2")
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -O2")
|
|
aux_source_directory(${PROJECT_SOURCE_DIR} DIR_SRCS)
|
|
file(GLOB DIR_HEADS "${PROJECT_SOURCE_DIR}/*.h" "${PROJECT_SOURCE_DIR}/*.hpp"
|
|
"${PROJECT_SOURCE_DIR}/../../sdk/hginclude/*.h" "${PROJECT_SOURCE_DIR}/../../sdk/hginclude/*.cpp"
|
|
"${PROJECT_SOURCE_DIR}/../../sdk/json/*.h" "${PROJECT_SOURCE_DIR}/../../sdk/json/*.c*"
|
|
)
|
|
set(DIR_SRCS ${DIR_SRCS} ${DIR_HEADS})
|
|
if(COMMAND cmake_policy)
|
|
cmake_policy(SET CMP0003 NEW)
|
|
endif(COMMAND cmake_policy)
|
|
add_library(${PROJECT_NAME} SHARED ${DIR_SRCS})
|
|
message(STATUS ${CMAKE_SYSTEM_NAME})
|
|
message(STATUS ${CMAKE_HOST_SYSTEM})
|
|
message(STATUS ${CMAKE_SYSTEM_PROCESSOR})
|
|
message(STATUS ${CMAKE_HOST_SYSTEM_NAME})
|
|
|
|
|
|
if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux")
|
|
#link_directories(${PROJECT_SOURCE_DIR}/../../../sdk/lib/uos/${CMAKE_SYSTEM_PROCESSOR})
|
|
#target_link_libraries(${PROJECT_NAME} PRIVATE udev pthread dl)
|
|
#target_link_libraries(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/../../../sdk/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libusb-1.0.a)
|
|
else()
|
|
message("current platform: Windows ")
|
|
endif()
|
|
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE
|
|
${PROJECT_SOURCE_DIR}/../../../build/libgdev.a
|
|
${PROJECT_SOURCE_DIR}/../../../build/libgimgproc.a
|
|
${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/liblang.so
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libopencv_imgproc.a
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libopencv_imgcodecs.a
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libopencv_highgui.a
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libopencv_core.a
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libIlmImf.a
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/liblibjasper.a
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/liblibjpeg-turbo.a
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/liblibpng.a
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/liblibprotobuf.a
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/liblibtiff.a
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libquirc.a
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libzlib.a
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/liblibwebp.a
|
|
|
|
${PROJECT_SOURCE_DIR}/../../../sdk/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libusb-1.0.a #uos下放的先后顺序不对可能会导致库链接不上
|
|
udev pthread dl m)
|
|
|
|
#勿修改下面预留行
|
|
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64")
|
|
add_definitions(-Dx86_64="x86_64")
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libittnotify.a
|
|
#message("静态库预留01")
|
|
#message("静态库预留02")
|
|
)
|
|
|
|
message("cpu is x86_64")
|
|
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64")
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libittnotify.a
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libtegra_hal.a #uos 不需要 kylin需要
|
|
|
|
#message("静态库预留03")
|
|
#message("静态库预留04")
|
|
)
|
|
message("cpu is arm64")
|
|
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "mips64")
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE
|
|
#message("静态库预留03")
|
|
#message("静态库预留04")
|
|
)
|
|
message("cpu is mips64")
|
|
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "loongarch64")
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE
|
|
#message("静态库预留03")
|
|
#message("静态库预留04")
|
|
)
|
|
message("cpu is loongarch64")
|
|
else()
|
|
message(FATAL_ERROR "not find cpu and exit cmake ...")
|
|
|
|
endif()
|
|
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE -static-libgcc -static-libstdc++ -Wl,--exclude-libs,ALL -zdefs -Bdirect pthread dl -Wl,-rpath,$ORIGIN)
|
|
target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/nick
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/include
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/tiff/include
|
|
${PROJECT_SOURCE_DIR}/../ImageProcess
|
|
${PROJECT_SOURCE_DIR}/../hgdev
|
|
${PROJECT_SOURCE_DIR}/../wrapper
|
|
${PROJECT_SOURCE_DIR}/../sdk/hginclude
|
|
${PROJECT_SOURCE_DIR}/../../../sdk/include
|
|
)
|
|
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR})
|