From ae1ff4168fc0c483bdedf64a7add9583ab3ef09d Mon Sep 17 00:00:00 2001 From: 13038267101 Date: Thu, 5 May 2022 15:57:02 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=8F=98=E5=BC=82=E6=B5=81?= =?UTF-8?q?=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 3 ++ build.sh | 60 +++++++++++++++------------------ hgdriver/CMakeLists.txt | 2 +- hgdriver/wrapper/CMakeLists.txt | 51 +++++++++++++++++----------- hgsane/CMakeLists.txt | 6 ++-- 5 files changed, 66 insertions(+), 56 deletions(-) create mode 100644 CMakeLists.txt mode change 100644 => 100755 build.sh diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..83ab9ae --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,3 @@ +project(sane) +add_subdirectory(hgdriver) +add_subdirectory(hgsane) diff --git a/build.sh b/build.sh old mode 100644 new mode 100755 index 3e9d975..0060646 --- a/build.sh +++ b/build.sh @@ -1,34 +1,30 @@ -cd ../ +sys=$1 #系统 +sysarch=$(arch) + + +if [ "$sys" != "uos" ] && [ "$sys" != "kylin" ];then + + echo "参数请设置根据系统设置,uos or kylin" + exit 1 +fi + + +echo "------------------------------change cmake path:$1--------------------" +if [ "$sys" == "uos" ];then + sed -i "s/kylin/$1/g" hgdriver/wrapper/CMakeLists.txt +elif [ "$sys" == "kylin" ];then + sed -i "s/uos/$1/g" hgdriver/wrapper/CMakeLists.txt +fi + mkdir build -cd build -mkdir imgpc -cd imgpc -rm -rf * -cmake ../../code_device/hgdriver/ImageProcess +cd build +cmake .. +make -j6 + +if [ $? -ne 0 ];then + echo "--------------------------------------make fail---------------------------------------" + exit 1 +fi + echo "--------------------------------------make succeed------------------------------------" + make - -cd .. -mkdir hgdev -cd hgdev -rm -rf * -cmake ../../code_device/hgdriver/hgdev -make - -cd .. -mkdir wrapper -cd wrapper -rm -rf * -cmake ../../code_device/hgdriver/wrapper -make - -cd .. -mkdir hgsane -cd hgsane -rm -rf * -cmake ../../code_device/hgsane -make -sudo cp ../../release/Linux/x86_64/libsane-hgsane.so /usr/lib/x86_64-linux-gnu/sane/libsane-hgsane.so.1 - - - - diff --git a/hgdriver/CMakeLists.txt b/hgdriver/CMakeLists.txt index 6a82fbb..0f45e48 100644 --- a/hgdriver/CMakeLists.txt +++ b/hgdriver/CMakeLists.txt @@ -1,4 +1,4 @@ project(sane_lib_project) -add_subdirectory(hgdev) add_subdirectory(ImageProcess) +add_subdirectory(hgdev) add_subdirectory(wrapper) diff --git a/hgdriver/wrapper/CMakeLists.txt b/hgdriver/wrapper/CMakeLists.txt index 04d02a9..5d0bb26 100644 --- a/hgdriver/wrapper/CMakeLists.txt +++ b/hgdriver/wrapper/CMakeLists.txt @@ -3,6 +3,8 @@ string(TIMESTAMP CURRENT_YEAR "%y") string(TIMESTAMP MONTHDAY "1%m%d") add_definitions(-DVERSION_YEAR=${CURRENT_YEAR}) add_definitions(-DVERSION_BUILD=${MONTHDAY}) +add_definitions("-Wl,--exclude-libs,ALL") +#add_definitions("-B direct") 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") @@ -16,34 +18,43 @@ message(STATUS ${CMAKE_HOST_SYSTEM}) message(STATUS ${CMAKE_SYSTEM_PROCESSOR}) message(STATUS ${CMAKE_HOST_SYSTEM_NAME}) - - - -target_link_libraries(${PROJECT_NAME} PRIVATE - ${PROJECT_SOURCE_DIR}/../../../build/libgdev.a +target_link_libraries(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/../../../build/libgimgproc.a + ${PROJECT_SOURCE_DIR}/../../../build/libgdev.a + ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libopencv_world.a + ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libIlmImf.a + ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libittnotify.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 ) +#勿修改下面预留行 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/x86_64/libopencv_world.a - ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/x86_64/libIlmImf.a - ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/x86_64/libittnotify.a - ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/x86_64/liblibjasper.a - ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/x86_64/liblibjpeg-turbo.a - ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/x86_64/liblibpng.a - ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/x86_64/liblibprotobuf.a - ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/x86_64/liblibtiff.a - ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/x86_64/libquirc.a - ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/x86_64/libzlib.a - ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/x86_64/liblibwebp.a + target_link_libraries(${PROJECT_NAME} PRIVATE + #message("静态库预留01") + #message("静态库预留02") ) + message("cpu is x86_64") -elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "arm64") +elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64") + target_link_libraries(${PROJECT_NAME} PRIVATE + ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libtegra_hal.a + #message("静态库预留03") + #message("静态库预留04") + ) message("cpu is arm64") elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "mips64") - + target_link_libraries(${PROJECT_NAME} PRIVATE + #message("静态库预留05") + #message("静态库预留06") + ) message("cpu is mips64") else() message(FATAL_ERROR "not find cpu and exit cmake ...") @@ -59,4 +70,4 @@ target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/../hgdev ${PROJECT_SOURCE_DIR}/../../../sdk/include ) -set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../../release/${CMAKE_HOST_SYSTEM_NAME}/${CMAKE_SYSTEM_PROCESSOR}) +set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../../release/uos/${CMAKE_SYSTEM_PROCESSOR}) diff --git a/hgsane/CMakeLists.txt b/hgsane/CMakeLists.txt index 32aba07..2d31764 100644 --- a/hgsane/CMakeLists.txt +++ b/hgsane/CMakeLists.txt @@ -14,10 +14,10 @@ file(GLOB DIR_HEADS "${PROJECT_SOURCE_DIR}/*.h" "${PROJECT_SOURCE_DIR}/*.hpp") set(DIR_SRCS ${DIR_SRCS} ${DIR_HEADS}) add_library(${PROJECT_NAME} SHARED ${DIR_SRCS}) link_directories(${PROJECT_NAME} PRIVATE - ${PROJECT_SOURCE_DIR}/../../release/${CMAKE_HOST_SYSTEM_NAME}/${CMAKE_SYSTEM_PROCESSOR} + ${PROJECT_SOURCE_DIR}/../../release/uos/${CMAKE_SYSTEM_PROCESSOR} ) target_link_libraries(${PROJECT_NAME} PRIVATE hgdriver - ${PROJECT_SOURCE_DIR}/../../release/${CMAKE_HOST_SYSTEM_NAME}/${CMAKE_SYSTEM_PROCESSOR}/libhgdriver.so + ${PROJECT_SOURCE_DIR}/../../release/uos/${CMAKE_SYSTEM_PROCESSOR}/libhgdriver.so ) @@ -27,7 +27,7 @@ target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/../../sdk/include ) -set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../release/${CMAKE_HOST_SYSTEM_NAME}/${CMAKE_SYSTEM_PROCESSOR}) +set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../release/uos/${CMAKE_SYSTEM_PROCESSOR})