加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
CMakeLists.txt 2.74 KB
一键复制 编辑 原始数据 按行查看 历史
#-------------------------------------------------------
# Copyright (c) DuiMagic
# All rights reserved.
# History:
# <Author> <Time> <Version> <Des>
# guoyou 2015-1-5 1.0
# k000 2017-07-11 修复项目作为子项目引入时PrecompiledHeader.cmake路径错误
# k000 2017-07-12 移除全局 _DMDesigner_ 宏定义
# 仅在启用 USE_DESIGNER_ 选项时编译 DMDesigner 项目
#-------------------------------------------------------
cmake_minimum_required(VERSION 2.8)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
# 工程名
PROJECT(DM)
# 支持简版if else
set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
# 使用相对路径
set(CMAKE_USE_RELATIVE_PATHS true)
set(CMAKE_SUPPRESS_REGENERATION true)
IF(DEBUG_MODE)
ADD_DEFINITIONS(-D_DEBUG)
ENDIF()
# 定义工程的顶级路径,CMAKE_CURRENT_SOURCE_DIR:当前处理的CMakeLists.txt所在的路径
set(PROJDIR ${CMAKE_CURRENT_SOURCE_DIR})
# 设置输出路径,SET(EXECUTABLE_OUTPUT_PATH <新路径>)并不会对此变量有影响,只是改变了最终目标文件的存储路径
set(EXECUTABLE_OUTPUT_PATH ${DM_BINARY_DIR}/bin)
set(LIBRARY_OUTPUT_PATH ${DM_BINARY_DIR}/bin)
# 设置引用库路径
set(LIBS ${LIBRARY_OUTPUT_PATH};${DM_SOURCE_DIR}/3rdParty/lib)
LINK_DIRECTORIES(${LIBS})
# 开启DMMain默认为编译成dll
OPTION(USE_DMDLL_ "Compile DmMain as dll" ON)
if(USE_DMDLL_)
# 给解决方案中所有工程增加宏定义DLL_DMMAIN
ADD_DEFINITIONS(-DDLL_DMMAIN)
endif()
# 开启MT模式
OPTION(USE_ALLMT_ "Compile all projects as mt" ON)
# 开启设计器模式
OPTION(USE_DESIGNER_ "Compile DmMain for designer" OFF)
# 是否开启LOG功能
OPTION(USE_DMLOG_ "DM open log" ON)
if(USE_DMLOG_)
# 给解决方案中所有工程增加宏定义LOG_ON
ADD_DEFINITIONS(-DDMLOG_ON)
endif()
# 是否使用Skia引擎
OPTION(USE_DMSKIA_ "DM user skia render draw" OFF)
# 添加CMake的模块文件的查找路径
LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Tools/CMake)
INCLUDE(PrecompiledHeader)
# 增加子文件夹
ADD_SUBDIRECTORY(${PROJDIR}/DmMain)
ADD_SUBDIRECTORY(${PROJDIR}/Samples/DMDemo)
ADD_SUBDIRECTORY(${PROJDIR}/Samples/QQDemo)
ADD_SUBDIRECTORY(${PROJDIR}/Samples/DMUnitTest)
if(USE_DESIGNER_)
ADD_SUBDIRECTORY(${PROJDIR}/Samples/DMDesigner)
endif(USE_DESIGNER_)
ADD_SUBDIRECTORY(${PROJDIR}/Samples/TGPDemo)
if(USE_DMDLL_)# 仅dll模式下支持插件
ADD_SUBDIRECTORY(${PROJDIR}/PlugIns/Plugin_Expand)
ADD_SUBDIRECTORY(${PROJDIR}/PlugIns/Plugin_Designer)
endif()
ADD_SUBDIRECTORY(${PROJDIR}/3rdParty/zlib)
ADD_SUBDIRECTORY(${PROJDIR}/3rdParty/gtest)
ADD_SUBDIRECTORY(${PROJDIR}/3rdParty/lua)
ADD_SUBDIRECTORY(${PROJDIR}/3rdParty/scintilla)
if(USE_DMSKIA_)
ADD_SUBDIRECTORY(${PROJDIR}/3rdParty/skia)
endif()
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化