2 Star 2 Fork 1

enic / XEditor

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
CMakeLists.txt 7.12 KB
一键复制 编辑 原始数据 按行查看 历史
# author: enic
CMAKE_MINIMUM_REQUIRED(VERSION 3.0)
#dissable use relative path in set_target_pr,,,
CMAKE_POLICY(SET CMP0021 NEW)
CMAKE_POLICY(SET CMP0003 NEW)
#添加自定义cmake module path
set(CMAKE_MODULE_PATH
${CMAKE_MODULE_PATH}
"${CMAKE_SOURCE_DIR}/cmake_module"
)
PROJECT(XEditor)
# set cmake module path
set(CMAKE_MODULE_PATH
${CMAKE_MODULE_PATH}
"${CMAKE_SOURCE_DIR}/cmake"
)
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib)
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib)
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_SOURCE_DIR}/bin/debug)
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${CMAKE_SOURCE_DIR}/lib/debug)
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_SOURCE_DIR}/lib/debug)
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_SOURCE_DIR}/bin/release)
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${CMAKE_SOURCE_DIR}/lib/release)
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_SOURCE_DIR}/bin/release)
#添加类unix系统的特殊处理:c++11支持,添加-fPIC选项,分文件夹设置
IF(UNIX)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fPIC")
ADD_DEFINITIONS(
-D_UNICODE
-DUNICODE
-D_X_PLATFORM_LINUX)
ENDIF()
# win32上常用的宏,记得unicode最好是定义一组两个(_UNICODE UNICODE),否则在nmakefile编译时可能有部分代码不会识别成UNICODE
IF(WIN32)
ADD_DEFINITIONS(
-DWIN32
-D_UNICODE
-DUNICODE
-DNOMINMAX
-D_SCL_SECURE_NO_WARNINGS
-D_CRT_SECURE_NO_WARNINGS
-D_WINSOCK_DEPRECATED_NO_WARNINGS
-D_WIN32_WINNT=0x0601)
ENDIF()
###!!! 下面的导入机制,需要择日参考gRpc的模式使用xxlib.cmake然后用find风格来实现
#############################################################################################################################
# pugixml
#############################################################################################################################
add_library(pugixml STATIC IMPORTED)
include_directories(${CMAKE_SOURCE_DIR}/third_part/pugixml/pugixml-1.6/src/)
set_target_properties(pugixml PROPERTIES IMPORTED_LOCATION_DEBUG ${CMAKE_SOURCE_DIR}/third_part/pugixml/pugixml-1.6/lib/debug/pugixml.lib)
set_target_properties(pugixml PROPERTIES IMPORTED_LOCATION_RELEASE ${CMAKE_SOURCE_DIR}/third_part/pugixml/pugixml-1.6/lib/release/pugixml.lib)
#set_target_properties(pugixml PROPERTIES IMPORTED_LOCATION_RELWITHDEBINFO ${CMAKE_SOURCE_DIR}/lib/release/pugixml.lib)
#set_target_properties(pugixml PROPERTIES IMPORTED_LOCATION_MINSIZEREL ${CMAKE_SOURCE_DIR}/lib/release/pugixml.lib)
#############################################################################################################################
#############################################################################################################################
# libSqlite3
#############################################################################################################################
add_library(libSqlite3 SHARED IMPORTED)
include_directories(${CMAKE_SOURCE_DIR}/third_part/sqlite3/src/)
IF(WIN32)
set_target_properties(libSqlite3 PROPERTIES IMPORTED_LOCATION_DEBUG ${CMAKE_SOURCE_DIR}/third_part/sqlite3/lib/debug/libSqlite3.lib)
set_target_properties(libSqlite3 PROPERTIES IMPORTED_LOCATION_RELEASE ${CMAKE_SOURCE_DIR}/third_part/sqlite3/lib/release/libSqlite3.lib)
#set_target_properties(libSqlite3 PROPERTIES IMPORTED_LOCATION_RELWITHDEBINFO ${CMAKE_SOURCE_DIR}/lib/release/libSqlite3.lib)
#set_target_properties(libSqlite3 PROPERTIES IMPORTED_LOCATION_MINSIZEREL ${CMAKE_SOURCE_DIR}/lib/release/libSqlite3.lib)
#DLL的lib如下指定
set_target_properties(libSqlite3 PROPERTIES IMPORTED_IMPLIB_DEBUG ${CMAKE_SOURCE_DIR}/third_part/sqlite3/lib/debug/libSqlite3.lib)
set_target_properties(libSqlite3 PROPERTIES IMPORTED_IMPLIB_RELEASE ${CMAKE_SOURCE_DIR}/third_part/sqlite3/lib/release/libSqlite3.lib)
#set_target_properties(libSqlite3 PROPERTIES IMPORTED_IMPLIB_RELWITHDEBINFO ${CMAKE_SOURCE_DIR}/lib/release/libSqlite3.lib)
#set_target_properties(libSqlite3 PROPERTIES IMPORTED_IMPLIB_MINSIZEREL ${CMAKE_SOURCE_DIR}/lib/release/libSqlite3.lib)
ELSEIF(UNIX)
set_target_properties(libSqlite3 PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/lib/debug/libSqlite3.so)
set_target_properties(libSqlite3 PROPERTIES IMPORTED_LOCATION_DEBUG ${CMAKE_SOURCE_DIR}/lib/debug/libSqlite3.so)
# set_target_properties(libSqlite3 PROPERTIES IMPORTED_LOCATION_RELEASE ${CMAKE_SOURCE_DIR}/lib/release/libSqlite3.so)
# set_target_properties(libSqlite3 PROPERTIES IMPORTED_LOCATION_RELWITHDEBINFO ${CMAKE_SOURCE_DIR}/lib/release/libSqlite3.so)
# set_target_properties(libSqlite3 PROPERTIES IMPORTED_LOCATION_MINSIZEREL ${CMAKE_SOURCE_DIR}/lib/release/libSqlite3.so)
ENDIF()
#############################################################################################################################
#############################################################################################################################
# skia
#############################################################################################################################
add_library(skia STATIC IMPORTED)
#include_directories(
# ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/include/
# ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/include/config/
# ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/include/core/
# ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/src/core/
# ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/include/gpu/
# ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/src/gpu/
# ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/include/images/
# ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/include/utils/
# ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/include/utils/win/
# ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/src/utils/
# ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/include/ports/
# ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/include/text/
# ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/include/effects/
# ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/src/sfnt/
# ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/include/pathops/
# ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/src/image/
# ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/src/opts/
# ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/src/lazy/
# ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/include/views/
# )
set_target_properties(skia PROPERTIES IMPORTED_LOCATION_DEBUG ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/lib/Debug/skia.lib)
set_target_properties(skia PROPERTIES IMPORTED_LOCATION_RELEASE ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/lib/Release/skia.lib)
set_target_properties(skia PROPERTIES IMPORTED_LOCATION_RELWITHDEBINFO ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/lib/RelWithDebInfo/skia.lib)
set_target_properties(skia PROPERTIES IMPORTED_LOCATION_MINSIZEREL ${CMAKE_SOURCE_DIR}/third_part/skia/skia-soui/lib/MinSizeRel/skia.lib)
#############################################################################################################################
ADD_SUBDIRECTORY(XLib)
ADD_SUBDIRECTORY(Test)
ADD_SUBDIRECTORY(Demo)
C
1
https://gitee.com/enic/XEditor.git
git@gitee.com:enic/XEditor.git
enic
XEditor
XEditor
master

搜索帮助