小编Lar*_*lke的帖子

如何在CMake中检索用户环境变量(Windows)

我知道如何使用CMAKE检索正常的机器范围的环境变量

$ENV{EnvironmentVariableName}
Run Code Online (Sandbox Code Playgroud)

但我无法检索用户特定的环境变量.有可能吗?怎么样?

windows cmake environment-variables

96
推荐指数
3
解决办法
9万
查看次数

CMake ExternalProject_Add()和FindPackage()

有没有正确的方法来找到一个用FindPackage()它构建的库(via )ExternalProject_Add()

问题是CMake无法在CMake时找到库,因为外部库在编译时生成.我知道在构建库和superbuild中的项目时可以组合这两个CMake函数,但我想在普通的CMake项目中使用它.

事实上,我想建立VTK 6 ExternalProject_AddFindPackage在我的CMake项目中找到它.

c++ build cmake vtk external-project

26
推荐指数
3
解决办法
2万
查看次数

QGraphicsView和QGraphicsItem:缩放视图rect时不缩放项目

我正在使用Qt的QGraphicsView- 和 - QGraphicsItem子类.有没有办法在视图矩形更改时不缩放视图中项目的图形表示,例如放大时.默认行为是我的项目相对于我的视图矩形缩放.

我想要显示2d点,这些点应该由一个薄矩形表示,当在视图中放大时,该矩形不应该缩放.请参阅典型的三维建模软件以供参考,其中顶点始终以相同的大小显示.

谢谢!

c++ qt transformation qgraphicsview

9
推荐指数
2
解决办法
1万
查看次数

CMake和lcov:找不到gcno文件

我正在尝试在我的基于CMake的项目(包含几个目标)上获得代码覆盖率.

首先,我生成gcno文件:

lcov -b . -d . -o coverage.output --capture --initial
Run Code Online (Sandbox Code Playgroud)

*.gcno在产生

build_dir/[target_dir]/CMakeFiles/[target_dir].dir
Run Code Online (Sandbox Code Playgroud)

然后我运行我的测试,生成*.gcna文件

build_dir/tests/CMakeFiles/[target_dir].dir
Run Code Online (Sandbox Code Playgroud)

当我现在再次运行lcov时:

lcov -b . -d . -o coverage.output --capture
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Scanning . for .gcda files ...
Found 23 data files in .
Processing Base.dir/DateTools.cpp.gcda
geninfo: ERROR: build_gcov/tests/CMakeFiles/Base.dir/DateTools.cpp.gcno: could not open file
Run Code Online (Sandbox Code Playgroud)

当我手动移动*.gcno文件到该目录*.gcda产生它似乎工作.

谢谢你的帮助!!!

c++ code-coverage cmake gcov lcov

7
推荐指数
1
解决办法
7959
查看次数

Jenkins工作流程:Multibranch插件结帐到子目录

如何在Jenkins Workflow:Multibranch作业中从SCM签出到作业工作区的子目录中?有没有选择:

checkout scm
Run Code Online (Sandbox Code Playgroud)

jenkins jenkins-workflow

7
推荐指数
1
解决办法
2890
查看次数

在 Amazon S3 上使用 Git LFS 的 Gitlab

既然 Gitlab 宣布了Git LFS 支持,我想问是否可以将 Git LFS 文件存储在 Amazon S3 上?我不想将存储库本身存储为 LFS 文件。

amazon-s3 gitlab git-lfs

7
推荐指数
2
解决办法
3152
查看次数

Jenkins Visual Studio x64 提示(用于 CMake 和 Ninja)

我有一个带有 Visual Studio 2012 的 Jenkins slave,想为 x64 构建。我需要的是我在 Windows 开始菜单中运行工具提示链接时得到的提示环境。人们建议这样做(在 Jenkins Windows Batch 提示中):

call "%VS110COMNTOOLS%vsvars32.bat" x86_amd64
Run Code Online (Sandbox Code Playgroud)

但这还不够。PATH,LIBLIBPATH环境变量之间存在细微差别:其中的路径仅指向 x32 路径,例如指向

...;C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN;...
Run Code Online (Sandbox Code Playgroud)

代替

...;C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN\x86_amd64;C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN;...
Run Code Online (Sandbox Code Playgroud)

事实上,我正在尝试使用来自 CMake 的 Ninja 生成器进行构建,其中构建配置由提示环境确定。

cmake visual-studio jenkins ninja jenkins-pipeline

6
推荐指数
1
解决办法
2419
查看次数

如何检查所有git-lfs跟踪和提交的文件都是指针?

由于git-lfs需要一些手动设置(安装git-lfs,运行git lfs install一次),这可能导致开发人员无法正确提交git-lfs跟踪的文件类型。我想检查一下我们的持续集成系统上的拉取请求。

如何检查所有git-lfs跟踪和提交的文件都是指针?有一个检查,例如在重新设置基准时运行,但不能作为cli命令使用。

我想要这样的东西:

$ git clone https://...
$ [git lfs check-for-pointers]
Encountered 35 file(s) that should have been pointers, but weren't:
    file1.png
    ...
Run Code Online (Sandbox Code Playgroud)

git continuous-integration pull-request git-lfs

6
推荐指数
1
解决办法
367
查看次数

如何将git跟踪的文件转换为git-lfs?

如何将已经作为常规对象提交的单个文件(例如png)转换为git-lfs?

我不想迁移整个存储库,也不想重写存储库的历史记录。

git version-control git-lfs

4
推荐指数
2
解决办法
3313
查看次数

Jenkins Kubernetes 插件:如何从 Dockerfile 构建映像并在映像内运行步骤

我正在使用 Jenkins kubernetes-plugin。是否可以从 Dockerfile 构建 docker 映像,然后在创建的映像中运行步骤?该插件需要在 pod 模板中指定一个映像,因此我的第一次尝试是使用 docker-in-docker 但该步骤docker.image('jenkins/jnlp-slave').inside() {..}失败:

pipeline {
  agent {
    kubernetes {
      //cloud 'kubernetes'
      label 'mypod'
      yaml """
apiVersion: v1
kind: Pod
spec:
  containers:
  - name: docker
    image: docker:1.11
    command: ['cat']
    tty: true
    volumeMounts:
    - name: dockersock
      mountPath: /var/run/docker.sock
  volumes:
  - name: dockersock
    hostPath:
      path: /var/run/docker.sock
"""
    }
  }
  stages {
    stage('Build Docker image') {
      steps {
        git 'https://github.com/jenkinsci/docker-jnlp-slave.git'
        container('docker') {
          sh "docker build -t jenkins/jnlp-slave ."
          docker.image('jenkins/jnlp-slave').inside() {
            sh "whoami" …
Run Code Online (Sandbox Code Playgroud)

jenkins docker kubernetes jenkins-pipeline

4
推荐指数
1
解决办法
4277
查看次数

在压缩合并后接受默认git提交消息

我想在脚本中执行以下操作:

git merge --squash someBranch
git push
Run Code Online (Sandbox Code Playgroud)

问题是合并不会提交.所以在推动之前我必须承诺.此合并创建的默认提交消息就足够了.所以我的问题是:

  1. 我可以自动生成提交进行合并吗?

  2. 或者我可以在脚本中添加一个命令来执行接受默认消息的提交吗?

谢谢!

git merge commit squash

3
推荐指数
2
解决办法
1687
查看次数

3
推荐指数
1
解决办法
4583
查看次数