cmake外部项目缓存被覆盖

时间:2014-05-29 19:33:10

标签: cmake

您好我遇到了有关CMake和外部项目的问题。

我通过CMAKE_CACHE_ARGS和/或CMAKE_ARGS设置了一个编译器和一些标志,这在我第一次运行make时起作用,但在任何后续调用中,外部项目的CMake Cache都在重建(已删除)并且标志未根据我指定的标志进行设置!所以我想知道是否有任何解决方法/方法只指定编译器一次以防止重建缓存?

以下是一个非常基本的测试项目,下载并编译GTest,首先调用make编译Clang ++和给定的标志,任何后续调用make将导致重建CMake Cache而没有正确的标记设置!

cmake_minimum_version_required(VERSION 2.8.6)
project(test)

include(ExternalProject)
ExternalProject_Add(
    GTest
    SVN_REPOSITORY http://googletest.googlecode.com/svn/tags/release-1.7.0/
    CMAKE_ARGS
    -DCMAKE_CXX_COMPILER:STRING=clang++
    -DCMAKE_CXX_FLAGS:STRING="\"-std=c++1y -stdlib=libc++\""
    INSTALL_COMMAND "" # One can not install GTest so dont do anything here
    LOG_DOWNLOAD 1
    LOG_UPDATE 1
    LOG_CONFIGURE 1
    LOG_BUILD 1
    )

0 个答案:

没有答案