[Cmake-commits] CMake branch, next, updated. v2.8.4-994-g6dbbf23
Brad King
brad.king at kitware.com
Wed Feb 23 11:15:00 EST 2011
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 6dbbf23a3973b076870f1f6e97a1dbe81d3fb311 (commit)
via 6c4b2492728cd3fab60bf11feafe3361f02c08c9 (commit)
via 761621645c8605252eea9d3a0d171edc46a529c5 (commit)
from 371b90d84d675695403727b500ab9da1d105f782 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6dbbf23a3973b076870f1f6e97a1dbe81d3fb311
commit 6dbbf23a3973b076870f1f6e97a1dbe81d3fb311
Merge: 371b90d 6c4b249
Author: Brad King <brad.king at kitware.com>
AuthorDate: Wed Feb 23 11:14:58 2011 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Feb 23 11:14:58 2011 -0500
Merge topic 'mingw-module-definition' into next
6c4b249 Fix Fortran test .def file symbol mangling
7616216 Pass .def files directly to MinGW tools (#9997)
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6c4b2492728cd3fab60bf11feafe3361f02c08c9
commit 6c4b2492728cd3fab60bf11feafe3361f02c08c9
Author: Brad King <brad.king at kitware.com>
AuthorDate: Wed Feb 23 10:34:28 2011 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Wed Feb 23 11:05:14 2011 -0500
Fix Fortran test .def file symbol mangling
Commit 6a61a8a5 (Honor module .def files with MinGW tools, 2011-02-21)
enabled use of .def files with GNU tools on Windows. Previously the
Fortran tests's world.def file was used only for the Intel Fortran
Compiler on Windows and contained the symbol name mangled for that
compiler. Instead choose a .def file that names the symbol with proper
mangling for the compiler in use.
diff --git a/Tests/Fortran/CMakeLists.txt b/Tests/Fortran/CMakeLists.txt
index 04563ef..c68d543 100644
--- a/Tests/Fortran/CMakeLists.txt
+++ b/Tests/Fortran/CMakeLists.txt
@@ -22,8 +22,19 @@ elseif("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "GNU")
endif()
endif()
+# Pick a module .def file with the properly mangled symbol name.
+set(world_def "")
+if(WIN32 AND NOT CYGWIN)
+ if("${CMAKE_Fortran_COMPILER_ID}" MATCHES "GNU")
+ set(world_def world_gnu.def)
+ elseif("${CMAKE_Fortran_COMPILER_ID}" MATCHES "Intel" OR
+ "${CMAKE_GENERATOR}" MATCHES "Visual Studio") # Intel plugin
+ set(world_def world_icl.def)
+ endif()
+endif()
+
add_library(hello STATIC hello.f)
-add_library(world ${_SHARED} world.f world.def)
+add_library(world ${_SHARED} world.f ${world_def})
add_executable(testf testf.f)
target_link_libraries(testf hello world)
diff --git a/Tests/Fortran/world_gnu.def b/Tests/Fortran/world_gnu.def
new file mode 100644
index 0000000..1617798
--- /dev/null
+++ b/Tests/Fortran/world_gnu.def
@@ -0,0 +1,2 @@
+EXPORTS
+ world_
diff --git a/Tests/Fortran/world.def b/Tests/Fortran/world_icl.def
similarity index 100%
rename from Tests/Fortran/world.def
rename to Tests/Fortran/world_icl.def
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=761621645c8605252eea9d3a0d171edc46a529c5
commit 761621645c8605252eea9d3a0d171edc46a529c5
Author: Brad King <brad.king at kitware.com>
AuthorDate: Wed Feb 23 10:56:32 2011 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Wed Feb 23 11:04:17 2011 -0500
Pass .def files directly to MinGW tools (#9997)
Commit 6a61a8a5 (Honor module .def files with MinGW tools, 2011-02-21)
set CMAKE_LINK_DEF_FILE_FLAG to "-Wl," to enable passing .def files to
the linker on MinGW. However, older GNU tools in the MSYS shell do not
know how to translate "-Wl,/c/..." to "c:/..." and complain that the
file does not exist. Instead set the flag to just "" which tells CMake
it can pass the file through the front-end with no special flag.
diff --git a/Modules/Platform/Windows-GNU.cmake b/Modules/Platform/Windows-GNU.cmake
index 8df0bcb..72b5d62 100644
--- a/Modules/Platform/Windows-GNU.cmake
+++ b/Modules/Platform/Windows-GNU.cmake
@@ -43,7 +43,7 @@ endif()
set(CMAKE_DL_LIBS "")
set(CMAKE_LIBRARY_PATH_FLAG "-L")
set(CMAKE_LINK_LIBRARY_FLAG "-l")
-set(CMAKE_LINK_DEF_FILE_FLAG "-Wl,")
+set(CMAKE_LINK_DEF_FILE_FLAG "") # Empty string: passing the file is enough
set(CMAKE_LINK_LIBRARY_SUFFIX "")
set(CMAKE_CREATE_WIN32_EXE "-mwindows")
-----------------------------------------------------------------------
Summary of changes:
Modules/Platform/Windows-GNU.cmake | 2 +-
Tests/Fortran/CMakeLists.txt | 13 ++++++++++++-
Tests/Fortran/world_gnu.def | 2 ++
Tests/Fortran/{world.def => world_icl.def} | 0
4 files changed, 15 insertions(+), 2 deletions(-)
create mode 100644 Tests/Fortran/world_gnu.def
rename Tests/Fortran/{world.def => world_icl.def} (100%)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list