# 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)