gpt4 book ai didi

linux - cmake:根据操作系统更改 EXTERNALPROJECT_ADD 中的 PREFIX

转载 作者:IT王子 更新时间:2023-10-29 01:10:49 26 4
gpt4 key购买 nike

我需要根据操作系统更改以下代码中的 cmake PREFIX。

它是这样尝试的:

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 - cmake:根据操作系统更改 EXTERNALPROJECT_ADD 中的 PREFIX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7770583/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com