cmake

What does “$<$<CONFIG:Debug>:Release>” mean in cmake?

爷,独闯天下 提交于 2021-01-20 18:00:24
问题 In buildem_cmake_recipe.cmake, I saw an expression: externalproject_add_step(${_name} BuildOtherConfig COMMAND ${CMAKE_COMMAND} --build ${BINARY_DIR} --config "$<$<CONFIG:Debug>:Release>$<$<CONFIG:Release>:Debug>" --target INSTALL DEPENDEES install ) What does the $<$<CONFIG:Debug>:Release>$<$<CONFIG:Release>:Debug> mean here? 回答1: That's a CMake generator expression. You can follow the link for a full discussion of what these are and what they can do. In short, it's a piece of text which

CMake Difference between include_directories and add_subdirectory?

守給你的承諾、 提交于 2021-01-20 15:49:08
问题 I'm learning CMake for building C++ code, and struggling with the following concept. On my root level directory I have some cpp files and a CMakeLists.txt that succesfully generates some thrift code in a gen-cpp directory. My root level CMakeLists.txt contains : include_directories("path-to-root"/gen-cpp). (along with the relevant thrift auto-generating and includes. Everything compiles ok but I get run time dynamic library linked errors for undefined symbol referencing a class defined in the

Parse error. Expected a command name

穿精又带淫゛_ 提交于 2021-01-20 10:54:02
Parse error. Expected a command name CMake Error at CMakeLists.txt:9: Parse error. Expected a command name, got unquoted argument with text "set(OpenCV_DIR". 原因:出现了中文括号,正确代码: set (OpenCV_DIR E:/opencv/opencv) #opencv find_package(OpenCV REQUIRED) 来源: oschina 链接: https://my.oschina.net/u/4383691/blog/4915016

lnmp + swoole 安装

≡放荡痞女 提交于 2021-01-16 09:00:07
nginx地址:http://120.52.51.16/nginx.org/download/nginx-1.15.7.tar.gz PHP地址:http://am1.php.net/distributions/php-7.2.14.tar.gz mysql地址: http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.39.tar.gz cmake地址:http://www.cmake.org/files/v2.8/cmake-2.8.12.1.tar.gz 均下载至 :/usr/local/src/ 一、安装前 1. 更新系统软件: yum update 2. 查看是否已安装wget: rpm -qa wget 否则安装: yum install wget 3. 查看是否已安装编译器: rpm -qa gcc 否则安装: yum install gcc gcc-c++ 安装: yum install -y lrzsz (方便上传下载) 安装网络工具: yum install net-tools 二、安装Nginx 1. 安装nginx依赖包 nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法: yum -y install pcre pcre-devel nginx的各种模块中需要使用gzip压缩: yum

windows编译tensorflow c++库

筅森魡賤 提交于 2021-01-14 07:25:25
1. 准备 windows 10系统、3.6GHz cpu、16G 内存 visual studio 2017 or 2015 下载安装git 下载安装cmake 下载安装swigwin 如果不需要python bindings,可以跳过 clone tensorflow 切换tensorflow到要进行编译的git tag 修改tensorflow/contrib/cmake/CMakeLists.txt if (tensorflow_OPTIMIZE_FOR_NATIVE_ARCH) include(CheckCXXCompilerFlag) CHECK_CXX_COMPILER_FLAG( " -march=native " COMPILER_OPT_ARCH_NATIVE_SUPPORTED) if (COMPILER_OPT_ARCH_NATIVE_SUPPORTED) set (CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -march=native " ) # 添加下面这部分 else () CHECK_CXX_COMPILER_FLAG( " /arch:AVX " COMPILER_OPT_ARCH_AVX_SUPPORTED) if (COMPILER_OPT_ARCH_AVX_SUPPORTED) set (CMAKE_CXX

Mysql源码编译和调试debug

£可爱£侵袭症+ 提交于 2021-01-11 01:51:13
下载源码 直接从github 上下载了源码。git 地址:https://github.com/mysql/mysql-server 下载路径如:/work/mysql-server 编译 依赖 mac系统依赖环境 cmake,boost cmake 安装 brew install cmake boost下载:https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.gz 编译 ##mysql目录 cd /work/mysql-server mkdir build && cd build 执行cmake cmake .. -DCMAKE_INSTALL_PREFIX = /Users/softwork/mysql \ -DDEFAULT_CHARSET = utf8 \ -DDEFAULT_COLLATION = utf8_general_ci \ -DENABLED_LOCAL_INFILE = ON \ -DWITH_INNODB_MEMCACHED = ON \ -DWITH_INNOBASE_STORAGE_ENGINE = 1 \ -DDOWNLOAD_BOOST = 1 \ -DWITH_BOOST = /work/mysql-server/mysql-server/boost

linux下安装cmake趟过的坑

折月煮酒 提交于 2021-01-10 14:09:55
在linux下安装json-c库 这个库编译至少有2种方法,但是最好还是使用cmake的方式安装,毕竟Android Studio的JNI也用cmake autoconfig automake什么的太麻烦了也不方便 #安装cmake 这个库我是通过源码安装的,按照cmake的安装说明执行 ./bootstrap && make && make install 很遗憾中间报错了,某个子文件夹里的CMakeLists.txt提示说找不到openssl 提示还可以不安装openssl,只需要设置一个变量 -DCMAKE_USE_OPENSSL=OFF 我看了下安装openssl的步骤,需要的东西有点多,需要perl的东西,还不一定能下的完。 权衡了下,先不安装openssl,以后出问题再解决 #改 cmake 安装脚本 很神奇,cmake能自己编译自己,自己都没编译出来呢,竟然能用CMakeLists.txt做编译脚本 但是在哪里设置 -DCMAKE_USE_OPENSSL=OFF 呢?先简单学了下cmake的语法 想着这个玩意应该跟make差不多,最顶层的CMakeLists.txt动了,子文件夹里的应该跟着动 就在顶层CMakeLists.txt文件的开头加入 set(CMAKE_USE_OPENSSL OFF) 这个就是设置变量的语法,然后再尝试执行 ./bootstrap 嘿

使用Bazel构建C/C++项目

早过忘川 提交于 2021-01-09 08:35:02
这是关于Bazel的第二篇blog,前一篇写了安装、配置相关的东西,这一篇则是4个逐步推进的例子,改编自官方demo;以及相应的概念、文档链接等。 [TOC] 前提 Linux(Ubuntu, etc)或Mac OSX系统,会点儿命令行(包括brew/apt) 装好了zsh和oh-my-zsh(用于 bazel build 等命令的补全) 装好了bazel; 学过C/C++; 用过make/cmake 最好会一点git bazel版本:目前我用0.21版本,最新版删过东西( https://docs.bazel.build/versions/0.21.0/be/workspace.html) 基本概念 WORKSPACE : 空文件;标识了项目根目录;只有一个 BUILD :WORKSPACE下的子目录里,如果放了一个名为 BUILD 的文件,则这个目录是一个 package ; BUILD 里写一些构建规则 (rules) cc_binary : C/C++ package 的最常用的构建规则 bazel的C/C++在线文档: https://docs.bazel.build/versions/master/be/c-cpp.html target 的概念:cmake中的target包括executable、library两种情况 rule 的概念:类似于cmake中

vscode CMake 学习

∥☆過路亽.° 提交于 2021-01-09 02:59:18
本来我用codebooks交叉编译一些程序,后来我发现vscode,好用很多。 所以又开始准备折腾了。 首先先跟着官方教程来 1建立一个 tutorial.cxx // A simple program that computes the square root of a number #include <stdio.h> #include <stdlib.h> #include <math.h> #include " TutorialConfig.h " int main ( int argc, char * argv[]) { if (argc < 2 ) { fprintf(stdout, " %s Version %d.%d\n " , argv[ 0 ], Tutorial_VERSION_MAJOR, Tutorial_VERSION_MINOR); fprintf(stdout, " Usage: %s number\n " ,argv[ 0 ]); return 1 ; } double inputValue = atof(argv[ 1 ]); double outputValue = sqrt(inputValue); fprintf(stdout, " The square root of %g is %g\n " , inputValue,

[转帖]CENTOS6.6下mysql5.7.11带boost和不带boost的源码安装

☆樱花仙子☆ 提交于 2021-01-08 20:17:53
CENTOS6.6下mysql5.7.11带boost和不带boost的源码安装 本文来自我的github pages博客http: // galengao.github.io/ 即www.gaohuirong.cn https: // www.cnblogs.com/galengao/p/5755788.html 高手的blog Mysql5.7版本更新后有很多变化,比如json等,连安装都有变化,他安装必须要BOOST库,不过mysql的官网源码有带boost库的源码和不带boost库的源码两种,因此有两种安装方式,其实都是一样的,仅仅是不带boost库源码的需要单独安装boost,还有后续文章percona-xtrabackup需要用到boost库 下载软件 到usr/local目录下: cd /usr/local wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.11.tar.gz wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.11.tar.gz 安装boost 注