今天把mfix-18.1.1modelmonitors里的文件拷到当前工作目录,进行修改编译,发现修改后运行发现并没有出现任何修改后的效果,发现这几个文件只有在原始目录里修改的才起作用,拷贝到当前目录修改的不起作用。然后就取稍微研究了一下CmakeList.txt,找到了原因,具体问题在这一行:
这个file命令具体用法可以参见:https://cmake.org/cmake/help/v3.0/command/file.html
file(GLOB variable [RELATIVE path] [globbing expressions]...)这条命令会对变量USR_OVERRIDES赋值,赋值的内容就是后面的正则表达式表示的内容。而${UDF_DIR}又是个变量名,往前找可以找到:
set的具体用法可以参见:https://cmake.org/cmake/help/v3.0/command/set.html
这里是把UDF_DIR这个变量用${CMAKE_CURRENT_BINARY_DIR}赋值,而这个变量代表当前工作目录的路径(参见:https://cmake.org/cmake/help/v3.0/variable/CMAKE_CURRENT_BINARY_DIR.html)
所以最上面那个图本意是要在当前工作目录下找所有的fortran文件,但是只写了*.f /des/*.f作为通配符,忘了还有*.f90的情况,所以加上一句就可以了。