Use per-config output dir in VS 6 templates

This commit removes use of configuration-less cmTarget::GetDirectory()
by the VS 6 generator (except for compatibility with user templates).
We replace OUTPUT_DIRECTORY_<CONFIG> tokens in the templates using the
per-configuration result of cmTarget::GetDirectory(config).
This commit is contained in:
Brad King 2009-10-28 12:18:55 -04:00
parent 1024ffad82
commit 90b8164e44
5 changed files with 66 additions and 32 deletions

View File

@ -1193,6 +1193,30 @@ void cmLocalVisualStudio6Generator
outputNameRelWithDebInfo = target.GetFullName("RelWithDebInfo");
}
// Compute the output directory for the target.
std::string outputDirDebug;
std::string outputDirRelease;
std::string outputDirMinSizeRel;
std::string outputDirRelWithDebInfo;
if(target.GetType() == cmTarget::EXECUTABLE ||
target.GetType() == cmTarget::STATIC_LIBRARY ||
target.GetType() == cmTarget::SHARED_LIBRARY ||
target.GetType() == cmTarget::MODULE_LIBRARY)
{
outputDirDebug =
removeQuotes(this->ConvertToOptionallyRelativeOutputPath(
target.GetDirectory("Debug").c_str()));
outputDirRelease =
removeQuotes(this->ConvertToOptionallyRelativeOutputPath(
target.GetDirectory("Release").c_str()));
outputDirMinSizeRel =
removeQuotes(this->ConvertToOptionallyRelativeOutputPath(
target.GetDirectory("MinSizeRel").c_str()));
outputDirRelWithDebInfo =
removeQuotes(this->ConvertToOptionallyRelativeOutputPath(
target.GetDirectory("RelWithDebInfo").c_str()));
}
// Compute the proper link information for the target.
std::string optionsDebug;
std::string optionsRelease;
@ -1412,11 +1436,21 @@ void cmLocalVisualStudio6Generator
if(targetBuilds)
{
cmSystemTools::ReplaceString(line, "OUTPUT_DIRECTORY_DEBUG",
outputDirDebug.c_str());
cmSystemTools::ReplaceString(line, "OUTPUT_DIRECTORY_RELEASE",
outputDirRelease.c_str());
cmSystemTools::ReplaceString(line, "OUTPUT_DIRECTORY_MINSIZEREL",
outputDirMinSizeRel.c_str());
cmSystemTools::ReplaceString(line, "OUTPUT_DIRECTORY_RELWITHDEBINFO",
outputDirRelWithDebInfo.c_str());
#ifdef CM_USE_OLD_VS6
std::string outPath = target.GetDirectory();
cmSystemTools::ReplaceString
(line, "OUTPUT_DIRECTORY",
removeQuotes(this->ConvertToOptionallyRelativeOutputPath
(outPath.c_str())).c_str());
#endif
}
cmSystemTools::ReplaceString(line,

View File

@ -53,7 +53,7 @@ RSC=rc.exe
# PROP BASE Target_Dir ""
# PROP Use_MFC CMAKE_MFC_FLAG
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "OUTPUT_DIRECTORY\Release"
# PROP Output_Dir "OUTPUT_DIRECTORY_RELEASE"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
@ -73,7 +73,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 /nologo /dll /machine:I386
# ADD LINK32 /nologo /dll TARGET_VERSION_FLAG /machine:I386 /out:"OUTPUT_DIRECTORY\Release/OUTPUT_NAME_RELEASE" TARGET_IMPLIB_FLAG_RELEASE
# ADD LINK32 /nologo /dll TARGET_VERSION_FLAG /machine:I386 /out:"OUTPUT_DIRECTORY_RELEASE/OUTPUT_NAME_RELEASE" TARGET_IMPLIB_FLAG_RELEASE
CM_MULTILINE_OPTIONS_RELEASE
CMAKE_CUSTOM_RULE_CODE_RELEASE
@ -87,7 +87,7 @@ CMAKE_CUSTOM_RULE_CODE_RELEASE
# PROP BASE Target_Dir ""
# PROP Use_MFC CMAKE_MFC_FLAG
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "OUTPUT_DIRECTORY\Debug"
# PROP Output_Dir "OUTPUT_DIRECTORY_DEBUG"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
@ -107,7 +107,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 /nologo /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 /nologo /dll TARGET_VERSION_FLAG /debug /machine:I386 /out:"OUTPUT_DIRECTORY\Debug/OUTPUT_NAME_DEBUG" /pdbtype:sept TARGET_IMPLIB_FLAG_DEBUG
# ADD LINK32 /nologo /dll TARGET_VERSION_FLAG /debug /machine:I386 /out:"OUTPUT_DIRECTORY_DEBUG/OUTPUT_NAME_DEBUG" /pdbtype:sept TARGET_IMPLIB_FLAG_DEBUG
CM_MULTILINE_OPTIONS_DEBUG
CMAKE_CUSTOM_RULE_CODE_DEBUG
@ -122,7 +122,7 @@ CMAKE_CUSTOM_RULE_CODE_DEBUG
# PROP BASE Target_Dir ""
# PROP Use_MFC CMAKE_MFC_FLAG
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "OUTPUT_DIRECTORY\MinSizeRel"
# PROP Output_Dir "OUTPUT_DIRECTORY_MINSIZEREL"
# PROP Intermediate_Dir "MinSizeRel"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
@ -143,7 +143,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 /nologo /dll /machine:I386
# ADD LINK32 /nologo /dll TARGET_VERSION_FLAG /machine:I386 /out:"OUTPUT_DIRECTORY\MinSizeRel/OUTPUT_NAME_MINSIZEREL" TARGET_IMPLIB_FLAG_MINSIZEREL
# ADD LINK32 /nologo /dll TARGET_VERSION_FLAG /machine:I386 /out:"OUTPUT_DIRECTORY_MINSIZEREL/OUTPUT_NAME_MINSIZEREL" TARGET_IMPLIB_FLAG_MINSIZEREL
CM_MULTILINE_OPTIONS_MINSIZEREL
CMAKE_CUSTOM_RULE_CODE_MINSIZEREL
@ -157,7 +157,7 @@ CMAKE_CUSTOM_RULE_CODE_MINSIZEREL
# PROP BASE Target_Dir ""
# PROP Use_MFC CMAKE_MFC_FLAG
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "OUTPUT_DIRECTORY\RelWithDebInfo"
# PROP Output_Dir "OUTPUT_DIRECTORY_RELWITHDEBINFO"
# PROP Intermediate_Dir "RelWithDebInfo"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
@ -177,7 +177,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 /nologo /dll /machine:I386 /pdbtype:sept
# ADD LINK32 /nologo /dll TARGET_VERSION_FLAG /debug /machine:I386 /pdbtype:sept /out:"OUTPUT_DIRECTORY\RelWithDebInfo/OUTPUT_NAME_RELWITHDEBINFO" TARGET_IMPLIB_FLAG_RELWITHDEBINFO
# ADD LINK32 /nologo /dll TARGET_VERSION_FLAG /debug /machine:I386 /pdbtype:sept /out:"OUTPUT_DIRECTORY_RELWITHDEBINFO/OUTPUT_NAME_RELWITHDEBINFO" TARGET_IMPLIB_FLAG_RELWITHDEBINFO
CM_MULTILINE_OPTIONS_RELWITHDEBINFO
CMAKE_CUSTOM_RULE_CODE_RELWITHDEBINFO

View File

@ -53,7 +53,7 @@ RSC=rc.exe
# PROP BASE Target_Dir ""
# PROP Use_MFC CMAKE_MFC_FLAG
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "OUTPUT_DIRECTORY\Release"
# PROP Output_Dir "OUTPUT_DIRECTORY_RELEASE"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /FD /c
@ -71,7 +71,7 @@ BSC32=bscmake.exe
LINK32=link.exe
# ADD BASE LINK32 /nologo /subsystem:console /machine:I386 /IGNORE:4089
# ADD LINK32 /nologo /subsystem:console /machine:I386 /IGNORE:4089 TARGET_VERSION_FLAG
# ADD LINK32 /out:"OUTPUT_DIRECTORY\Release\OUTPUT_NAME_RELEASE" TARGET_IMPLIB_FLAG_RELEASE
# ADD LINK32 /out:"OUTPUT_DIRECTORY_RELEASE\OUTPUT_NAME_RELEASE" TARGET_IMPLIB_FLAG_RELEASE
CM_MULTILINE_OPTIONS_RELEASE
CMAKE_CUSTOM_RULE_CODE_RELEASE
@ -85,7 +85,7 @@ CMAKE_CUSTOM_RULE_CODE_RELEASE
# PROP BASE Target_Dir ""
# PROP Use_MFC CMAKE_MFC_FLAG
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "OUTPUT_DIRECTORY\Debug"
# PROP Output_Dir "OUTPUT_DIRECTORY_DEBUG"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /GZ /c
@ -105,7 +105,7 @@ BSC32=bscmake.exe
LINK32=link.exe
# ADD BASE LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /IGNORE:4089
# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /IGNORE:4089 TARGET_VERSION_FLAG
# ADD LINK32 /out:"OUTPUT_DIRECTORY\Debug\OUTPUT_NAME_DEBUG" TARGET_IMPLIB_FLAG_DEBUG
# ADD LINK32 /out:"OUTPUT_DIRECTORY_DEBUG\OUTPUT_NAME_DEBUG" TARGET_IMPLIB_FLAG_DEBUG
CM_MULTILINE_OPTIONS_DEBUG
CMAKE_CUSTOM_RULE_CODE_DEBUG
@ -118,7 +118,7 @@ CMAKE_CUSTOM_RULE_CODE_DEBUG
# PROP BASE Target_Dir ""
# PROP Use_MFC CMAKE_MFC_FLAG
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "OUTPUT_DIRECTORY\MinSizeRel"
# PROP Output_Dir "OUTPUT_DIRECTORY_MINSIZEREL"
# PROP Intermediate_Dir "MinSizeRel"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /FD /c
@ -136,7 +136,7 @@ BSC32=bscmake.exe
LINK32=link.exe
# ADD BASE LINK32 /nologo /subsystem:console /machine:I386 /IGNORE:4089
# ADD LINK32 /nologo /subsystem:console /machine:I386 /IGNORE:4089 TARGET_VERSION_FLAG
# ADD LINK32 /out:"OUTPUT_DIRECTORY\MinSizeRel\OUTPUT_NAME_MINSIZEREL" TARGET_IMPLIB_FLAG_MINSIZEREL
# ADD LINK32 /out:"OUTPUT_DIRECTORY_MINSIZEREL\OUTPUT_NAME_MINSIZEREL" TARGET_IMPLIB_FLAG_MINSIZEREL
CM_MULTILINE_OPTIONS_MINSIZEREL
CMAKE_CUSTOM_RULE_CODE_MINSIZEREL
@ -150,7 +150,7 @@ CMAKE_CUSTOM_RULE_CODE_MINSIZEREL
# PROP BASE Target_Dir ""
# PROP Use_MFC CMAKE_MFC_FLAG
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "OUTPUT_DIRECTORY\RelWithDebInfo"
# PROP Output_Dir "OUTPUT_DIRECTORY_RELWITHDEBINFO"
# PROP Intermediate_Dir "RelWithDebInfo"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /FD /c
@ -168,7 +168,7 @@ BSC32=bscmake.exe
LINK32=link.exe
# ADD BASE LINK32 /nologo /subsystem:console /debug /machine:I386 /IGNORE:4089
# ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /IGNORE:4089 TARGET_VERSION_FLAG
# ADD LINK32 /out:"OUTPUT_DIRECTORY\RelWithDebInfo\OUTPUT_NAME_RELWITHDEBINFO" TARGET_IMPLIB_FLAG_RELWITHDEBINFO
# ADD LINK32 /out:"OUTPUT_DIRECTORY_RELWITHDEBINFO\OUTPUT_NAME_RELWITHDEBINFO" TARGET_IMPLIB_FLAG_RELWITHDEBINFO
CM_MULTILINE_OPTIONS_RELWITHDEBINFO
CMAKE_CUSTOM_RULE_CODE_RELWITHDEBINFO

View File

@ -53,7 +53,7 @@ RSC=rc.exe
# PROP BASE Target_Dir ""
# PROP Use_MFC CMAKE_MFC_FLAG
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "OUTPUT_DIRECTORY\Release"
# PROP Output_Dir "OUTPUT_DIRECTORY_RELEASE"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
@ -73,7 +73,7 @@ BSC32=bscmake.exe
LINK32=link.exe
# ADD BASE LINK32 /nologo /subsystem:windows /machine:I386 /IGNORE:4089
# ADD LINK32 /nologo /subsystem:windows /machine:I386 /IGNORE:4089 TARGET_VERSION_FLAG
# ADD LINK32 /out:"OUTPUT_DIRECTORY\Release\OUTPUT_NAME_RELEASE" TARGET_IMPLIB_FLAG_RELEASE
# ADD LINK32 /out:"OUTPUT_DIRECTORY_RELEASE\OUTPUT_NAME_RELEASE" TARGET_IMPLIB_FLAG_RELEASE
CM_MULTILINE_OPTIONS_RELEASE
CMAKE_CUSTOM_RULE_CODE_RELEASE
@ -87,7 +87,7 @@ CMAKE_CUSTOM_RULE_CODE_RELEASE
# PROP BASE Target_Dir ""
# PROP Use_MFC CMAKE_MFC_FLAG
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "OUTPUT_DIRECTORY\Debug"
# PROP Output_Dir "OUTPUT_DIRECTORY_DEBUG"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c
@ -107,7 +107,7 @@ BSC32=bscmake.exe
LINK32=link.exe
# ADD BASE LINK32 /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept /IGNORE:4089
# ADD LINK32 /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept /IGNORE:4089 TARGET_VERSION_FLAG
# ADD LINK32 /out:"OUTPUT_DIRECTORY\Debug\OUTPUT_NAME_DEBUG" TARGET_IMPLIB_FLAG_DEBUG
# ADD LINK32 /out:"OUTPUT_DIRECTORY_DEBUG\OUTPUT_NAME_DEBUG" TARGET_IMPLIB_FLAG_DEBUG
CM_MULTILINE_OPTIONS_DEBUG
CMAKE_CUSTOM_RULE_CODE_DEBUG
@ -120,7 +120,7 @@ CMAKE_CUSTOM_RULE_CODE_DEBUG
# PROP BASE Target_Dir ""
# PROP Use_MFC CMAKE_MFC_FLAG
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "OUTPUT_DIRECTORY\MinSizeRel"
# PROP Output_Dir "OUTPUT_DIRECTORY_MINSIZEREL"
# PROP Intermediate_Dir "MinSizeRel"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
@ -138,7 +138,7 @@ BSC32=bscmake.exe
LINK32=link.exe
# ADD BASE LINK32 /nologo /subsystem:windows /machine:I386 /pdbtype:sept /IGNORE:4089
# ADD LINK32 /nologo /subsystem:windows /machine:I386 /pdbtype:sept /IGNORE:4089 TARGET_VERSION_FLAG
# ADD LINK32 /out:"OUTPUT_DIRECTORY\MinSizeRel\OUTPUT_NAME_MINSIZEREL" TARGET_IMPLIB_FLAG_MINSIZEREL
# ADD LINK32 /out:"OUTPUT_DIRECTORY_MINSIZEREL\OUTPUT_NAME_MINSIZEREL" TARGET_IMPLIB_FLAG_MINSIZEREL
CM_MULTILINE_OPTIONS_MINSIZEREL
CMAKE_CUSTOM_RULE_CODE_MINSIZEREL
@ -152,7 +152,7 @@ CMAKE_CUSTOM_RULE_CODE_MINSIZEREL
# PROP BASE Target_Dir ""
# PROP Use_MFC CMAKE_MFC_FLAG
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "OUTPUT_DIRECTORY\RelWithDebInfo"
# PROP Output_Dir "OUTPUT_DIRECTORY_RELWITHDEBINFO"
# PROP Intermediate_Dir "RelWithDebInfo"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
@ -172,7 +172,7 @@ BSC32=bscmake.exe
LINK32=link.exe
# ADD BASE LINK32 /nologo /subsystem:windows /machine:I386 /IGNORE:4089
# ADD LINK32 /nologo /subsystem:windows /debug /machine:I386 /IGNORE:4089 TARGET_VERSION_FLAG
# ADD LINK32 /out:"OUTPUT_DIRECTORY\RelWithDebInfo\OUTPUT_NAME_RELWITHDEBINFO" TARGET_IMPLIB_FLAG_RELWITHDEBINFO
# ADD LINK32 /out:"OUTPUT_DIRECTORY_RELWITHDEBINFO\OUTPUT_NAME_RELWITHDEBINFO" TARGET_IMPLIB_FLAG_RELWITHDEBINFO
CM_MULTILINE_OPTIONS_RELWITHDEBINFO
CMAKE_CUSTOM_RULE_CODE_RELWITHDEBINFO

View File

@ -50,7 +50,7 @@ RSC=rc.exe
# PROP BASE Target_Dir ""
# PROP Use_MFC CMAKE_MFC_FLAG
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "OUTPUT_DIRECTORY\Release"
# PROP Output_Dir "OUTPUT_DIRECTORY_RELEASE"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "NDEBUG" /D "_LIB" /FD /c
@ -67,7 +67,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"OUTPUT_DIRECTORY\Release/OUTPUT_NAME_RELEASE" CM_STATIC_LIB_ARGS
# ADD LIB32 /nologo /out:"OUTPUT_DIRECTORY_RELEASE/OUTPUT_NAME_RELEASE" CM_STATIC_LIB_ARGS
CMAKE_CUSTOM_RULE_CODE_RELEASE
@ -80,7 +80,7 @@ CMAKE_CUSTOM_RULE_CODE_RELEASE
# PROP BASE Target_Dir ""
# PROP Use_MFC CMAKE_MFC_FLAG
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "OUTPUT_DIRECTORY\Debug"
# PROP Output_Dir "OUTPUT_DIRECTORY_DEBUG"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "_DEBUG" /D "_LIB" /FD /c
@ -97,7 +97,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"OUTPUT_DIRECTORY\Debug/OUTPUT_NAME_DEBUG" CM_STATIC_LIB_ARGS
# ADD LIB32 /nologo /out:"OUTPUT_DIRECTORY_DEBUG/OUTPUT_NAME_DEBUG" CM_STATIC_LIB_ARGS
CMAKE_CUSTOM_RULE_CODE_DEBUG
@ -110,7 +110,7 @@ CMAKE_CUSTOM_RULE_CODE_DEBUG
# PROP BASE Target_Dir ""
# PROP Use_MFC CMAKE_MFC_FLAG
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "OUTPUT_DIRECTORY\MinSizeRel"
# PROP Output_Dir "OUTPUT_DIRECTORY_MINSIZEREL"
# PROP Intermediate_Dir "MinSizeRel"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
@ -128,7 +128,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"OUTPUT_DIRECTORY\MinSizeRel/OUTPUT_NAME_MINSIZEREL" CM_STATIC_LIB_ARGS
# ADD LIB32 /nologo /out:"OUTPUT_DIRECTORY_MINSIZEREL/OUTPUT_NAME_MINSIZEREL" CM_STATIC_LIB_ARGS
CMAKE_CUSTOM_RULE_CODE_MINSIZEREL
@ -141,7 +141,7 @@ CMAKE_CUSTOM_RULE_CODE_MINSIZEREL
# PROP BASE Target_Dir ""
# PROP Use_MFC CMAKE_MFC_FLAG
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "OUTPUT_DIRECTORY\RelWithDebInfo"
# PROP Output_Dir "OUTPUT_DIRECTORY_RELWITHDEBINFO"
# PROP Intermediate_Dir "RelWithDebInfo"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "NDEBUG" /D "_LIB" /FD /c
@ -158,7 +158,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"OUTPUT_DIRECTORY\RelWithDebInfo/OUTPUT_NAME_RELWITHDEBINFO" CM_STATIC_LIB_ARGS
# ADD LIB32 /nologo /out:"OUTPUT_DIRECTORY_RELWITHDEBINFO/OUTPUT_NAME_RELWITHDEBINFO" CM_STATIC_LIB_ARGS
CMAKE_CUSTOM_RULE_CODE_RELWITHDEBINFO