Commit c5225cb5 by xiaojing.zhang Committed by Carwyn

CMake 编译文件

parent 82bc1489
cmake_minimum_required(VERSION 3.1.0)
project(fmPOS)
add_subdirectory(fmp_epay)
add_subdirectory(fmp_home)
add_subdirectory(fmp_logger)
add_subdirectory(fmp_manager)
add_subdirectory(fmp_network)
add_subdirectory(fmp_printer)
add_subdirectory(fmp_redeem)
add_subdirectory(fmp_settings)
add_subdirectory(fmp_syncer)
add_subdirectory(fmp_takeout)
add_subdirectory(fmp_vip/fmp_vip)
add_subdirectory(FreemudPOS)
cmake_minimum_required(VERSION 3.1.0)
project(freemudPOS)
SET(TARGET_NAME freemudPOS)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
ADD_DEFINITIONS(-DUNICODE)
IF(CMAKE_BUILD_TYPE MATCHES "Debug")
message("debug mode ")
set(QTSERVICE QtSolutions_Service-headd)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../debug/bins)
ELSEIF(CMAKE_BUILD_TYPE MATCHES "Release")
set(QTSERVICE QtSolutions_Service-head)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../Release/bins)
ENDIF()
find_package(Qt5 COMPONENTS Widgets Gui Core Sql Network REQUIRED)
aux_source_directory(../FreemudPOS/ DIR_SRCS)
set(MOC_SRCS
../include/application/fm_singleton.h
)
qt5_wrap_cpp( MOC ${MOC_SRCS})
set(RC res/FreemudPOS.rc)
INCLUDE_DIRECTORIES(../include/interface)
INCLUDE_DIRECTORIES(../include/ctk)
INCLUDE_DIRECTORIES(../include/application)
INCLUDE_DIRECTORIES(qtservice/src)
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 )
cmake_minimum_required(VERSION 3.1.0)
project(fmp_logger)
SET(TARGET_NAME fmp_logger)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
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(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(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
)
qt5_add_resources(RCC ${RCC_SCRS})
INCLUDE_DIRECTORIES(../include/ctk)
INCLUDE_DIRECTORIES(../include/interface)
INCLUDE_DIRECTORIES(../include/log4cxx)
INCLUDE_DIRECTORIES(../include/common)
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 )
cmake_minimum_required(VERSION 3.1.0)
project(fmp_manager)
SET(TARGET_NAME fmp_manager)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
find_package(Qt5 COMPONENTS Gui Core 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()
#查找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
)
qt5_add_resources(RCC ${RCC_SCRS})
aux_source_directory(../fmp_manager/ DIR_SRCS)
INCLUDE_DIRECTORIES(../include/ctk)
INCLUDE_DIRECTORIES(../include/interface)
ADD_LIBRARY (${TARGET_NAME} SHARED ${DIR_SRCS} ${RCC_SCRS} res/fmp_manager.rc )
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 )
#平台判断
#生成可执行文件名称
cmake_minimum_required(VERSION 3.1.0)
project(fmp_network)
SET(TARGET_NAME fmp_network)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
find_package(Qt5 COMPONENTS Gui Core Network 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()
#查找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)
aux_source_directory(../fmp_network/ DIR_SRCS)
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 )
cmake_minimum_required(VERSION 3.1.0)
project(fmp_redeem)
SET(TARGET_NAME fmp_redeem)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
find_package(Qt5 COMPONENTS Widgets Gui Core Network WinExtras 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()
#查找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)
set(MOC_SRCS
fmp_redeem_i.h
)
qt5_wrap_cpp( MOC ${MOC_SRCS})
set(RCC_SCRS res/fmp_redeem.qrc
res/img.qrc
)
qt5_add_resources(RCC ${RCC_SCRS})
INCLUDE_DIRECTORIES(../include/ctk)
INCLUDE_DIRECTORIES(../include/interface)
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 )
#平台判断
#生成可执行文件名称
cmake_minimum_required(VERSION 3.1.0)
project(fmp_syncer)
SET(TARGET_NAME fmp_syncer)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
IF(CMAKE_BUILD_TYPE MATCHES "Debug")
message("debug mode ")
set(CTKCORE CTKCored)
set(CTKPLUG CTKPluginFrameworkd)
set(QUEZIP quazipd)
set(ZLIB zlibstaticd.lib)
set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../debug/plugins)
ELSEIF(CMAKE_BUILD_TYPE MATCHES "Release")
set(CTKCORE CTKCore)
set(CTKPLUG CTKPluginFramework)
set(QUEZIP quazip)
set(ZLIB zlibstatic.lib)
set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../Release/plugins)
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})
INCLUDE_DIRECTORIES(../include/ctk)
INCLUDE_DIRECTORIES(../include/interface)
INCLUDE_DIRECTORIES(../include/zlib)
INCLUDE_DIRECTORIES(../include/quazip)
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 )
#平台判断
#生成可执行文件名称
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