View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0007079CMakeCMakepublic2008-05-22 02:332016-06-10 14:30
ReporterArjen A. Markus 
Assigned ToBill Hoffman 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionmoved 
PlatformOSOS Version
Product VersionCMake-2-6 
Target VersionFixed in Version 
Summary0007079: Interference between Fortran compiler (g95) and C compiler (MSVC) under Windows
DescriptionWhen using the combination of Fortran and C in a project, it may happen that
the identification of the Fortran compiler interferes with the proper settings
for the C compiler.

This is exemplified by the following small CMakeLists.txt file:

project(g95_msvc)

set(PACKAGE g95_msvc)

include(CMakeDetermineFortranCompiler)
enable_language(Fortran)


set(g95_msvc_LIB_SRCS
simple.c
)

add_library(g95_msvc ${g95_msvc_LIB_SRCS})

The environment in which CMake is run should include both the
g95 compiler and the MSVC compiler.

CMake will proceed without any problem, but the generated makefiles
reveal:
The C library to be generated is called "libg85_msvc.a", whereas
if you leave out the requirement for Fortran, then it is called
"g95_msvc.lib"

In a (much) more elaborate project this resulted in the linker (MSVC)
complaining about unknown flags like L\lib when building DLLs from
C sources and g95 complaining about options like STACK:1000000.

The cause seems to be, as reported by Brad King, that the variables
that specify what extensions should be used etc, are independent of the
programming language.

Conclusion:
The combination of Fortran and C compilers with different expectations
on file names and style of options leads to unusable makefiles.

Solving this problem is non-trivial as it will interfere with the
present flexibility of users changing such variables as
CMAKE_EXE_LINKER_FLAGS - these might have to become language-dependent.
TagsNo tags attached.
Attached Files

 Relationships

  Notes
(0041428)
Kitware Robot (administrator)
2016-06-10 14:27

Resolving issue as `moved`.

This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page.

 Issue History
Date Modified Username Field Change
2008-05-22 02:33 Arjen A. Markus New Issue
2008-08-19 15:57 Bill Hoffman Status new => assigned
2008-08-19 15:57 Bill Hoffman Assigned To => Bill Hoffman
2016-06-10 14:27 Kitware Robot Note Added: 0041428
2016-06-10 14:27 Kitware Robot Status assigned => resolved
2016-06-10 14:27 Kitware Robot Resolution open => moved
2016-06-10 14:30 Kitware Robot Status resolved => closed


Copyright © 2000 - 2018 MantisBT Team