clion如何创建c项目_使用CMake和Clion构建C项目 (Structuring C Project with CMake and Clion)...
2017-10-15 06:21:10
0
I have the following project structure within clion:
├── CMakeLists.txt
├── src
│ ├── func1.c
│ ├── func1.h
│ └── main.c
└── test
└── unit
└── test_func1.c
Where CMakeLists.txt:
cmake_minimum_required(VERSION 3.5)
project(untitled)
set(CMAKE_C_STANDARD 11)
find_library(CMOCKA_LIBRARY libcmocka.so)
# application binary
set(SOURCE_FILES src/main.c src/func1.c src/func1.h)
add_executable(untitled ${SOURCE_FILES})
# test binary
include_directories("${CMAKE_SOURCE_DIR}/src")
set(TEST_SOURCE_FILES src/func1.c src/func1.h test/unit/test_func1.c)
add_executable(unit_tests ${TEST_SOURCE_FILES})
target_link_libraries(unit_tests ${CMOCKA_LIBRARY})
main.c:
#include
#include "func1.h"
int main() {
printf("Hello, World!\n");
print_hello();
return 0;
}
test_func1.c:
#include
#include
#include
#include
#include
#include "func1.h"
static void test_func1(void **state){
int ret = print_hello();
assert_true(ret == 0);
}
int main(int argc, char **argv){
const UnitTest tests[] = {
unit_test(test_func1),
};
return run_tests(tests);
}
func1.c:
#include
#include "func1.h"
int print_hello(){
printf("hello");
return 0;
}
func1.h:
#ifndef UNTITLED_FUNC1_H
#define UNTITLED_FUNC1_H
int print_hello();
#endif //UNTITLED_FUNC1_H
When I build the application from within clion, it only builds the untitled
application binary, and it does not build the test binary. In order to build
the test, I have to create a build directory and invoke cmake and make by hand.
I would like to:
Have clion build both the application binary and test binary on "build"
Only build application binary if tests pass
What would be a better way of managing unit tests in this case
clion如何创建c项目_使用CMake和Clion构建C项目 (Structuring C Project with CMake and Clion)...相关推荐
- python怎样创建项目_如何建立一个完美的 Python 项目
当开始一个新的 Python 项目时,大家很容易一头扎进去就开始编码.其实花一点时间选择优秀的库,将为以后的开发节省大量时间,并带来更快乐的编码体验. 在理想世界中,所有开发人员的关系是相互依赖和关联 ...
- git 创建webpack项目_近期总结:手动搭建react项目,将项目从自己的库引入到新的项目中使用...
背景:最近公司有这样一个需求,需要开发一个react工具类,这个工具类可以用在其他项目里使用,并且这个工具类比较大,需要多人协作开发. 这个项目主要由同事负责,于是同事就将这个工具类当成一个单独的 ...
- webflow如何使用_我如何使用Webflow构建辅助项目以帮助设计人员进行连接
webflow如何使用 I launched Designer Slack Communities a while ago, aiming to help designers to connect w ...
- python十个运维实战项目_干货 | 这4个Python实战项目,让你瞬间读懂Python!
Python是一种极具可读性和通用性的编程语言.Python这个名字的灵感来自于英国喜剧团体Monty Python,它的开发团队有一个重要的基础目标,就是使语言使用起来很有趣.Python易于设置, ...
- eclipse如何导入一个项目_如何建立一个完美的 Python 项目
当开始一个新的 Python 项目时,大家很容易一头扎进去就开始编码.其实花一点时间选择优秀的库,整合进项目将为以后的开发节省大量时间,并带来更快乐的编码体验. 在理想世界中,所有开发人员的关系是相互 ...
- 如何参加java开源项目_有哪些适合大学生的开源项目?怎么参与?
谢邀.题主的问题有点大,其实有很多优秀的适合大学生参与的开源项目,在这里就十分粗糙的将大学生定义为初学者好了,并分类推荐 Java / Java Web / C++ / C / C# / PHP / ...
- 学python编程能做什么项目_十个Python练手的实战项目,学会这些Python就基本没问题了...
python项目练习一:即时标记 这是<python基础教程>后面的实践,照着写写,一方面是来熟悉python的代码方式,另一方面是练习使用python中的基本的以及非基本的语法,做到熟能 ...
- c++工程 eclipse导入项目_在Eclipse中开发C/C++项目
摘要:通过本文你将获得如何在Eclipse平台上开发C/C++项目的总体认识.虽然Eclipse主要被用来开发Java项目,但它的框架使得它很容易实现对其他开发语言的支持.在这篇文章里,你将学会如何使 ...
- webstorm怎么跑项目_快讯!明年厦门中考体育项目定了!初三家长抽的!其他地市抽到啥?...
刚刚 市教育局采用现场抽签的方式 进行2021年厦门市体育中 考抽考.抽选考类项目抽选工作 这也是体育中考第一次采用抽考和抽选考方式 之前都是学生自选 上午抽签采用现场直播, 可以从以下链接进入↓ 明 ...
最新文章
- SWFLibrary类加载外部资源库
- Myeclipse的使用方法-添加,修改,删除JRE,修改项目中的jre不显示问题
- 卧槽,柠檬也能做汽车???
- alert回调_你知道javascript函数的回调怎么用吗?
- 竹签子毕竟是_毕竟是什么程序和功能?
- HashSet中实现不插入重复的元素
- 【小超_Android】GitHub源码项目整理,希望对大家有帮助
- 使用GIT不小心merge后的回滚操作
- 20200505:力扣151周周赛上
- flash游戏转换html5,一键转换——介绍我做的flash转html5工具LavaH
- virtualbox 装win95 win98
- 美团智能配送系统的运筹优化实战
- 关于react-router-dom 6.0.1的更新基本写法 解决Error: A <Route> is only ever to be used as the child of <Routes>
- 道德引擎——灾难来临,你够资格登上诺亚方舟?墨尔本大学《java面向对象》结辩作业
- 为什么CMOS门电路在传输过程存在延时
- Android之MVP模式
- Lua学习笔记(一)
- iPhone手机史上最全的扫盲帖【解锁,激活,Cydia,基带,裸机】
- 圆形断面正常水深莫洛图
- Android的BLE广播数据包介绍和解析---BLE--Android系列, 蓝牙技术BLE
热门文章
- 机器学习基础(五十二)—— 朴素贝叶斯细节
- Tricks(二十六) —— 妙用关键字参数(keyword arguments)创建字典
- latex 基本用法(四)
- python基础教程-学习python有什么好的视频教程?
- python安装步骤-从0到1,Python安装步骤详解(附基础知识简介)!
- 学python买什么书-书单狗 篇一:小白学Python,到底要看多少书?
- 学python能做什么-学了Python都能干什么,哪个最赚钱?
- python编程入门与案例详解-Pythony运维入门之Socket网络编程详解
- python是什么意思怎么读-python怎么读(python怎么读中文)
- python编程100个小程序-【Python精华】100个Python练手小程序