# If the user hasn't told use specifically what they want, build only
# a static library.
IF(NOT DEFINED PODOFO_BUILD_SHARED AND NOT DEFINED PODOFO_BUILD_STATIC)
SET(PODOFO_BUILD_STATIC TRUE)
SET(PODOFO_BUILD_SHARED FALSE)
ENDIF(NOT DEFINED PODOFO_BUILD_SHARED AND NOT DEFINED PODOFO_BUILD_STATIC)
IF(DEFINED PODOFO_BUILD_SHARED AND NOT DEFINED PODOFO_BUILD_STATIC)
SET(PODOFO_BUILD_SHARED NOT ${PODOFO_BUILD_SHARED})
ENDIF(DEFINED PODOFO_BUILD_SHARED AND NOT DEFINED PODOFO_BUILD_STATIC)
IF(NOT DEFINED PODOFO_BUILD_SHARED AND DEFINED PODOFO_BUILD_STATIC)
SET(PODOFO_BUILD_SHARED NOT ${PODOFO_BUILD_STATIC})
ENDIF(NOT DEFINED PODOFO_BUILD_SHARED AND DEFINED PODOFO_BUILD_STATIC)"SET(PODOFO_BUILD_SHARED而不是${PODOFO_BUILD_SHARED})“是什么意思?在这些片段之前,我看不到PODOFO_BUILD_SHARED变量的任何定义
发布于 2013-11-07 12:11:08
然而,总体上看,这种行为似乎有点奇怪。我猜这(后三行):
IF(DEFINED PODOFO_BUILD_SHARED AND NOT DEFINED PODOFO_BUILD_STATIC)
SET(PODOFO_BUILD_SHARED NOT ${PODOFO_BUILD_SHARED})
ENDIF(DEFINED PODOFO_BUILD_SHARED AND NOT DEFINED PODOFO_BUILD_STATIC)应:
IF(DEFINED PODOFO_BUILD_SHARED AND NOT DEFINED PODOFO_BUILD_STATIC)
SET(PODOFO_BUILD_STATIC NOT ${PODOFO_BUILD_SHARED})
ENDIF(DEFINED PODOFO_BUILD_SHARED AND NOT DEFINED PODOFO_BUILD_STATIC)这样做更有意义:如果只定义了两个变量中的一个,则将另一个设置为相反的值。
"SET(PODOFO_BUILD_SHARED而不是${PODOFO_BUILD_SHARED})“是什么意思?在这些片段之前,我看不到PODOFO_BUILD_SHARED变量的任何定义
该变量可以通过几种方式预先在文件外部定义(例如从命令行定义,或者通过cmake-gui设置缓存变量)。
https://stackoverflow.com/questions/19833211
复制相似问题