# include 另外一个cmake 配置
#INCLUDE(file1 [OPTIONAL])
cmake_minimum_required(VERSION 3.10)
set(CMAKE_CXX_STANDARD 14)
#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
project(minidb)
MESSAGE(STATUS "This is SOURCE dir " ${test_SOURCE_DIR})
MESSAGE(STATUS "This is BINARY dir " ${test_BINARY_DIR})
MESSAGE(STATUS "This is Project source dir " ${PROJECT_SOURCE_DIR})
MESSAGE(STATUS "This is PROJECT_BINARY_DIR dir " ${PROJECT_BINARY_DIR})
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
#SET(LIBRARY_OUTPUT_PATH <路径>)
MESSAGE(STATUS "HOME dir: $ENV{HOME}")
#SET(ENV{变量名} 值)
IF(WIN32)
MESSAGE(STATUS "This is windows.")
ADD_DEFINITIONS(-DWIN32)
ELSEIF(WIN64)
MESSAGE(STATUS "This is windows.")
ADD_DEFINITIONS(-DWIN64)
ELSEIF(APPLE)
MESSAGE(STATUS "This is apple")
# normally __MACH__ has already been defined
ADD_DEFINITIONS(-D__MACH__ )
ELSEIF(UNIX)
MESSAGE(STATUS "This is UNIX")
ADD_DEFINITIONS(-DUNIX -DLINUX)
ELSE()
MESSAGE(STATUS "This is UNKNOW OS")
ENDIF(WIN32)
# This is for clangd plugin for vscode
#SET(CMAKE_COMMON_FLAGS ${CMAKE_COMMON_FLAGS} " -Wstring-plus-int -Wsizeof-array-argument -Wunused-variable -Wmissing-braces")
SET(CMAKE_COMMON_FLAGS "${CMAKE_COMMON_FLAGS} -Wall -DCMAKE_EXPORT_COMPILE_COMMANDS=1")
IF(DEBUG)
MESSAGE("DEBUG has been set as TRUE ${DEBUG}")
#"${CMAKE_COMMON_FLAGS} -O0 -g " ${CMAKE_COMMON_FLAGS}最好在""以内,防止被cmake 增加了;
SET(CMAKE_COMMON_FLAGS "${CMAKE_COMMON_FLAGS} -O0 -g -DDEBUG ")
ADD_DEFINITIONS(-DENABLE_DEBUG)
ELSEIF(NOT DEFINED ENV{DEBUG})
MESSAGE("Disable debug")
SET(CMAKE_COMMON_FLAGS "${CMAKE_COMMON_FLAGS} -O2 -g ")
ELSE()
MESSAGE("Enable debug")
SET(CMAKE_COMMON_FLAGS "${CMAKE_COMMON_FLAGS} -O0 -g -DDEBUG")
ADD_DEFINITIONS(-DENABLE_DEBUG)
ENDIF()
SET(CMAKE_CXX_FLAGS ${CMAKE_COMMON_FLAGS})
SET(CMAKE_C_FLAGS ${CMAKE_COMMON_FLAGS})
MESSAGE("CMAKE_CXX_FLAGS is " ${CMAKE_CXX_FLAGS})
IF (CMAKE_INSTALL_PREFIX)
MESSAGE("CMAKE_INSTALL_PREFIX has been set as " ${CMAKE_INSTALL_PREFIX} )
ELSEIF(DEFINED ENV{CMAKE_INSTALL_PREFIX})
SET(CMAKE_INSTALL_PREFIX $ENV{CMAKE_INSTALL_PREFIX})
ELSE()
SET(CMAKE_INSTALL_PREFIX /tmp/${PROJECT_NAME})
ENDIF()
MESSAGE("Install target dir is " ${CMAKE_INSTALL_PREFIX})
# ADD_SUBDIRECTORY(src bin) bin 为目标目录, 可以省略
ADD_SUBDIRECTORY(deps)
ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(test/perf)
OPTION(WITH_UNIT_TESTS "Compile miniob with unit tests" ON)
IF(WITH_UNIT_TESTS)
ADD_SUBDIRECTORY(unitest)
ENDIF()
# install 准备安装的目录是cmakefile 的当前目录, 不是build 后生成的目录
# Files 默认权限OWNER_WRITE, OWNER_READ, GROUP_READ,和WORLD_READ,即644权限
# INSTALL(FILES docs/README DESTINATION ./ )
# INSTALL(DIRECTORY docs DESTINATION ./
# PATTERN "README" EXCLUDE)
# PERMISSIONS 可以直接替换
#INSTALL(DIRECTORY bin DESTINATION ./
# FILE_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_READ
# DIRECTORY_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_READ WORLD_EXECUTE)
INSTALL(DIRECTORY etc DESTINATION .
FILE_PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
#INSTALL([[SCRIPT <file>] [CODE <code>]] [...])
# script 表示安装时,调用cmake 脚步
# code 表示安装时,执行cmake 命令, 例如
INSTALL(CODE "MESSAGE(\"Sample install message.\")")
# EXEC_PROGRAM make时执行命令
#EXEC_PROGRAM(Executable [directory in which to run]
# [ARGS <arguments to executable>]
# [OUTPUT_VARIABLE <var>]
# ADD_TEST与ENABLE_TESTING 参考书籍
#EXEC_PROGRAM(Executable [directory in which to run]
# [ARGS <arguments to executable>]
# [OUTPUT_VARIABLE <var>]
# [RETURN_VALUE <var>])
# 生产make时,执行
#EXEC_PROGRAM(ls ARGS "*.c" OUTPUT_VARIABLE LS_OUTPUT RETURN_VALUE
# LS_RVALUE)
#IF(not LS_RVALUE)
# MESSAGE(STATUS "ls result: " ${LS_OUTPUT})
#ENDIF(not LS_RVALUE)
没有合适的资源?快使用搜索试试~ 我知道了~
oceanbase-admis2022-master
共343个文件
h:115个
cpp:99个
png:52个
需积分: 6 0 下载量 164 浏览量
2022-11-09
17:00:35
上传
评论
收藏 2.68MB ZIP 举报
温馨提示
同济大学admis实验室2022oceanbase大赛专用
资源推荐
资源详情
资源评论
收起资源包目录
oceanbase-admis2022-master (343个子文件)
yacc_sql.tab.c 70KB
lex.yy.c 63KB
.clang-format 2KB
COPYING 7KB
bplus_tree.cpp 60KB
table.cpp 25KB
bplus_tree_test.cpp 20KB
disk_buffer_pool.cpp 17KB
execute_stage.cpp 16KB
seda_config.cpp 13KB
record_manager.cpp 13KB
timer_stage.cpp 12KB
server.cpp 12KB
md5.cpp 11KB
datetime.cpp 11KB
parse.cpp 11KB
default_storage_stage.cpp 10KB
thread_pool.cpp 9KB
io.cpp 9KB
table_meta.cpp 8KB
log.cpp 8KB
mutex.cpp 8KB
init.cpp 7KB
trx.cpp 7KB
condition_filter.cpp 7KB
default_handler.cpp 6KB
rc.cpp 6KB
stage.cpp 6KB
ini.cpp 6KB
client.cpp 5KB
string.cpp 5KB
select_stmt.cpp 5KB
path.cpp 5KB
record_manager_test.cpp 5KB
field_meta.cpp 5KB
session_stage.cpp 4KB
metrics.cpp 4KB
main.cpp 4KB
bplus_tree_index.cpp 4KB
process.cpp 4KB
db.cpp 4KB
mem_pool.cpp 4KB
filter_stmt.cpp 4KB
stage_event.cpp 4KB
event_dispatcher.cpp 3KB
parse_stage.cpp 3KB
metrics_stage.cpp 3KB
client_performance_test.cpp 3KB
resolve_stage.cpp 3KB
bp_manager_test.cpp 3KB
predicate_operator.cpp 3KB
histogram_snapshot.cpp 3KB
plan_cache_stage.cpp 3KB
log_test.cpp 3KB
signal.cpp 3KB
init.cpp 3KB
uniform_reservoir.cpp 3KB
insert_stmt.cpp 3KB
bitmap.cpp 2KB
index_meta.cpp 2KB
optimize_stage.cpp 2KB
query_cache_stage.cpp 2KB
mem_storage_stage.cpp 2KB
callback.cpp 2KB
index_scan_operator.cpp 2KB
example_stage.cpp 2KB
mem_pool_test.cpp 2KB
bitmap_test.cpp 2KB
delete_stmt.cpp 2KB
tuple_cell.cpp 2KB
metrics_registry.cpp 2KB
project_operator.cpp 2KB
delete_operator.cpp 2KB
session.cpp 2KB
pidfile.cpp 2KB
session_event.cpp 1KB
comparator.cpp 1KB
timeout_info.cpp 1KB
kill_thread.cpp 1KB
roll_select_dir.cpp 1KB
table_scan_operator.cpp 1KB
sampler.cpp 1KB
stmt.cpp 1KB
meta_util.cpp 1KB
process_param.cpp 1KB
console_reporter.cpp 1KB
os.cpp 1KB
log_reporter.cpp 1KB
pidfile_test.cpp 1KB
md5_test.cpp 1KB
insert_operator.cpp 1KB
random_generator.cpp 1KB
timer_snapshot.cpp 1KB
sql_event.cpp 1KB
regex.cpp 959B
update_stmt.cpp 911B
expression.cpp 875B
reservoir.cpp 826B
index.cpp 817B
rc_test.cpp 733B
共 343 条
- 1
- 2
- 3
- 4
资源评论
m0_72731342
- 粉丝: 2
- 资源: 1832
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- PID资源代码:PID 控制器源代码,能够实现Pid算法的仿真控制
- MySQL安装和配置的步骤,适用于Windows系统: Windows系统上安装MySQL: 下载MySQL:
- MySQL安装和配置的步骤,适用于Windows系统: Windows系统上安装MySQL: 下载MySQL:
- C#学习小案例源代码工程文件(小白参考学习).zip
- JavaScript面试题.md
- MySQL安装和配置的步骤,适用于Windows系统: Windows系统上安装MySQL: 下载MySQL:
- 基于ASP.NET MVC的购物商城网站代码
- Visual Basic + SQL Server 实现图书管理系统 + 课程设计文档
- yolo2资源代码:yolo算法的实现,使用tensorflow进行实现的源代码
- H5手机端向右滑动验证跳转特效
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功