Commit ee1b5630 by gujin.wang

添加cmake支持

parents 320a65ee f03055c8
cmake_minimum_required(VERSION 3.1.0)
project(fmp_printer)
SET(TARGET_NAME fmp_printer)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
#通过批处理文件获取版本和资源文件需要的一些信息
find_path(BATPATH fmprc_cmake.bat PATHS ${CMAKE_CURRENT_SOURCE_DIR}/../)
MESSAGE(bat path is ${BATPATH})
set(ORIGIN_TARGET ${TARGET_NAME})
set(ABSPATH ${BATPATH}/fmprc_cmake.bat)
execute_process(COMMAND ${ABSPATH} ${TARGET_NAME} OUTPUT_VARIABLE VER )
string(REGEX REPLACE "\r|\n" " " VERTEMP ${VER})
string(STRIP ${VERTEMP} SEXY_STRING)
string(REPLACE " " ";" SEXY_LIST ${SEXY_STRING})
message(STATUS "list = ${SEXY_LIST}")
list(GET SEXY_LIST 0 VER_TARGET)
message(STATUS "VER_TARGET = ${VER_TARGET}")
list(GET SEXY_LIST 1 VER_TIME)
message(STATUS "VER_TIME = ${VER_TIME}")
list(GET SEXY_LIST 2 VER_MAJOR)
message(STATUS "VER_MAJOR = ${VER_MAJOR}")
list(GET SEXY_LIST 3 VER_MINOR)
message(STATUS "VER_MINOR = ${VER_MINOR}")
list(GET SEXY_LIST 4 VER_REVISION)
message(STATUS "VER_REVISION = ${VER_REVISION}")
list(GET SEXY_LIST 5 VERSION)
message(STATUS "VERSION = ${VERSION}")
list(GET SEXY_LIST 6 VER_BUILD)
message(STATUS "VER_BUILD = ${VER_BUILD}")
set(TARGET_NAME ${TARGET_NAME}_${VERSION})
find_path(versionpath version.h.in PATHS ${CMAKE_CURRENT_SOURCE_DIR}/..)
message(${versionpath})
#资源文件替换及拷贝
configure_file(
"${PROJECT_SOURCE_DIR}/../version.h.in"
"${PROJECT_SOURCE_DIR}/version.h"
)
configure_file(
"${PROJECT_SOURCE_DIR}/../MANIFEST.MF.in"
"${PROJECT_SOURCE_DIR}/res/MANIFEST.MF"
)
configure_file(
"${PROJECT_SOURCE_DIR}/../template.qrc.in"
"${PROJECT_SOURCE_DIR}/res/${ORIGIN_TARGET}.qrc"
)
configure_file("${PROJECT_SOURCE_DIR}/../pluginrc.h" "${PROJECT_SOURCE_DIR}/res/resource.h" COPYONLY)
configure_file("${PROJECT_SOURCE_DIR}/../pluginrc.rc" "${PROJECT_SOURCE_DIR}/res/${ORIGIN_TARGET}.rc" COPYONLY)
#编译及相关信息配置
set( CMAKE_BUILD_TYPE Debug )
find_package(Qt5 COMPONENTS Widgets Gui Core Network Concurrent Multimedia PrintSupport REQUIRED)
IF(CMAKE_BUILD_TYPE MATCHES "Debug")
message("debug mode ")
set(CTKCORE CTKCored)
set(CTKPLUG CTKPluginFrameworkd)
set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../debug/plugins)
ELSEIF(CMAKE_BUILD_TYPE MATCHES "Release")
set(CTKCORE CTKCore)
set(CTKPLUG CTKPluginFramework)
set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../Release/plugins)
ENDIF()
INCLUDE_DIRECTORIES(../include/ctk)
INCLUDE_DIRECTORIES(../include/interface)
link_directories(${BATPATH}/lib)
link_libraries(${CTKCORE} ${CTKPLUG})
aux_source_directory(../fmp_printer/ DIR_SRCS)
aux_source_directory(../fmp_printer/QsLog/ DIR_LOG)
aux_source_directory(../fmp_printer/global/ DIR_GLOBAL)
ADD_LIBRARY (${TARGET_NAME} SHARED ${DIR_SRCS} ${DIR_LOG} ${DIR_GLOBAL} ${RCC_SCRS} )
target_link_libraries(${TARGET_NAME} Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Network Qt5::Concurrent Qt5::Multimedia Qt5::PrintSupport)
......@@ -3,7 +3,9 @@ TEMPLATE = lib
QT += core gui network sql multimedia printsupport
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
QMAKE_LFLAGS_RELEASE += /MAP
QMAKE_CFLAGS_RELEASE += /Zi
QMAKE_LFLAGS_RELEASE += /debug /opt:ref
DESTDIR = ./bin
MOC_DIR = ./tmp
OBJECTS_DIR = ./tmp
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment