BUG: make sure java jar files are not libfoo.jar but are just foo.jar

This commit is contained in:
Bill Hoffman 2004-09-27 11:36:29 -04:00
parent f5b978fe2f
commit 016e0e52cb
3 changed files with 15 additions and 3 deletions

View File

@ -6,3 +6,5 @@ SET(CMAKE_Java_COMPILER_LOADED 1)
SET(CMAKE_Java_SOURCE_FILE_EXTENSIONS java)
SET(CMAKE_Java_LINKER_PREFERENCE Prefered)
SET(CMAKE_Java_OUTPUT_EXTENSION .class)
SET(CMAKE_STATIC_LIBRARY_PREFIX_Java "")
SET(CMAKE_STATIC_LIBRARY_SUFFIX_Java ".jar")

View File

@ -1,5 +1,4 @@
# this is a place holder if java needed flags for javac they would go here.
SET(CMAKE_STATIC_LIBRARY_SUFFIX_Java ".jar")
IF(NOT CMAKE_Java_CREATE_STATIC_LIBRARY)
SET(CMAKE_Java_CREATE_STATIC_LIBRARY
"<CMAKE_Java_ARCHIVE> -cf <TARGET> *.class")

View File

@ -342,8 +342,19 @@ std::string cmLocalUnixMakefileGenerator::GetBaseTargetName(const char* n,
}
// if there is no prefix on the target use the cmake definition
if(!targetPrefix && prefixVar)
{
targetPrefix = m_Makefile->GetSafeDefinition(prefixVar);
{
// first check for a language specific suffix var
const char* ll = t.GetLinkerLanguage(this->GetGlobalGenerator());
if(ll)
{
std::string langPrefix = prefixVar + std::string("_") + ll;
targetPrefix = m_Makefile->GetDefinition(langPrefix.c_str());
}
// if there not a language specific suffix then use the general one
if(!targetPrefix)
{
targetPrefix = m_Makefile->GetSafeDefinition(prefixVar);
}
}
std::string name = pathPrefix + (targetPrefix?targetPrefix:"");
name += n;