twain3.0/CMakeLists.txt

76 lines
2.3 KiB
CMake

# CMake 最低版本号要求
cmake_minimum_required (VERSION 2.8)
# 项目信息
project (hugaotwain)
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})
message( ${GIT_VERSION})
message( ${GIT_REMOTE_PATH})
# 查找当前目录下的所有源文件
# 并将名称保存到 DIR_SRCS 变量
aux_source_directory(${PROJECT_SOURCE_DIR}/huagao DIR_SRCS)
aux_source_directory(${PROJECT_SOURCE_DIR}/huagao/device DIR_DEVICE_SRCS)
aux_source_directory(${PROJECT_SOURCE_DIR}/huagao/ImageProcess DIR_IMGPROC_SRCS)
file(GLOB DIR_HEADS "${PROJECT_SOURCE_DIR}/huagao/*.h")
file(GLOB DIR_DEVICE_HEADS "${PROJECT_SOURCE_DIR}/huagao/device/*.h")
file(GLOB DIR_IMGPROC_HEADS "${PROJECT_SOURCE_DIR}/huagao/ImageProcess/*.h")
include_directories(${PROJECT_SOURCE_DIR}/twpp
${PROJECT_SOURCE_DIR}/3rdparty/nick
${PROJECT_SOURCE_DIR}/3rdparty/opencv/include
${PROJECT_SOURCE_DIR}/3rdparty/ddk
${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/huagao
${PROJECT_SOURCE_DIR}/3rdparty/boost_1_73_0
)
link_directories(${PROJECT_SOURCE_DIR}/3rdparty/opencv/staticlib
${PROJECT_SOURCE_DIR}/3rdparty/boost_1_73_0/lib32-msvc-14.1
)
MACRO(RW_LINK_3RD_PART_LIBRARY FULL_LIBRARY_NAME)
link_libraries(optimized ${FULL_LIBRARY_NAME})
link_libraries(debug ${FULL_LIBRARY_NAME}d)
ENDMACRO()
link_libraries(ippicvmt)
RW_LINK_3RD_PART_LIBRARY(opencv_world320)
RW_LINK_3RD_PART_LIBRARY(IlmImf)
RW_LINK_3RD_PART_LIBRARY(libjasper)
RW_LINK_3RD_PART_LIBRARY(libjpeg)
RW_LINK_3RD_PART_LIBRARY(libpng)
RW_LINK_3RD_PART_LIBRARY(libtiff)
RW_LINK_3RD_PART_LIBRARY(libwebp)
RW_LINK_3RD_PART_LIBRARY(zlib)
add_definitions(-D_AFXDLL -DTWPP_IS_DS -D_CRT_SECURE_NO_WARNINGS)
add_definitions( -DGIT_VERSION=\"${GIT_VERSION}\")
set(CMAKE_MFC_FLAG 2)
# 指定生成目标
add_library(hugaotwain SHARED ${DIR_SRCS} ${DIR_IMGPROC_SRCS} ${DIR_DEVICE_SRCS}
${PROJECT_SOURCE_DIR}/huagao/huagaotwds.rc ${PROJECT_SOURCE_DIR}/huagao/exports.def
${DIR_HEADS} ${DIR_DEVICE_HEADS} ${DIR_IMGPROC_HEADS}
)
SET_TARGET_PROPERTIES(hugaotwain
PROPERTIES
VERSION 1.1.1
SOVERSION 2)