Commit 461f62c4 by xiaojing.zhang

1.Cmake优化

parent 34228009
...@@ -6,57 +6,6 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) ...@@ -6,57 +6,6 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC 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 Sql Network PrintSupport REQUIRED)
IF(CMAKE_BUILD_TYPE MATCHES "Debug") IF(CMAKE_BUILD_TYPE MATCHES "Debug")
message("debug mode ") message("debug mode ")
set(CTKCORE CTKCored) set(CTKCORE CTKCored)
...@@ -68,6 +17,18 @@ ELSEIF(CMAKE_BUILD_TYPE MATCHES "Release") ...@@ -68,6 +17,18 @@ ELSEIF(CMAKE_BUILD_TYPE MATCHES "Release")
set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../Release/plugins) set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../Release/plugins)
ENDIF() ENDIF()
#查找bat文件位置
find_path(BATPATH fmprc.bat ../../fmPOS)
#bat绝对路径
set(ORIGIN_TARGET ${TARGET_NAME})
set(ABSPATH ${BATPATH}/fmprc.bat)
execute_process(COMMAND ${ABSPATH} OUTPUT_VARIABLE VER)
string(REGEX REPLACE "\r|\n|\\s" "" VERTEMP ${VER})
set(TARGET_NAME ${TARGET_NAME}_${VERTEMP})
message("The temp name is: ${TARGET_NAME}")
find_package(Qt5 COMPONENTS Widgets Gui Core Sql Network PrintSupport REQUIRED)
ADD_DEFINITIONS(-D UNICODE) ADD_DEFINITIONS(-D UNICODE)
...@@ -85,8 +46,6 @@ aux_source_directory(../fmp_takeout/Ui/ UI_SRCS) ...@@ -85,8 +46,6 @@ aux_source_directory(../fmp_takeout/Ui/ UI_SRCS)
INCLUDE_DIRECTORIES(../include/ctk) INCLUDE_DIRECTORIES(../include/ctk)
INCLUDE_DIRECTORIES(../include/interface) INCLUDE_DIRECTORIES(../include/interface)
link_directories(${BATPATH}/lib)
link_libraries(${CTKCORE} ${CTKPLUG})
set(MOC_SRCS set(MOC_SRCS
fmp_takeout_i.h fmp_takeout_i.h
...@@ -113,6 +72,24 @@ ADD_LIBRARY (${TARGET_NAME} SHARED ${DIR_SRCS} ${DATA_SRCS} ${GLOBAL_SRCS} ${MOD ...@@ -113,6 +72,24 @@ ADD_LIBRARY (${TARGET_NAME} SHARED ${DIR_SRCS} ${DATA_SRCS} ${GLOBAL_SRCS} ${MOD
target_link_libraries(${TARGET_NAME} Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Network Qt5::Sql Qt5::PrintSupport) target_link_libraries(${TARGET_NAME} Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Network Qt5::Sql Qt5::PrintSupport)
find_library(LIBPATH ${CTKCORE} ../lib)
IF(NOT LIBPATH)
MESSAGE(FATAL_ERROR "CTKCored.lib not found")
ENDIF(NOT LIBPATH)
MESSAGE(run time lib is ${LIBPATH})
target_link_libraries(${TARGET_NAME} ${LIBPATH})
find_library(LIB2 ${CTKPLUG} ../lib)
IF(NOT LIB2)
MESSAGE(FATAL_ERROR "CTKPluginFrameworkd.lib not found")
ENDIF(NOT LIB2)
MESSAGE(run time lib is ${LIB2})
target_link_libraries(${TARGET_NAME} ${LIB2})
execute_process(COMMAND ${ABSPATH} version.h ${ORIGIN_TARGET}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) #生成version.h
set( CMAKE_BUILD_TYPE Debug )
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