Commit e9ebbec4 by xiaojing.zhang

1.CMake优化

parent 0c98ea11
...@@ -6,13 +6,28 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) ...@@ -6,13 +6,28 @@ 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)
set( CMAKE_BUILD_TYPE Debug )
#通过批处理文件获取版本和资源文件需要的一些信息 find_package(Qt5Widgets CONFIG REQUIRED)
find_path(BATPATH fmprc_cmake.bat PATHS ${CMAKE_CURRENT_SOURCE_DIR}/../)
MESSAGE(bat path is ${BATPATH}) IF(CMAKE_BUILD_TYPE MATCHES "Debug")
message("debug mode ")
set(CTKCORE CTKCored.lib)
set(CTKPLUG CTKPluginFrameworkd.lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${fmPOS_SOURCE_DIR}/debug/plugins)
ELSEIF(CMAKE_BUILD_TYPE MATCHES "Release")
set(CTKCORE CTKCore.lib)
set(CTKPLUG CTKPluginFramework.lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${fmPOS_SOURCE_DIR}/Release/plugins)
ENDIF()
set(ORIGIN_TARGET ${TARGET_NAME}) set(ORIGIN_TARGET ${TARGET_NAME})
set(ABSPATH ${BATPATH}/fmprc_cmake.bat)
execute_process(COMMAND ${ABSPATH} ${TARGET_NAME} OUTPUT_VARIABLE VER ) #通过批处理文件获取版本和资源文件需要的一些信息
message(STATUS "The bat : ${ORIGIN_TARGET}")
set(ABSPATH ${fmPOS_SOURCE_DIR}/fmprc_cmake.bat)
message(STATUS "The bat : ${ABSPATH}")
execute_process(COMMAND ${ABSPATH} ${TARGET_NAME} WORKING_DIRECTORY ${fmPOS_SOURCE_DIR} OUTPUT_VARIABLE VER )
string(REGEX REPLACE "\r|\n" " " VERTEMP ${VER}) string(REGEX REPLACE "\r|\n" " " VERTEMP ${VER})
string(STRIP ${VERTEMP} SEXY_STRING) string(STRIP ${VERTEMP} SEXY_STRING)
string(REPLACE " " ";" SEXY_LIST ${SEXY_STRING}) string(REPLACE " " ";" SEXY_LIST ${SEXY_STRING})
...@@ -51,41 +66,31 @@ configure_file( ...@@ -51,41 +66,31 @@ configure_file(
configure_file("${PROJECT_SOURCE_DIR}/../pluginrc.h" "${PROJECT_SOURCE_DIR}/res/resource.h" COPYONLY) 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) configure_file("${PROJECT_SOURCE_DIR}/../pluginrc.rc" "${PROJECT_SOURCE_DIR}/res/${ORIGIN_TARGET}.rc" COPYONLY)
IF(CMAKE_BUILD_TYPE MATCHES "Debug") file(GLOB DIR_SRCS
message("debug mode ") "*.h"
set(CTKCORE CTKCored) "*.cpp"
set(CTKPLUG CTKPluginFrameworkd) ${PROJECT_SOURCE_DIR}/ui/*.h
set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../debug/plugins) ${PROJECT_SOURCE_DIR}/ui/*.cpp
ELSEIF(CMAKE_BUILD_TYPE MATCHES "Release") )
set(CTKCORE CTKCore)
set(CTKPLUG CTKPluginFramework)
set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../Release/plugins)
ENDIF()
#编译及相关信息配置
set( CMAKE_BUILD_TYPE Debug )
find_package(Qt5Widgets CONFIG REQUIRED)
set(RCC_SCRS res/fmp_settings.qrc INCLUDE_DIRECTORIES(${fmPOS_SOURCE_DIR}/include/ctk)
res/images.qrc INCLUDE_DIRECTORIES(${fmPOS_SOURCE_DIR}/include/interface)
) INCLUDE_DIRECTORIES(${fmPOS_SOURCE_DIR}/include/window)
aux_source_directory(../fmp_settings/ DIR_SRCS)
aux_source_directory(../fmp_settings/ui/ DIR_UI)
qt5_add_resources(RCC ${RCC_SCRS})
link_directories(${fmPOS_SOURCE_DIR}/lib)
INCLUDE_DIRECTORIES(../include/ctk)
INCLUDE_DIRECTORIES(../include/interface)
INCLUDE_DIRECTORIES(../include/window)
link_directories(${BATPATH}/lib) ADD_LIBRARY (${TARGET_NAME} SHARED ${DIR_SRCS} res/fmp_settings.qrc res/fmp_settings.rc )
link_libraries(${CTKCORE} ${CTKPLUG})
target_link_libraries(${TARGET_NAME}
Qt5::Widgets
${CTKCORE}
${CTKPLUG})
ADD_LIBRARY (${TARGET_NAME} SHARED ${DIR_SRCS} ${DIR_UI} ${RCC_SCRS} res/fmp_settings.rc)
target_link_libraries(${TARGET_NAME} Qt5::Widgets)
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