CMake/Tests/Fortran
Brad King 42bbf1307a CMP0022: Fix link language propagation in NEW behavior
The languages used in compiling STATIC libraries need to be propagated
to dependents regardless of the settings of INTERFACE_LINK_LIBRARIES or
CMP0022.  They are independent of the libraries in the link interface.

Prior to commit v2.8.12~192^2~2 (Introduce the INTERFACE_LINK_LIBRARIES
property, 2013-06-04) the cmTarget::ComputeLinkInterface code path for
"explicitLibraries" could never be taken for STATIC libraries, so the
logic to propagate languages existed only in the non-explicitLibraries
code path.  After that commit, INTERFACE_LINK_LIBRARIES could be set for
STATIC libraries to cause the "explicitLibraries" code path to be taken.
The commit also left the old non-explicitLibraries code path conditional
on CMP0022 not being set to NEW.  Thus link language propagation was
left missing from two cases by that commit.

The explicitLibraries code path was fixed to propagate languages by
commit v2.8.12~149^2~1 (cmTarget: Fix iface libraries and languages for
static libraries, 2013-07-26).  However, the non-explicitLibraries case
was never taught to propagate languages when CMP0022 is set to NEW.  Fix
that now.  Factor the logic to propagate link languages out of the link
interface libraries conditions so that it always occurs.  Update
Tests/Fortran to set CMP0022 to NEW to test this case (because the test
passes only if link language propagation works).
2014-05-19 09:06:20 -04:00
..
Executable Fix escapes in Fortran depend.make entries 2010-01-04 10:18:44 -05:00
External ENH: Add tests of Fortran module dependencies across directories and on external modules. Tests based on cases provided by Maik in issue #5809. 2007-12-28 11:50:29 -05:00
Library Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
in_interface
include ENH: Test included header in Fortran preprocessing 2009-02-24 14:32:31 -05:00
CMakeLists.txt CMP0022: Fix link language propagation in NEW behavior 2014-05-19 09:06:20 -04:00
foo.f Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
hello.f Test all target types in Fortran 2009-10-23 08:24:51 -04:00
mainc.c Test C, C++, Fortran interface combinations 2009-08-04 14:06:45 -04:00
maincxx.c Test C, C++, Fortran interface combinations 2009-08-04 14:06:45 -04:00
myc.c Rewrite FortranCInterface module 2009-08-05 13:40:29 -04:00
mycxx.cxx Test C, C++, Fortran interface combinations 2009-08-04 14:06:45 -04:00
mysub.f ENH: Require language libs in Fortran/C test 2009-07-27 11:56:09 -04:00
test_module_implementation.f90
test_module_interface.f90
test_module_main.f90
test_preprocess.F90 ENH: Test included header in Fortran preprocessing 2009-02-24 14:32:31 -05:00
test_use_in_comment_fixedform.f BUG: Fix Fortran test to use more portable comment syntax in fixed format source. 2008-03-28 14:04:52 -04:00
test_use_in_comment_freeform.f90 Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
testf.f Test all target types in Fortran 2009-10-23 08:24:51 -04:00
world.f Test all target types in Fortran 2009-10-23 08:24:51 -04:00
world_gnu.def Fix Fortran test .def file symbol mangling 2011-02-23 11:05:14 -05:00
world_icl.def Fix Fortran test .def file symbol mangling 2011-02-23 11:05:14 -05:00