mirror of http://192.168.1.51:8099/lmh188/twain3.0
108 lines
4.1 KiB
CMake
108 lines
4.1 KiB
CMake
# CMake 最低版本号要求
|
|
cmake_minimum_required (VERSION 2.8)
|
|
project(huagotwainds)
|
|
execute_process(
|
|
COMMAND git log -1 --format=%H
|
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
|
OUTPUT_VARIABLE GIT_VERSION
|
|
)
|
|
execute_process(
|
|
COMMAND git remote -v
|
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
|
OUTPUT_VARIABLE GIT_REMOTE_PATH
|
|
)
|
|
|
|
#string (REGEX REPLACE ".*\t| .*" "" GIT_PATH ${GIT_REMOTE_PATH})
|
|
string (REGEX REPLACE "[\n\t\r]" "" GIT_VERSION ${GIT_VERSION})
|
|
|
|
file(GLOB DEV_SRC ${PROJECT_SOURCE_DIR}/Device/*.h ${PROJECT_SOURCE_DIR}/Device/*.cpp)
|
|
file(GLOB IMGPROC_SRC ${PROJECT_SOURCE_DIR}/ImageProcess/*.h ${PROJECT_SOURCE_DIR}/ImageProcess/*.cpp)
|
|
file(GLOB SRC ${PROJECT_SOURCE_DIR}/*.h ${PROJECT_SOURCE_DIR}/*.cpp)
|
|
|
|
aux_source_directory(${PROJECT_SOURCE_DIR} DIR_SRCS)
|
|
aux_source_directory(${PROJECT_SOURCE_DIR}/Device DIR_DEVICE)
|
|
aux_source_directory(${PROJECT_SOURCE_DIR}/ImageProcess DIR_IMGPROC)
|
|
|
|
set(DIR_RC huagaotwds.rc)
|
|
source_group("RC Files" FILES ${DIR_RC})
|
|
|
|
include_directories(
|
|
${PROJECT_SOURCE_DIR}
|
|
${PROJECT_SOURCE_DIR}/..
|
|
${PROJECT_SOURCE_DIR}/../twpp
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/nick
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/libtiff/include
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/gpdf/
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/include
|
|
)
|
|
|
|
message($ENV{windir})
|
|
|
|
link_directories(${PROJECT_SOURCE_DIR}/../3rdparty/opencv/x86/staticlib/
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/libtiff/
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/gpdf/x86/staticlib/
|
|
${PROJECT_SOURCE_DIR}/../3rdparty/gpdf/3rdparty/tesseract/staticlib/x86/)
|
|
|
|
MESSAGE(STATUS "operation system is ${CMAKE_SYSTEM}")
|
|
|
|
MACRO(RW_LINK_3RD_PART_LIBRARY FULL_LIBRARY_NAME)
|
|
link_libraries(optimized ${FULL_LIBRARY_NAME})
|
|
link_libraries(debug ${FULL_LIBRARY_NAME}d)
|
|
ENDMACRO()
|
|
|
|
IF (CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
MESSAGE(STATUS "current platform: Linux ")
|
|
ELSEIF (CMAKE_SYSTEM_NAME MATCHES "Windows")
|
|
link_libraries(hg_gpdf)
|
|
link_libraries(cvblob)
|
|
link_libraries(libjpeg)
|
|
RW_LINK_3RD_PART_LIBRARY(opencv_core343)
|
|
RW_LINK_3RD_PART_LIBRARY(opencv_highgui343)
|
|
RW_LINK_3RD_PART_LIBRARY(opencv_imgcodecs343)
|
|
RW_LINK_3RD_PART_LIBRARY(opencv_imgproc343)
|
|
RW_LINK_3RD_PART_LIBRARY(IlmImf)
|
|
RW_LINK_3RD_PART_LIBRARY(libjasper)
|
|
RW_LINK_3RD_PART_LIBRARY(libjpeg-turbo)
|
|
RW_LINK_3RD_PART_LIBRARY(libpng)
|
|
RW_LINK_3RD_PART_LIBRARY(libtiff)
|
|
RW_LINK_3RD_PART_LIBRARY(libwebp)
|
|
RW_LINK_3RD_PART_LIBRARY(zlib)
|
|
RW_LINK_3RD_PART_LIBRARY(ittnotify)
|
|
link_libraries(libwebp)
|
|
link_libraries(libleptonica)
|
|
link_libraries(libprotobuf)
|
|
link_libraries(quirc)
|
|
link_libraries(tesseract_api)
|
|
link_libraries(tesseract_arch)
|
|
link_libraries(tesseract_ccmain)
|
|
link_libraries(tesseract_ccstruct)
|
|
link_libraries(tesseract_ccutil)
|
|
link_libraries(tesseract_classify)
|
|
link_libraries(tesseract_cutil)
|
|
link_libraries(tesseract_dict)
|
|
link_libraries(tesseract_lstm)
|
|
link_libraries(tesseract_opencl)
|
|
link_libraries(tesseract_textord)
|
|
link_libraries(tesseract_viewer)
|
|
link_libraries(tesseract_wordrec)
|
|
MESSAGE(STATUS "current platform: Windows")
|
|
ELSEIF (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
|
MESSAGE(STATUS "current platform: FreeBSD")
|
|
ELSE ()
|
|
MESSAGE(STATUS "other platform: ${CMAKE_SYSTEM_NAME}")
|
|
ENDIF (CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
|
|
add_definitions(-DTWPP_IS_DS -D_CRT_SECURE_NO_WARNINGS -D_DIRECT_BUILD -D_NOT_USE -D_AFXDLL -D_UNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_CRT_NON_CONFORMING_SWPRINTFS -D_WIN32)
|
|
add_definitions(-DGIT_VERSION=\"${GIT_VERSION}\")
|
|
|
|
|
|
# 指定生成目标
|
|
add_library(huagaotwain SHARED ${DIR_SRCS} ${PROJECT_SOURCE_DIR}/exports.def ${DEV_SRC} ${IMGPROC_SRC} ${SRC} ${DIR_RC})
|
|
#target_link_libraries(huagaotwain PRIVATE Qt5::Widgets ${Qt5_STATIC_LINK_LIBRARIES} gdev gimgproc)
|
|
#target_link_directories(huagaotwain PRIVATE ${Qt5_STATIC_LINK_DIR})
|
|
|
|
set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/redistribute)
|
|
|
|
set(huagaotwain_path "$<$<CONFIG:Debug>:${LIBRARY_OUTPUT_PATH}\\Debug\\huagaotwain.dll>" "$<$<CONFIG:Release>:${LIBRARY_OUTPUT_PATH}\\Release\\huagaotwain.dll>")
|
|
string(REPLACE "/" "\\" huagaotwain_path ${huagaotwain_path})
|
|
#add_custom_command(TARGET huagaotwain POST_BUILD COMMAND copy ${huagaotwain_path} $ENV{windir}\\twain_32\\huagoscan\\huagaotwain.ds) |