FIX: fix bug 2043 borland compiler and dll problem and add a test for it
This commit is contained in:
parent
e8b10e1938
commit
b7b35d2c5a
|
@ -1370,11 +1370,7 @@ cmLocalUnixMakefileGenerator3
|
||||||
// Build a list of compiler flags and linker flags.
|
// Build a list of compiler flags and linker flags.
|
||||||
std::string flags;
|
std::string flags;
|
||||||
std::string linkFlags;
|
std::string linkFlags;
|
||||||
|
#if 0
|
||||||
// Add flags to create an executable.
|
|
||||||
this->AddConfigVariableFlags(linkFlags, "CMAKE_EXE_LINKER_FLAGS");
|
|
||||||
|
|
||||||
|
|
||||||
// Loop over all libraries and see if all are shared
|
// Loop over all libraries and see if all are shared
|
||||||
const cmTarget::LinkLibraries& tlibs = target.GetLinkLibraries();
|
const cmTarget::LinkLibraries& tlibs = target.GetLinkLibraries();
|
||||||
int AllShared = 2; // 0 = false, 1 = true, 2 = unknown
|
int AllShared = 2; // 0 = false, 1 = true, 2 = unknown
|
||||||
|
@ -1395,7 +1391,6 @@ cmLocalUnixMakefileGenerator3
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if all libs were shared then add the special borland flag for linking an
|
// if all libs were shared then add the special borland flag for linking an
|
||||||
// executable to only shared libs
|
// executable to only shared libs
|
||||||
if(AllShared == 1)
|
if(AllShared == 1)
|
||||||
|
@ -1403,6 +1398,17 @@ cmLocalUnixMakefileGenerator3
|
||||||
this->AppendFlags
|
this->AppendFlags
|
||||||
(linkFlags,m_Makefile->GetDefinition("CMAKE_SHARED_BUILD_CXX_FLAGS"));
|
(linkFlags,m_Makefile->GetDefinition("CMAKE_SHARED_BUILD_CXX_FLAGS"));
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
// Add flags to deal with shared libraries. Any library being
|
||||||
|
// linked in might be shared, so always use shared flags for an
|
||||||
|
// executable.
|
||||||
|
this->AddSharedFlags(linkFlags, linkLanguage, true);
|
||||||
|
|
||||||
|
// Add flags to create an executable.
|
||||||
|
this->AddConfigVariableFlags(linkFlags, "CMAKE_EXE_LINKER_FLAGS");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(target.GetPropertyAsBool("WIN32_EXECUTABLE"))
|
if(target.GetPropertyAsBool("WIN32_EXECUTABLE"))
|
||||||
{
|
{
|
||||||
this->AppendFlags(linkFlags,
|
this->AppendFlags(linkFlags,
|
||||||
|
@ -1417,11 +1423,6 @@ cmLocalUnixMakefileGenerator3
|
||||||
// Add language-specific flags.
|
// Add language-specific flags.
|
||||||
this->AddLanguageFlags(flags, linkLanguage);
|
this->AddLanguageFlags(flags, linkLanguage);
|
||||||
|
|
||||||
// Add flags to deal with shared libraries. Any library being
|
|
||||||
// linked in might be shared, so always use shared flags for an
|
|
||||||
// executable.
|
|
||||||
this->AddSharedFlags(flags, linkLanguage, true);
|
|
||||||
|
|
||||||
// Add target-specific linker flags.
|
// Add target-specific linker flags.
|
||||||
this->AppendFlags(linkFlags, target.GetProperty("LINK_FLAGS"));
|
this->AppendFlags(linkFlags, target.GetProperty("LINK_FLAGS"));
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
IF ("${PROJECT_SOURCE_DIR}" STREQUAL "${ANOTHER_PROJ_SOURCE_DIR}")
|
IF ("${PROJECT_SOURCE_DIR}" STREQUAL "${ANOTHER_PROJ_SOURCE_DIR}")
|
||||||
|
SET(BUILD_SHARED_LIBS 1)
|
||||||
|
ADD_LIBRARY(testlib testlib.cxx)
|
||||||
ADD_EXECUTABLE (simple simple.cxx)
|
ADD_EXECUTABLE (simple simple.cxx)
|
||||||
|
TARGET_LINK_LIBRARIES(simple testlib)
|
||||||
ENDIF ("${PROJECT_SOURCE_DIR}" STREQUAL "${ANOTHER_PROJ_SOURCE_DIR}")
|
ENDIF ("${PROJECT_SOURCE_DIR}" STREQUAL "${ANOTHER_PROJ_SOURCE_DIR}")
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
|
#include "testlib.h"
|
||||||
|
|
||||||
int main ()
|
int main ()
|
||||||
{
|
{
|
||||||
|
if(TestLib() != 1.0)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue