I did see those links on the bug report for Fortran 90 module dependency in subdirectories, but I am having some kind of XML schema error preventing me from viewing them in Firefox.
If I understand you correctly, you are saying that to generate the module dependencies in my example case, I would need to do: /topdir/dir1/src/CMakeLists.txt add_library(dir1src foo1.f90) target_link_libraries(dir1src dir2mod) /topdir/dir2/mod/CMakeLists.txt add_library(dir2mod foo2.f90) but this seems odd to me so I am not sure if I am interpreting it correctly. Also, this seems to suggest that for my same directory dependency generation error I would need to do: add_library(thefoo foo.f90 foo2.f90 foo3.f90) target_link_libraries(thefoo thefoo) which also seems awkward and has not fixed my error in same directory Fortran 90 module dependency checks. On 3/1/2012 11:21 AM, Matthew Schuchard wrote:
/ In particular, I have noticed that CMake cannot do module dependency scanning outside of the current directory/subdirectories.
/>>/ />>/ For example, if /topdir/dir1/src/ has a Fortran file with a dependency on a module built in /topdir/dir2/mod/, CMake will not instruct the module in /dir2/mod/ to be built before the Fortran file in /dir1/src/. This is not necessarily an issue as I can simply instruct CMake to build the /dir2/mod />>/ directory before the /dir1/src/ directory via add_subdirectory ordering. /
When scanning dependencies of sources in a given target CMake looks at targets to which that target links to find possible module providers. If a target uses a module provided by another target but does not link to it then the link will fail. It does not matter whether the targets are in the same directory or different directories so long as they are all handled during a single CMake configuration. The case is even covered in the test suite: http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Library/CMakeLists.txt;hb=v2.8.7 http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Library/a.f90;hb=v2.8.7 http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Library/b.f90;hb=v2.8.7 http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Executable/CMakeLists.txt;hb=v2.8.7 http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Executable/main.f90;hb=v2.8.7 -Brad
-- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake