cmake的:改变前缀EXTERNALPROJECT_ADD取决于操作系统

我需要改变cmake的前缀取决于操作系统下面的代码。

它试图这样说:

INCLUDE(ExternalProject) EXTERNALPROJECT_ADD( libconfig URL ${CMAKE_CURRENT_SOURCE_DIR}/libconfig-1.4.8.tar.gz IF(APPLE) #Mac detected PREFIX libconfig/libconfig-1.4.8 ENDIF(APPLE) IF(UNIX) PREFIX libconfig ENDIF(UNIX) CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR> --disable-examples # We patch in order to avoid building the tests. # Otherwise compilation will fail due to relative paths used in libconfig. PATCH_COMMAND patch < ${CMAKE_CURRENT_SOURCE_DIR}/libconfig.patch BUILD_COMMAND make INSTALL_COMMAND make install )

--------------解决方案-------------

我发现的问题:

第一是测试IF(UNIX)也适用于Mac OS X操作系统如此。

第二个是,不知怎的,PREFIX不能改变。 因此,一个解决方法是使用一个变量。

此代码现在工作:

IF(UNIX)
SET(LIBCONFIG_PREFIX libconfig)
ENDIF(UNIX)
IF(APPLE)
SET(LIBCONFIG_PREFIX libconfig/libconfig-1.4.8)
ENDIF(APPLE)

INCLUDE(ExternalProject)

EXTERNALPROJECT_ADD(
libconfig
URL ${CMAKE_CURRENT_SOURCE_DIR}/libconfig-1.4.8.tar.gz

PREFIX ${LIBCONFIG_PREFIX}

CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR> --disable-examples
# We patch in order to avoid building the tests.
# Otherwise compilation will fail due to relative paths used in libconfig.
PATCH_COMMAND patch < ${CMAKE_CURRENT_SOURCE_DIR}/libconfig.patch
BUILD_COMMAND make
INSTALL_COMMAND make install
)

分类:Linux的 时间:2015-03-16 人气:4
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.626 (s). 10 q(s)