summaryrefslogtreecommitdiffstats
path: root/Modules/Platform/Windows-bcc32.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2007-03-22 13:45:25 (GMT)
committerBrad King <brad.king@kitware.com>2007-03-22 13:45:25 (GMT)
commit5a32aa5919bd9dab272748c0e0ea12fbcd36436b (patch)
treeb4b0d2c70b896a8c95c91c88112ec2b3bb9d987d /Modules/Platform/Windows-bcc32.cmake
parent187816c9371e49769c02481ea46491b2d7e22d66 (diff)
downloadCMake-5a32aa5919bd9dab272748c0e0ea12fbcd36436b.zip
CMake-5a32aa5919bd9dab272748c0e0ea12fbcd36436b.tar.gz
CMake-5a32aa5919bd9dab272748c0e0ea12fbcd36436b.tar.bz2
ENH: Added target property ENABLE_EXPORTS for executable targets. It enables the executables for linking by loadable modules that import symbols from the executable. This finishes the executable import library support mentioned in bug #4210.
Diffstat (limited to 'Modules/Platform/Windows-bcc32.cmake')
-rw-r--r--Modules/Platform/Windows-bcc32.cmake20
1 files changed, 14 insertions, 6 deletions
diff --git a/Modules/Platform/Windows-bcc32.cmake b/Modules/Platform/Windows-bcc32.cmake
index 82fa064..382bf2d 100644
--- a/Modules/Platform/Windows-bcc32.cmake
+++ b/Modules/Platform/Windows-bcc32.cmake
@@ -26,6 +26,11 @@ SET(CMAKE_FIND_LIBRARY_SUFFIXES "-bcc.lib" ".lib")
# Borland cannot handle + in the file name, so mangle object file name
SET (CMAKE_MANGLE_OBJECT_FILE_NAMES "ON")
+# Create an import library for another target.
+SET(CMAKE_CXX_CREATE_IMPORT_LIBRARY
+ "implib -c -w <TARGET_IMPLIB> <TARGET>"
+ )
+
# Create a C++ module library.
SET(CMAKE_CXX_CREATE_SHARED_MODULE
"<CMAKE_CXX_COMPILER> ${CMAKE_START_TEMP_FILE}-e<TARGET> -tWD <LINK_FLAGS> -tWR <LINK_LIBRARIES> <OBJECTS>${CMAKE_END_TEMP_FILE}"
@@ -33,9 +38,12 @@ SET(CMAKE_CXX_CREATE_SHARED_MODULE
# Create a C++ shared library.
# First create a module and then its import library.
-SET(CMAKE_CXX_CREATE_SHARED_LIBRARY ${CMAKE_CXX_CREATE_SHARED_MODULE}
- "implib -c -w <TARGET_IMPLIB> <TARGET>"
- )
+SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
+ ${CMAKE_CXX_CREATE_SHARED_MODULE}
+ ${CMAKE_CXX_CREATE_IMPORT_LIBRARY})
+
+# Create an import library for another target.
+SET(CMAKE_C_CREATE_IMPORT_LIBRARY ${CMAKE_CXX_CREATE_IMPORT_LIBRARY})
# Create a C module library.
SET(CMAKE_C_CREATE_SHARED_MODULE
@@ -44,9 +52,9 @@ SET(CMAKE_C_CREATE_SHARED_MODULE
# Create a C shared library.
# First create a module and then its import library.
-SET(CMAKE_C_CREATE_SHARED_LIBRARY ${CMAKE_C_CREATE_SHARED_MODULE}
- "implib -c -w <TARGET_IMPLIB> <TARGET>"
- )
+SET(CMAKE_C_CREATE_SHARED_LIBRARY
+ ${CMAKE_C_CREATE_SHARED_MODULE}
+ ${CMAKE_C_CREATE_IMPORT_LIBRARY})
# create a C++ static library
SET(CMAKE_CXX_CREATE_STATIC_LIBRARY "tlib ${CMAKE_START_TEMP_FILE}/p512 <LINK_FLAGS> /a <TARGET_QUOTED> <OBJECTS_QUOTED>${CMAKE_END_TEMP_FILE}")