code_device/hgdriver/wrapper/CMakeLists.txt

111 lines
5.7 KiB
CMake
Raw Normal View History

2022-11-26 07:26:43 +00:00
project(hgdriver)
2022-05-17 10:45:38 +00:00
string(TIMESTAMP CURRENT_YEAR "%Y")
2022-08-04 05:32:37 +00:00
string(TIMESTAMP MONTHDAY "1%y%j")
2022-11-26 07:26:43 +00:00
add_definitions(-DBACKEND_NAME=hgdriver)
2022-08-04 05:32:37 +00:00
add_definitions(-DVERSION_MAJOR=ver_1)
add_definitions(-DVERSION_MINOR=ver_2)
add_definitions(-DVERSION_YEAR=ver_3)
2022-05-03 03:56:07 +00:00
add_definitions(-DVERSION_BUILD=${MONTHDAY})
2022-11-26 07:26:43 +00:00
add_definitions(-DOEM_HUAGAO)
2023-03-07 06:47:11 +00:00
add_definitions(-DUOS)
2022-05-03 03:56:07 +00:00
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)
2022-05-03 03:56:07 +00:00
file(GLOB DIR_HEADS "${PROJECT_SOURCE_DIR}/*.h" "${PROJECT_SOURCE_DIR}/*.hpp")
set(DIR_SRCS ${DIR_SRCS} ${DIR_HEADS})
if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)
2022-05-03 03:56:07 +00:00
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})
2022-06-15 02:09:26 +00:00
if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux")
2022-07-28 08:33:29 +00:00
#link_directories(${PROJECT_SOURCE_DIR}/../../../sdk/lib/uos/${CMAKE_SYSTEM_PROCESSOR})
#target_link_libraries(${PROJECT_NAME} PRIVATE udev pthread dl)
2022-07-28 08:33:29 +00:00
#target_link_libraries(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/../../../sdk/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libusb-1.0.a)
2022-06-15 02:09:26 +00:00
else()
message("current platform: Windows ")
endif()
2022-05-05 08:31:55 +00:00
target_link_libraries(${PROJECT_NAME} PRIVATE
2022-05-05 07:57:02 +00:00
${PROJECT_SOURCE_DIR}/../../../build/libgdev.a
2022-08-04 07:20:47 +00:00
${PROJECT_SOURCE_DIR}/../../../build/libgimgproc.a
2023-01-29 07:25:24 +00:00
${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/liblang.so
2022-08-04 07:20:47 +00:00
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libopencv_imgproc.a
2022-07-28 08:33:29 +00:00
${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
2022-08-04 07:20:47 +00:00
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libIlmImf.a
2022-07-28 08:33:29 +00:00
${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
2023-01-29 07:25:24 +00:00
2022-08-04 07:20:47 +00:00
${PROJECT_SOURCE_DIR}/../../../sdk/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libusb-1.0.a #uos下放的先后顺序不对可能会导致库链接不上
udev pthread dl m)
2022-05-05 07:57:02 +00:00
#勿修改下面预留行
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64")
2022-08-04 07:20:47 +00:00
add_definitions(-Dx86_64="x86_64")
2022-05-05 07:57:02 +00:00
target_link_libraries(${PROJECT_NAME} PRIVATE
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libittnotify.a
2022-05-05 07:57:02 +00:00
#message("静态库预留01")
#message("静态库预留02")
2022-05-03 03:56:07 +00:00
)
2022-05-05 07:57:02 +00:00
2022-08-04 07:20:47 +00:00
message("cpu is x86_64")
2022-05-05 07:57:02 +00:00
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64")
2022-08-04 07:20:47 +00:00
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需要
2022-05-10 07:47:29 +00:00
2022-05-05 07:57:02 +00:00
#message("静态库预留03")
#message("静态库预留04")
)
2022-08-04 07:20:47 +00:00
message("cpu is arm64")
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "mips64")
2022-08-04 07:20:47 +00:00
target_link_libraries(${PROJECT_NAME} PRIVATE
#message("静态库预留03")
2022-07-28 10:45:15 +00:00
#message("静态库预留04")
2022-08-04 07:20:47 +00:00
)
message("cpu is mips64")
2022-10-14 08:15:45 +00:00
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "loongarch64")
target_link_libraries(${PROJECT_NAME} PRIVATE
#message("静态库预留03")
#message("静态库预留04")
)
message("cpu is loongarch64")
2023-09-01 06:56:34 +00:00
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "sw_64")
target_link_libraries(${PROJECT_NAME} PRIVATE
#message("静态库预留03")
#message("静态库预留04")
)
message("cpu is sw_64")
else()
2022-08-04 07:20:47 +00:00
message(FATAL_ERROR "not find cpu and exit cmake ...")
endif()
2023-03-16 02:27:46 +00:00
target_link_libraries(${PROJECT_NAME} PRIVATE -static-libgcc -static-libstdc++ -Wl,--exclude-libs,ALL -zdefs -Bdirect pthread dl -Wl,-rpath,$ORIGIN)
2022-05-03 03:56:07 +00:00
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
2022-05-03 03:56:07 +00:00
${PROJECT_SOURCE_DIR}/../ImageProcess
${PROJECT_SOURCE_DIR}/../hgdev
2023-01-29 07:25:24 +00:00
${PROJECT_SOURCE_DIR}/../wrapper
2022-05-03 03:56:07 +00:00
${PROJECT_SOURCE_DIR}/../../../sdk/include
2022-08-04 07:20:47 +00:00
)
2022-08-08 01:54:42 +00:00
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR})