diff options
author | Brad King <brad.king@kitware.com> | 2019-02-04 14:41:57 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-02-04 19:13:46 (GMT) |
commit | d3d2c3cd497e09281a8f237b5a4cd35d8cd298f0 (patch) | |
tree | 9a2dc72e8e0612a82ef8660ea59896b65db2fd4a /Tests | |
parent | 6e91f5d6204e650c808b6585074faa248ee6e6a9 (diff) | |
download | CMake-d3d2c3cd497e09281a8f237b5a4cd35d8cd298f0.zip CMake-d3d2c3cd497e09281a8f237b5a4cd35d8cd298f0.tar.gz CMake-d3d2c3cd497e09281a8f237b5a4cd35d8cd298f0.tar.bz2 |
VS: Fix Fortran target type selection when linking C++ targets
Since commit 2c9f35789d (VS: Decide project type by linker lang as
fallback, 2017-03-30, v3.9.0-rc1~340^2) we consider the linker language
when detecting whether to generate a `.vfproj` or `.vcxproj` file.
However, this could cause C-only projects to become `.vfproj` files if
they link to Fortran projects. Instead we should consider only the
`LINKER_LANGUAGE` property on the target itself. This approach is
already used for CSharp. It allows project code to specify the project
file type for a target with no sources but does not allow linked targets
to affect it.
Fixes: #18687
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/Fortran/CMakeLists.txt | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Tests/Fortran/CMakeLists.txt b/Tests/Fortran/CMakeLists.txt index 52623d0..7023615 100644 --- a/Tests/Fortran/CMakeLists.txt +++ b/Tests/Fortran/CMakeLists.txt @@ -99,6 +99,11 @@ function(test_fortran_c_interface_module) target_link_libraries(myc myfort) set_property(TARGET myc PROPERTY COMPILE_DEFINITIONS ${MYC_DEFS}) + add_library(myfort_obj OBJECT mysub.f) + add_library(myc_use_obj myc.c $<TARGET_OBJECTS:myfort_obj>) + add_executable(mainc_use_obj mainc.c) + target_link_libraries(mainc_use_obj myc_use_obj) + add_library(mycxx mycxx.cxx) target_link_libraries(mycxx myc) |