我在Windows中使用CMake 3.10.2。
当我像这样使用CACHE设置变量时
SET(ABAQUS_MAJORVERSION 2016)
SET(ABAQUS_MAJORVERSION ${ABAQUS_MAJORVERSION} CACHE STRING "" )
当我在GUI中将ABAQUS_MAJORVERSION变量更改为2014时,此更改不会在CMake中更新。它不断生成2016版本。
请帮助这方面。 在此先感谢
EDIT1:
这是项目结构:
|CMakeLists.txt
|FindABAQUS.cmake
|-project1
|---source1.cpp
|---CMakeLists.txt which has SET(ABAQUS_MAJORVERSION 2016 CACHE STRING "")
|-project2
|---source2.cpp
|---CMakeLists.txt which has SET(ABAQUS_MAJORVERSION 2016 CACHE STRING "")
我在GUI中将ABAQUS_MAJORVERSION更改为2014。 ABAQUS_MAJORVERSION在CMakeCache.txt文件中成为2014年。 但是当打印出消息($ {ABAQUS_MAJORVERSION})时,它会显示2016
解决方案:
example: SET(MAJORVERSION 2016 CACHE STRING "")
可能需要取消设置所有Include路径和库路径,以使新版本包含路径和库路径生效。
example: UNSET(INCLUDE_PATH CACHE)
UNSET(LIBRARY_PATH CACHE)