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)...相关推荐

  1. python怎样创建项目_如何建立一个完美的 Python 项目

    当开始一个新的 Python 项目时,大家很容易一头扎进去就开始编码.其实花一点时间选择优秀的库,将为以后的开发节省大量时间,并带来更快乐的编码体验. 在理想世界中,所有开发人员的关系是相互依赖和关联 ...

  2. git 创建webpack项目_近期总结:手动搭建react项目,将项目从自己的库引入到新的项目中使用...

    背景:最近公司有这样一个需求,需要开发一个react工具类,这个工具类可以用在其他项目里使用,并且这个工具类比较大,需要多人协作开发. ​ 这个项目主要由同事负责,于是同事就将这个工具类当成一个单独的 ...

  3. webflow如何使用_我如何使用Webflow构建辅助项目以帮助设计人员进行连接

    webflow如何使用 I launched Designer Slack Communities a while ago, aiming to help designers to connect w ...

  4. python十个运维实战项目_干货 | 这4个Python实战项目,让你瞬间读懂Python!

    Python是一种极具可读性和通用性的编程语言.Python这个名字的灵感来自于英国喜剧团体Monty Python,它的开发团队有一个重要的基础目标,就是使语言使用起来很有趣.Python易于设置, ...

  5. eclipse如何导入一个项目_如何建立一个完美的 Python 项目

    当开始一个新的 Python 项目时,大家很容易一头扎进去就开始编码.其实花一点时间选择优秀的库,整合进项目将为以后的开发节省大量时间,并带来更快乐的编码体验. 在理想世界中,所有开发人员的关系是相互 ...

  6. 如何参加java开源项目_有哪些适合大学生的开源项目?怎么参与?

    谢邀.题主的问题有点大,其实有很多优秀的适合大学生参与的开源项目,在这里就十分粗糙的将大学生定义为初学者好了,并分类推荐 Java / Java Web / C++ / C / C# / PHP / ...

  7. 学python编程能做什么项目_十个Python练手的实战项目,学会这些Python就基本没问题了...

    python项目练习一:即时标记 这是<python基础教程>后面的实践,照着写写,一方面是来熟悉python的代码方式,另一方面是练习使用python中的基本的以及非基本的语法,做到熟能 ...

  8. c++工程 eclipse导入项目_在Eclipse中开发C/C++项目

    摘要:通过本文你将获得如何在Eclipse平台上开发C/C++项目的总体认识.虽然Eclipse主要被用来开发Java项目,但它的框架使得它很容易实现对其他开发语言的支持.在这篇文章里,你将学会如何使 ...

  9. webstorm怎么跑项目_快讯!明年厦门中考体育项目定了!初三家长抽的!其他地市抽到啥?...

    刚刚 市教育局采用现场抽签的方式 进行2021年厦门市体育中 考抽考.抽选考类项目抽选工作 这也是体育中考第一次采用抽考和抽选考方式 之前都是学生自选 上午抽签采用现场直播, 可以从以下链接进入↓ 明 ...

最新文章

  1. SWFLibrary类加载外部资源库
  2. Myeclipse的使用方法-添加,修改,删除JRE,修改项目中的jre不显示问题
  3. 卧槽,柠檬也能做汽车???
  4. alert回调_你知道javascript函数的回调怎么用吗?
  5. 竹签子毕竟是_毕竟是什么程序和功能?
  6. HashSet中实现不插入重复的元素
  7. 【小超_Android】GitHub源码项目整理,希望对大家有帮助
  8. 使用GIT不小心merge后的回滚操作
  9. 20200505:力扣151周周赛上
  10. flash游戏转换html5,一键转换——介绍我做的flash转html5工具LavaH
  11. virtualbox 装win95 win98
  12. 美团智能配送系统的运筹优化实战
  13. 关于react-router-dom 6.0.1的更新基本写法 解决Error: A <Route> is only ever to be used as the child of <Routes>
  14. 道德引擎——灾难来临,你够资格登上诺亚方舟?墨尔本大学《java面向对象》结辩作业
  15. 为什么CMOS门电路在传输过程存在延时
  16. Android之MVP模式
  17. Lua学习笔记(一)
  18. iPhone手机史上最全的扫盲帖【解锁,激活,Cydia,基带,裸机】
  19. 圆形断面正常水深莫洛图
  20. Android的BLE广播数据包介绍和解析---BLE--Android系列, 蓝牙技术BLE

热门文章

  1. 机器学习基础(五十二)—— 朴素贝叶斯细节
  2. Tricks(二十六) —— 妙用关键字参数(keyword arguments)创建字典
  3. latex 基本用法(四)
  4. python基础教程-学习python有什么好的视频教程?
  5. python安装步骤-从0到1,Python安装步骤详解(附基础知识简介)!
  6. 学python买什么书-书单狗 篇一:小白学Python,到底要看多少书?
  7. 学python能做什么-学了Python都能干什么,哪个最赚钱?
  8. python编程入门与案例详解-Pythony运维入门之Socket网络编程详解
  9. python是什么意思怎么读-python怎么读(python怎么读中文)
  10. python编程100个小程序-【Python精华】100个Python练手小程序