项目代码架构
2015-06-15 15:41
519 查看
在project目录下的树结构如下:
CMakeList文件内容如下:
操作步骤:
1、进入build目录,执行cmake .. (因为CMakelist文件在上一级目录中),生成Makefile文件
2、执行make即可
root@u18:~/cp/project# tree . ├── 3rd_lib //存放 第三方库 的目录 │ ├── libvirt-lxc.so │ ├── libvirt-qemu.so │ └── libvirt.so ├── build //执行Cmake ..的目录 ├── CMakeLists.txt ├── include //头文件目录 │ └── libvirt │ ├── libvirt-domain.h │ ├── libvirt-domain-snapshot.h │ ├── libvirt-event.h │ ├── libvirt.h │ ├── libvirt-host.h │ ├── libvirt-interface.h │ ├── libvirt-lxc.h │ ├── libvirt-network.h │ ├── libvirt-nodedev.h │ ├── libvirt-nwfilter.h │ ├── libvirt-qemu.h │ ├── libvirt-secret.h │ ├── libvirt-storage.h │ ├── libvirt-stream.h │ └── virterror.h └── src //代码目录 ├── LibvirtConfig.h ├── LibvirtConfig.h.in ├── libvirt.cpp └── Libvirt.h.in 5 directories, 23 files
CMakeList文件内容如下:
cmake_minimum_required (VERSION 2.6) #PROJECT(projectname [CXX] [C] [Java]) 编译语言 project (Libvirt CXX) #The version number set (Libvirt_VERSION_MAJOR 1) set (Libvirt_VERSION_MINOR 0) #configure a header file to pass some of the source code configure_file ( "${PROJECT_SOURCE_DIR}/src/LibvirtConfig.h.in" "${PROJECT_BINARY_DIR}/src/LibvirtConfig.h" ) # equal to echo in shell MESSAGE(STATUS "This is source dir: " ${PROJECT_SOURCE_DIR}) MESSAGE(STATUS "This is binary dir: " ${PROJECT_BINARY_DIR}) #add sub dir and find CMakeList.txt in the sub dir, done it #ADD_SUBDIRECTORY(subdir) #将一个文件下的编译用的源文件添加到一个宏列表中 #AUX_SOURCE_DIRECTORY(. SRC_LIST) #只将.cc .cpp .c 的文件添加到SRC_LIST中,.h除外 #将.h文件也添加进来,使用 INCLUDE_DIRECTORIES("${PROJECT_BINARY_DIR}/src") FILE(GLOB_RECURSE SOURCE_FILE ./src/*.cpp ./src/*.c) FILE(GLOB_RECURSE HEADER_FILE *.h *.hpp) MESSAGE(STATUS "This is source dir: " ${SOURCE_FILE}) #MESSAGE(STATUS "This is header dir: " ${HEADER_FILE}) #add the binary tree to the search path for include files so that we will find LibvirtConfig.h #include_directories ("${PROJECT_BINARY_DIR}/src", "${PROJECT_BINARY_DIR}/INCLUDE/libvirt") #add the 3rd_lib #link_directories("${PROJECT_BINARY_DIR}/3rd_Lib") FILE(GLOB_RECURSE LIB_FILE libvirt.so*) MESSAGE(STATUS "This is 3rd_lib file : " ${LIB_FILE}) #add the executable add_executable(Libvirt ${SOURCE_FILE}) #link TARGET_LINK_LIBRARIES(Libvirt ${LIB_FILE})
操作步骤:
1、进入build目录,执行cmake .. (因为CMakelist文件在上一级目录中),生成Makefile文件
2、执行make即可
相关文章推荐
- 【Java 安全技术探索之路系列:J2SE安全架构】之四:字节码验证器
- 【Java 安全技术探索之路系列:J2SE安全架构】之三:访问控制器
- 【Java安全技术探索之路系列:Java可扩展安全架构】之三:JCA(二):JCA类和接口
- 【Java安全技术探索之路系列:Java可扩展安全架构】之二:JCA(一):JCA架构介绍
- WIN7 IIS7.5web部署.NET项目遇到的问题
- IIS日志-网站运维的好帮手
- 网站架构(页面静态化,图片服务器分离,负载均衡)方案全解析
- Drupal 网站突然出现PDOException错误
- 网站WEB文档本地读取组件
- 如何发布自己的网站
- How-to: install puppet via yum
- 网站访客手机号码、qq 号码哪家捕获率高
- Android很详细的将开源库分类列出的网站
- CDNPlus的作用和架构
- 企业应用通用架构图
- Android系统架构分析 和 Android应用程序组件介绍
- .NET逻辑分层架构总结
- HA高可用集群
- 微软架构师解读Windows Server 2008 R2新特性
- 第三方网站实现绑定微信登陆