Dear list

On Windows, MinGW (gcc 4.5.2), CMake 2.8.4.

I have a project building two executables. The first one builds correctly. On 
the second one it appears to me as though CMake adds flags to link to the 
standard MinGW libraries (mingw32, moldname, mingwex, ...) with an incorrect 
.lib suffix.  (See the output below) As far as I can tell this is totally 
unnecessary since these flags are automatically added by the gfortran compiler. 
So in the end I have -lmingw32.lib (presumably added by CMake, which fails) and 
-lmingw32 (automatically added by gfortran, which correctly links libmingw32.a)

My CMakelists file for the target CE_SEMFEM is
-------------------------------------------------------------------------------------------------------
cmake_minimum_required (VERSION 2.8.4)
project (CE_SEMFEM Fortran)

set (CE_SRCS
    src/CE_SEMFEM.f95
    src/CE_config_module.f95
)

add_executable (CE_SEMFEM ${CE_SRCS})
target_link_libraries (CE_SEMFEM SEMFEM CE_FEMxml xmlparse)
-------------------------------------------------------------------------------------------------------

The libraries SEMFEM, CE_FEMxml and xmlparse are built elsewhere in the project.

Ideas how I can fix this? Any help is much appreciated.

Stiaan

-------------------------------------------------------------------------------------------------------
Linking Fortran executable CE_SEMFEM.exe
Driving: C:\MinGW\bin\gfortran.exe -v 
CMakeFiles/CE_SEMFEM.dir/src/CE_SEMFEM.f95.obj 
CMakeFiles/CE_SEMFEM.dir/src/CE_con
fig_module.f95.obj -o CE_SEMFEM.exe 
-LC:\Loher_Berechner_repo\build\Utilities\xml_parser 
-LC:\Loher_Berechner_repo\build
\SEMFEM\trunk\SEMFEM\core -Lc:\MinGW\lib\gcc\mingw32\4.5.2 -Lc:\MinGW\lib\gcc 
-Lc:\MinGW\mingw32\lib -Lc:\MinGW\lib -L\M
inGW\lib ..\..\core\SEMFEM.lib 
..\..\..\..\..\Utilities\xml_parser\libCE_FEMxml.a 
..\..\..\..\..\Utilities\xml_parser\li
bxmlparse.a C:\MPICH2\lib\fmpich2g.lib -lmingw32.lib -lmoldname.lib 
-lmingwex.lib -lmsvcrt.lib -luser32.lib -lkernel32.l
ib -ladvapi32.lib -lshell32.lib -lmingw32.lib -lmoldname.lib -lmingwex.lib 
-lmsvcrt.lib -lgfortran -shared-libgcc
Using built-in specs.
COLLECT_GCC=C:\MinGW\bin\gfortran.exe
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.5.2/lto-wrapper.exe
Target: mingw32
Configured with: ../gcc-4.5.2/configure 
--enable-languages=c,c++,ada,fortran,objc,obj-c++ --disable-sjlj-exceptions --wi
th-dwarf2 --enable-shared --enable-libgomp --disable-win32-registry 
--enable-libstdcxx-debug --enable-version-specific-r
untime-libs --disable-werror --build=mingw32 --prefix=/mingw
Thread model: win32
gcc version 4.5.2 (GCC)
COMPILER_PATH=c:/mingw/bin/../libexec/gcc/mingw32/4.5.2/;c:/mingw/bin/../libexec/gcc/;c:/mingw/bin/../lib/gcc/mingw32/4.
5.2/../../../../mingw32/bin/
LIBRARY_PATH=c:/mingw/bin/../lib/gcc/mingw32/4.5.2/;c:/mingw/bin/../lib/gcc/;c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../..
/../../mingw32/lib/;c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../;/mingw/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'CE_SEMFEM.exe' 
'-LC:\Loher_Berechner_repo\build\Utilities\xml_parser' '-LC:\Loher_Berechn
er_repo\build\SEMFEM\trunk\SEMFEM\core' '-Lc:\MinGW\lib\gcc\mingw32\4.5.2' 
'-Lc:\MinGW\lib\gcc' '-Lc:\MinGW\mingw32\lib'
 '-Lc:\MinGW\lib' '-L\MinGW\lib' '-shared-libgcc' '-mtune=i386' '-march=i386'
 c:/mingw/bin/../libexec/gcc/mingw32/4.5.2/collect2.exe -Bdynamic -u 
___register_frame_info -u ___deregister_frame_info
-o CE_SEMFEM.exe c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../crt2.o 
c:/mingw/bin/../lib/gcc/mingw32/4.5.2/crtbegin.o
-LC:\Loher_Berechner_repo\build\Utilities\xml_parser 
-LC:\Loher_Berechner_repo\build\SEMFEM\trunk\SEMFEM\core -Lc:\MinGW
\lib\gcc\mingw32\4.5.2 -Lc:\MinGW\lib\gcc -Lc:\MinGW\mingw32\lib -Lc:\MinGW\lib 
-L\MinGW\lib -Lc:/mingw/bin/../lib/gcc/m
ingw32/4.5.2 -Lc:/mingw/bin/../lib/gcc 
-Lc:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/lib 
-Lc:/mingw/bin/..
/lib/gcc/mingw32/4.5.2/../../.. -L/mingw/lib 
CMakeFiles/CE_SEMFEM.dir/src/CE_SEMFEM.f95.obj CMakeFiles/CE_SEMFEM.dir/src
/CE_config_module.f95.obj ..\..\core\SEMFEM.lib 
..\..\..\..\..\Utilities\xml_parser\libCE_FEMxml.a ..\..\..\..\..\Utilit
ies\xml_parser\libxmlparse.a C:\MPICH2\lib\fmpich2g.lib -lmingw32.lib 
-lmoldname.lib -lmingwex.lib -lmsvcrt.lib -luser32
.lib -lkernel32.lib -ladvapi32.lib -lshell32.lib -lmingw32.lib -lmoldname.lib 
-lmingwex.lib -lmsvcrt.lib -lgfortran -lmi
ngw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 
-ladvapi32 -lshell32 -lmingw32 -lgcc_s -lgcc -lmol
dname -lmingwex -lmsvcrt c:/mingw/bin/../lib/gcc/mingw32/4.5.2/crtend.o
c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot 
find -lmingw32.lib
c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot 
find -lmoldname.lib
c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot 
find -lmingwex.lib
c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot 
find -lmsvcrt.lib
c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot 
find -luser32.lib
c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot 
find -lkernel32.lib
c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot 
find -ladvapi32.lib
c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot 
find -lshell32.lib
c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot 
find -lmingw32.lib
c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot 
find -lmoldname.lib
c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot 
find -lmingwex.lib
c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot 
find -lmsvcrt.lib
collect2: ld returned 1 exit status

-------------------------------------------------------------------------------------------------------
_______________________________________________
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

Reply via email to