cmake

cmake使用

…衆ロ難τιáo~ 提交于 2020-04-01 07:56:12
一、 基本使用 安装:下载二进制包后可直接解压使用 从源码安装则执行命令:./bootstrap; make; make install——尝试执行bootstrap失败 使用:cmake dir_path,生成工程文件或makefile文件 二、 概念 out-of-source build,与in-source build相对,即将编译输出文件与源文件放到不同目录中; 三、 基本结构 1,依赖CMakeLists.txt文件,项目主目标一个,主目录中可指定包含的子目录; 2,在项目CMakeLists.txt中使用project指定项目名称,add_subdirectory添加子目录 3,子目录CMakeLists.txt将从父目录CMakeLists.txt继承设置(TBD,待检验) 四、 语法 1. #注释 2. 变量:使用set命令显式定义及赋值,在非if语句中,使用${}引用,if中直接使用变量名引用;后续的set命令会清理变量原来的值; 3. command (args ...) #命令不分大小写,参数使用空格分隔,使用双引号引起参数中空格 4. set(var a;b;c) <=> set(var a b c) #定义变量var并赋值为a;b;c这样一个string list 5. Add_executable(${var}) <=> Add_executable

catkin_make 与cmake

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-31 02:51:00
http://blog.csdn.net/zyh821351004/article/details/50388429 1. catkin_make 与cmake的关系 程序在cmake编译的流程: cmake指令依据你的CMakeLists.txt 文件,生成makefiles文件,make再依据此makefiles文件编译链接生成可执行文件. catkin_make是将cmake与make的编译方式做了一个封装的指令工具, 规范了工作路径与生成文件路径. 1) cmake标准流程 $ mkdir build $ cd build $ cmake .. $ make $ make install # (可选) 2) catkin_make 的流程 # In a catkin workspace $ catkin_make $ catkin_make install # (可选) 如果源码不在默认工作空间,需要指定编译路径: # In a catkin workspace $ catkin_make --source my_src $ catkin_make install --source my_src # (optionally) 2. catkin_make 1) catkin_make默认的路径信息 catkin_make运行后终端输出文件部分解析 #基本路径 Base

cef 编译 linux,使用cmake

a 夏天 提交于 2020-03-27 19:36:30
# Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights # reserved. Use of this source code is governed by a BSD-style license that # can be found in the LICENSE file. # OVERVIEW # # CMake is a cross-platform open-source build system that can generate project # files in many different formats. It can be downloaded from # http://www.cmake.org or installed via a platform package manager. # # CMake-generated project formats that have been tested with this CEF binary # distribution include: # # Linux: Ninja, Unix Makefiles # Mac OS X: Ninja, Xcode 5+ # Windows: Ninja, Visual

why i have some missing files when cmake generate build folder ? (Maya 2020 - CMake 3.16.4 - VS 2017)

两盒软妹~` 提交于 2020-03-25 18:38:58
问题 I exactly followed the instruction in API help to create visual studio project: The CMakeLists.txt File guide but I got this error: CMake Warning (dev) in CMakeLists.txt: No project() command is present. The top-level CMakeLists.txt file must contain a literal, direct call to the project() command. Add a line of code such as project(ProjectName) near the top of the file, but after cmake_minimum_required(). CMake is pretending there is a "project(Project)" command on the first line. This

compiling BASIS on MSYS2 using MinGW-w64

倖福魔咒の 提交于 2020-03-25 12:30:13
问题 I'm trying to follow these instructions to compile-install BASIS (CMake Build system And Software Implementation Standard) on MSYS2 using MinGW-w64 compilers. However, the ccmake .. step fails: -bash: ccmake: command not found I tried searching the MSYS2 packages by pacman -Ss ccmake with no results. So I thought I have to use commandline cmake instead: cmake -DCMAKE_INSTALL_PREFIX:PATH=~/local -DBUILD_APPLICATIONS:BOOL=ON -DBUILD_EXAMPLE:BOOL=ON .. which failed by: CMake Error at src/cmake

xmake后期发展随想

ぐ巨炮叔叔 提交于 2020-03-25 08:22:55
3 月,跳不动了?>>> 随着xmake v2.0.1 版本的发布,这大半年的辛苦总算告一段落,这个版本我基本上重构整个项目的90%的代码,几乎算是重写了,但结果还算挺满意的。。 因为上个版本的架构设计的不是很好,不能很好进行扩展,也不支持插件模式,语法设计上也不严谨,容易出现各种隐患,这对于后期维护和发展来说,已经出现了不可逾越的瓶颈。。 每个项目到了一定阶段,都是要不断重构,重新构思整体架构,才能使得项目不断的向好的方向演进。。 (当然如果是公司项目就另当别论了,坑太多,历史负担较重,不是说要重构就能让你重构的。=。=) 回归正题,目前xmake基本上所有模块都是可扩展的: 插件扩展 工程模板扩展 平台架构扩展 action扩展 option选项扩展 自定义task任务机制 宏脚本扩展 模块化和可扩展性,使得xmake整体是高度解耦的,整个core的内核算法实现非常轻量,其他模块如果我们想要扩展它,只需要把自己实现的脚本放到对应目录,就可以实现自注册,自加载。。 并且每个插件模块内部都有严格的作用域控制、沙盒化处理,非常安全,不会干扰到其他插件。。 下一个大版本,我打算开始研究下,怎么去实现完善的依赖包管理,目前的一些想法和构思: 自动检测依赖包,如果存在直接链接编译,如果不存在,从远程仓库中自动下载对应版本,进行本地编译安装,然后自动集成和链接 支持多架构

在WIN10上不用CMake和MinGW编译Android版本的OpenCV

青春壹個敷衍的年華 提交于 2020-03-23 23:26:29
3 月,跳不动了?>>> 构建编译项目 不需要安装CMake,MinGW等额外工具。只需要Android NDK和OpenCV源码 。 在WIN10上使用cmd窗口命令编译OpenCV步骤,操作版本为4.0.1: 在OpenCV根目录下面新建一个文件夹,比如叫做build_cmd。因为OpenCV要求 CMAKE_BINARY_DIR 不和 CMAKE_SOURCE_DIR 是同一个文件夹,所以不能在根目录下直接执行cmake cd到build_cmd 执行如下命令,路径对应修改 E:\Android\Sdk\cmake\3.10.2.4988404\bin\cmake.exe ^ -DCMAKE_TOOLCHAIN_FILE=E:\Android\Sdk\ndk-bundle\build\cmake\android.toolchain.cmake ^ -DANDROID_NDK=E:\Android\Sdk\ndk-bundle ^ -DANDROID_ABI="arm64-v8a" ^ -DANDROID_SDK=E:\Android\Sdk ^ -DWITH_TBB=ON ^ -DCPU_BASELINE=NEON ^ -DCPU_DISPATCH=NEON ^ -DOPENCV_ENABLE_NONFREE=ON ^ -DBUILD_ANDROID_EXAMPLES=OFF

Qt5.7以及5.8在cmake工程中使用C++14编译遇到的问题及解决方案

妖精的绣舞 提交于 2020-03-23 16:35:16
3 月,跳不动了?>>> 最近在编译一个用到C++14特性的工程时,遇到这样一个问题。 编译时报:error: ‘decay_t’ is not a member of ‘std’ std::decay_t属于C++14加入的特性,需要 #include <type_traits>,set(STD_CXX -std=gnu++14) 使用 C++14也可以。 但这些设置都是有的,查看type_traits文件,发现这些新特性语句在 #if __cplusplus > 201103L 语句中包含,把main函数只剩std::cout << __cplusplus <<std::endl; 发现,__cplusplus是201103 这就纳闷了,明明已经指定set(STD_CXX -std=gnu++14) 了呀,__cplusplus应是201402 其它工程测试,__cplusplus是201402,因此怀疑是Qt5导致的,通过逐步删除CMakeList.txt文件中的与Qt5相关的语句调试,发现,只有加入 target_link_libraries(${PROJECT_NAME} Qt5::Widgets Qt5::Qml),__cplusplus就成为201103,使用Qt5.6版本,没有这个问题,5.8跟5.7一样,有此问题。 Qt官网求答案,原来是这样: If you

002. Centos7安装mysql5.5.37

一笑奈何 提交于 2020-03-23 12:13:26
下载cmake-2.8.12.2.tar.gz, 下载地址: https://pan.baidu.com/s/1qYtpX7m 下载mysql-5.5.37.tar.gz, 下载地址: http://pan.baidu.com/s/1miFcNP2 下载ncurses-5.9.tar.gz, 下载地址: http://pan.baidu.com/s/1kVDIXW7 (百度网盘的连接地址使用wget下载不了) 4. 将上面三个包, 传到服务器上, 并解压 [root@iZ25bdzgev8Z mysql-5.5.37]# tar xvf mysql-5.5.37.tar.gz 5. 进入cmake-2.8.12.2目录(如有报错请看文末) [root@iZ25bdzgev8Z cmake-2.8.12.2]# ./configure [root@iZ25bdzgev8Z cmake-2.8.12.2]# make && make install 6. 进入mysql-5.5.37目录 [root@iZ25bdzgev8Z ~]# cd mysql-5.5.37 [root@iZ25bdzgev8Z mysql-5.5.37]# cmake ./ (如有报错请看文末) 7. 解决完上面的报错后, 继续执行(如果没有报错, 此步骤可直接跳过) [root@iZ25bdzgev8Z