Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
fmPOS
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhenfei.zhang
fmPOS
Commits
4847757d
Commit
4847757d
authored
Sep 14, 2018
by
xiaojing.zhang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
CMake 处理bat中的部分功能
parent
e9aff432
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
320 additions
and
208 deletions
+320
-208
FreemudPOS/CMakeLists.txt
+5
-9
MANIFEST.MF.in
+5
-0
fmp_logger/CMakeLists.txt
+50
-40
fmp_manager/CMakeLists.txt
+49
-34
fmp_network/CMakeLists.txt
+49
-32
fmp_redeem/CMakeLists.txt
+47
-33
fmp_syncer/CMakeLists.txt
+53
-60
fmprc_cmake.bat
+30
-0
template.qrc.in
+5
-0
version.h.in
+27
-0
No files found.
FreemudPOS/CMakeLists.txt
View file @
4847757d
...
...
@@ -6,6 +6,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
set
(
CMAKE_AUTOMOC ON
)
set
(
CMAKE_AUTORCC ON
)
ADD_DEFINITIONS
(
-DUNICODE
)
set
(
CMAKE_BUILD_TYPE Debug
)
IF
(
CMAKE_BUILD_TYPE MATCHES
"Debug"
)
message
(
"debug mode "
)
set
(
QTSERVICE QtSolutions_Service-headd
)
...
...
@@ -17,7 +18,7 @@ ENDIF()
find_package
(
Qt5 COMPONENTS Widgets Gui Core Sql Network REQUIRED
)
aux_source_directory
(
../FreemudPOS
/ DIR_SRCS
)
aux_source_directory
(
.
/ DIR_SRCS
)
set
(
MOC_SRCS
../include/application/fm_singleton.h
...
...
@@ -32,20 +33,15 @@ INCLUDE_DIRECTORIES(../include/ctk)
INCLUDE_DIRECTORIES
(
../include/application
)
INCLUDE_DIRECTORIES
(
qtservice/src
)
link_directories
(
../lib
)
link_libraries
(
${
QTSERVICE
}
)
add_executable
(
${
TARGET_NAME
}
${
MOC_SRCS
}
${
DIR_SRCS
}
${
RC
}
)
target_link_libraries
(
${
TARGET_NAME
}
Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Network Qt5::Sql
)
find_library
(
LIB_SERPATH
${
QTSERVICE
}
../lib
)
#ҿ·
IF
(
NOT LIB_SERPATH
)
MESSAGE
(
FATAL_ERROR
"QtSolutions_Service-headd.lib. not found"
)
ENDIF
(
NOT LIB_SERPATH
)
MESSAGE
(
run time lib is
${
LIB_SERPATH
}
)
target_link_libraries
(
${
TARGET_NAME
}
${
LIB_SERPATH
}
)
set
(
CMAKE_BUILD_TYPE Debug
)
...
...
MANIFEST.MF.in
0 → 100644
View file @
4847757d
Plugin-SymbolicName: @VER_TARGET@
Plugin-Version: @VERSION@
Plugin-Name: @VER_TARGET@
Plugin-Copyright: Freemud Ltd. Copyright (C) 2014-@VER_TIME@
Plugin-Vendor: Freemud
fmp_logger/CMakeLists.txt
View file @
4847757d
...
...
@@ -7,31 +7,67 @@ 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 Gui Concurrent REQUIRED
)
IF
(
CMAKE_BUILD_TYPE MATCHES
"Debug"
)
message
(
"debug mode "
)
set
(
CTKCORE CTKCored
)
set
(
CTKPLUG CTKPluginFrameworkd
)
set
(
LOG4
log4cxxd
)
set
(
LOG4 log4cxxd
)
set
(
LIBRARY_OUTPUT_PATH
${
CMAKE_CURRENT_SOURCE_DIR
}
/../debug/plugins
)
ELSEIF
(
CMAKE_BUILD_TYPE MATCHES
"Release"
)
set
(
CTKCORE CTKCore
)
set
(
CTKPLUG CTKPluginFramework
)
set
(
LOG4
log4cxx
)
set
(
LOG4
log4cxx
)
set
(
LIBRARY_OUTPUT_PATH
${
CMAKE_CURRENT_SOURCE_DIR
}
/../Release/plugins
)
ENDIF
()
#查找bat文件位置
find_path
(
BATPATH fmprc.bat PATHS
${
CMAKE_CURRENT_SOURCE_DIR
}
/../
)
#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
}
"
)
aux_source_directory
(
../fmp_logger/ DIR_SRCS
)
set
(
RCC_SCRS res/fmp_logger.qrc
)
...
...
@@ -43,40 +79,14 @@ INCLUDE_DIRECTORIES(../include/interface)
INCLUDE_DIRECTORIES
(
../include/log4cxx
)
INCLUDE_DIRECTORIES
(
../include/common
)
link_directories
(
${
BATPATH
}
/lib
)
link_libraries
(
${
CTKCORE
}
${
CTKPLUG
}
${
LOG4
}
)
ADD_LIBRARY
(
${
TARGET_NAME
}
SHARED
${
DIR_SRCS
}
${
RCC_SCRS
}
res/fmp_logger.rc
)
target_link_libraries
(
${
TARGET_NAME
}
Qt5::Core Qt5::Concurrent
)
#加载第三方动态库
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
}
)
find_library
(
LIBLOG
${
LOG4
}
../lib
)
#查找库路径
IF
(
NOT LIBLOG
)
MESSAGE
(
FATAL_ERROR
"log4cxxd.lib not found"
)
ENDIF
(
NOT LIBLOG
)
MESSAGE
(
run time lib is
${
LIBLOG
}
)
target_link_libraries
(
${
TARGET_NAME
}
${
LIBLOG
}
)
execute_process
(
COMMAND
${
ABSPATH
}
version.h
${
ORIGIN_TARGET
}
WORKING_DIRECTORY
${
CMAKE_CURRENT_SOURCE_DIR
}
)
#生成version.h
set
(
CMAKE_BUILD_TYPE Debug
)
fmp_manager/CMakeLists.txt
View file @
4847757d
...
...
@@ -7,6 +7,52 @@ 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 Gui Core REQUIRED
)
...
...
@@ -21,15 +67,6 @@ ELSEIF(CMAKE_BUILD_TYPE MATCHES "Release")
set
(
LIBRARY_OUTPUT_PATH
${
CMAKE_CURRENT_SOURCE_DIR
}
/../Release/plugins
)
ENDIF
()
#查找bat文件位置
find_path
(
BATPATH fmprc.bat PATHS
${
CMAKE_CURRENT_SOURCE_DIR
}
/../
)
#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
}
"
)
set
(
RCC_SCRS res/fmp_manager.qrc
)
...
...
@@ -42,6 +79,9 @@ aux_source_directory(../fmp_manager/ DIR_SRCS)
INCLUDE_DIRECTORIES
(
../include/ctk
)
INCLUDE_DIRECTORIES
(
../include/interface
)
link_directories
(
${
BATPATH
}
/lib
)
link_libraries
(
${
CTKCORE
}
${
CTKPLUG
}
)
ADD_LIBRARY
(
${
TARGET_NAME
}
SHARED
${
DIR_SRCS
}
${
RCC_SCRS
}
res/fmp_manager.rc
)
...
...
@@ -49,32 +89,7 @@ target_link_libraries(${TARGET_NAME} Qt5::Gui Qt5::Core)
#加载第三方动态库
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
)
#平台判断
#生成可执行文件名称
fmp_network/CMakeLists.txt
View file @
4847757d
...
...
@@ -7,6 +7,53 @@ 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 Gui Core Network REQUIRED
)
...
...
@@ -21,21 +68,10 @@ ELSEIF(CMAKE_BUILD_TYPE MATCHES "Release")
set
(
LIBRARY_OUTPUT_PATH
${
CMAKE_CURRENT_SOURCE_DIR
}
/../Release/plugins
)
ENDIF
()
#查找bat文件位置
find_path
(
BATPATH fmprc.bat PATHS
${
CMAKE_CURRENT_SOURCE_DIR
}
/../
)
#bat绝对路径
set
(
ORIGIN_TARGET
${
TARGET_NAME
}
)
set
(
ABSPATH
${
BATPATH
}
/fmprc.bat
)
execute_process
(
COMMAND
${
ABSPATH
}
version.h
${
ORIGIN_TARGET
}
WORKING_DIRECTORY
${
CMAKE_CURRENT_SOURCE_DIR
}
)
#生成version.h
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
}
"
)
INCLUDE_DIRECTORIES
(
../include/ctk
)
INCLUDE_DIRECTORIES
(
../include/interface
)
link_directories
(
${
BATPATH
}
/lib
)
link_libraries
(
${
CTKCORE
}
${
CTKPLUG
}
)
aux_source_directory
(
../fmp_network/ DIR_SRCS
)
...
...
@@ -47,25 +83,6 @@ ADD_LIBRARY (${TARGET_NAME} SHARED ${DIR_SRCS} ${RCC_SCRS} )
target_link_libraries
(
${
TARGET_NAME
}
Qt5::Core Qt5::Gui Qt5::Network
)
#加载第三方动态库
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
}
)
set
(
CMAKE_BUILD_TYPE Debug
)
...
...
fmp_redeem/CMakeLists.txt
View file @
4847757d
...
...
@@ -7,7 +7,52 @@ 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 WinExtras REQUIRED
)
IF
(
CMAKE_BUILD_TYPE MATCHES
"Debug"
)
...
...
@@ -21,15 +66,6 @@ ELSEIF(CMAKE_BUILD_TYPE MATCHES "Release")
set
(
LIBRARY_OUTPUT_PATH
${
CMAKE_CURRENT_SOURCE_DIR
}
/../Release/plugins
)
ENDIF
()
#查找bat文件位置
find_path
(
BATPATH fmprc.bat PATHS
${
CMAKE_CURRENT_SOURCE_DIR
}
/../
)
#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
}
"
)
aux_source_directory
(
../fmp_redeem/ DIR_SRCS
)
...
...
@@ -46,36 +82,14 @@ qt5_add_resources(RCC ${RCC_SCRS})
INCLUDE_DIRECTORIES
(
../include/ctk
)
INCLUDE_DIRECTORIES
(
../include/interface
)
link_directories
(
${
BATPATH
}
/lib
)
link_libraries
(
${
CTKCORE
}
${
CTKPLUG
}
)
ADD_LIBRARY
(
${
TARGET_NAME
}
SHARED
${
DIR_SRCS
}
${
MOC_SRCS
}
${
RCC_SCRS
}
res/fmp_redeem.rc
)
target_link_libraries
(
${
TARGET_NAME
}
Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Network Qt5::WinExtras
)
#加载第三方动态库
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
)
#平台判断
#生成可执行文件名称
fmp_syncer/CMakeLists.txt
View file @
4847757d
...
...
@@ -6,6 +6,56 @@ 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
)
MESSAGE
(
STATUS
"batoutput=
${
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
(
Qt5Widgets CONFIG REQUIRED
)
IF
(
CMAKE_BUILD_TYPE MATCHES
"Debug"
)
message
(
"debug mode "
)
set
(
CTKCORE CTKCored
)
...
...
@@ -22,25 +72,6 @@ ELSEIF(CMAKE_BUILD_TYPE MATCHES "Release")
ENDIF
()
ADD_DEFINITIONS
(
-DQUAZIP_STATIC
)
find_package
(
Qt5Widgets CONFIG REQUIRED
)
#查找bat文件位置
find_path
(
BATPATH fmprc.bat PATHS
${
CMAKE_CURRENT_SOURCE_DIR
}
/../
)
message
(
"The bat find path is:
${
BATPATH
}
"
)
#bat绝对路径
set
(
ORIGIN_TARGET
${
TARGET_NAME
}
)
message
(
"origin target:
${
ORIGIN_TARGET
}
"
)
set
(
ABSPATH
${
BATPATH
}
/fmprc.bat
)
message
(
"The bat full path is:
${
ABSPATH
}
"
)
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
}
"
)
aux_source_directory
(
../fmp_syncer/ DIR_SRCS
)
set
(
RCC_SCRS res/fmp_syncer.qrc
)
qt5_add_resources
(
RCC
${
RCC_SCRS
}
)
...
...
@@ -50,6 +81,9 @@ INCLUDE_DIRECTORIES(../include/interface)
INCLUDE_DIRECTORIES
(
../include/zlib
)
INCLUDE_DIRECTORIES
(
../include/quazip
)
link_directories
(
${
BATPATH
}
/lib
)
link_libraries
(
${
CTKCORE
}
${
CTKPLUG
}
${
QUEZIP
}
${
ZLIB
}
)
ADD_LIBRARY
(
${
TARGET_NAME
}
SHARED
${
DIR_SRCS
}
${
RCC_SCRS
}
res/fmp_syncer.rc
)
...
...
@@ -57,46 +91,5 @@ ADD_LIBRARY (${TARGET_NAME} SHARED ${DIR_SRCS} ${RCC_SCRS} res/fmp_syncer.rc)
target_link_libraries
(
${
TARGET_NAME
}
Qt5::Widgets
)
#加载第三方动态库
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
}
)
find_library
(
LIBQUAZ
${
QUEZIP
}
../lib
)
IF
(
NOT LIBQUAZ
)
MESSAGE
(
FATAL_ERROR
"quazipd.lib not found"
)
ENDIF
(
NOT LIBQUAZ
)
MESSAGE
(
run time lib is
${
LIBQUAZ
}
)
target_link_libraries
(
${
TARGET_NAME
}
${
LIBQUAZ
}
)
find_library
(
LIBZLIB
${
ZLIB
}
../lib
)
IF
(
NOT LIBZLIB
)
MESSAGE
(
FATAL_ERROR
"zlibstaticd.lib not found"
)
ENDIF
(
NOT LIBZLIB
)
MESSAGE
(
run time lib is
${
LIBZLIB
}
)
target_link_libraries
(
${
TARGET_NAME
}
${
LIBZLIB
}
)
execute_process
(
COMMAND
${
ABSPATH
}
version.h
${
ORIGIN_TARGET
}
WORKING_DIRECTORY
${
CMAKE_CURRENT_SOURCE_DIR
}
)
#生成version.h
set
(
CMAKE_BUILD_TYPE Debug
)
#平台判断
#生成可执行文件名称
fmprc_cmake.bat
0 → 100644
View file @
4847757d
@echo off
set file_desc=%1
cd /d %~dp0%1
set "file_desc=%file_desc:_=.%"
echo %file_desc%
set year=%date:~0,4%
echo %year%
for /f %%i in ('git describe') do set ver_tag=%%i
for /f "tokens=1 delims=-" %%i in ("%ver_tag%") do (
set ver_tag=%%i
)
set tmp_ver=%ver_tag%
if "%tmp_ver%" neq "" set ver_tag=%tmp_ver%
for /f "tokens=1-3 delims=." %%h in ("%ver_tag%") do (
set ver_maj=%%h
set ver_min=%%i
set ver_rev=%%j
)
echo %ver_maj%
echo %ver_min%
echo %ver_rev%
set version=%ver_maj%.%ver_min%.%ver_rev%
echo %version%
for /f %%i in ('git rev-list HEAD --count') do set ver_build=%%i
echo %ver_build%
template.qrc.in
0 → 100644
View file @
4847757d
<RCC>
<qresource prefix="/@VER_TARGET@/META-INF">
<file>MANIFEST.MF</file>
</qresource>
</RCC>
version.h.in
0 → 100644
View file @
4847757d
#ifndef _VERSION_H_
#define _VERSION_H_
#define VER_MAJOR @VER_MAJOR@
#define VER_MINOR @VER_MINOR@
#define VER_REVISION @VER_REVISION@
#define VER_BUILD @VER_BUILD@
//! Convert version numbers to string
#define _STR(S) #S
#define STR(S) _STR(S)
#define _MAK_VER(maj, min, rev, build) STR(##maj.##min.##rev.##build\0)
#define MAK_VER(maj, min, rev, build) _MAK_VER(maj, min, rev, build)
//! Resource version infomation
#define RES_FILE_VER VER_MAJOR,VER_MINOR,VER_REVISION,VER_BUILD
#define RES_PRODUCT_VER VER_MAJOR,VER_MINOR,VER_REVISION,VER_BUILD
#define RES_STR_FILE_VER MAK_VER(VER_MAJOR, VER_MINOR, VER_REVISION, VER_BUILD)
#define RES_STR_PRODUCT_VER MAK_VER(VER_MAJOR, VER_MINOR, VER_REVISION, VER_BUILD)
#define RES_COMPANY_NAME "上海非码网络科技有限公司\0"
#define RES_COPYRIGHT "Freemud Ltd. Copyright (C) 2014-@VER_TIME@\0"
#define RES_FILE_DESC "@VER_TARGET@\0"
#define RES_INTER_NAME "@VER_TARGET@\0"
#define RES_FILE_NAME "@VER_TARGET@\0"
#define RES_PRODUCT_NAME "@VER_TARGET@\0"
#define RES_FILE_EXT "*\0"
#endif //!_VERSION_H_
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment