linux – cmake:根据操作系统更改EXTERNALPROJECT_ADD中的PREFI
发布时间:2020-12-14 00:51:41 所属栏目:Linux 来源:网络整理
导读:我需要根据操作系统更改以下代码中的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
我需要根据操作系统更改以下代码中的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 ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读