BUG: Fixed out-of-source subdirectories to work when they are also out-of-binary. Updated the OutOfSource test to test this feature.
This commit is contained in:
parent
9fca6a7837
commit
0fe0523810
|
@ -1048,9 +1048,8 @@ void cmMakefileTargetGenerator::WriteTargetDriverRule(const char* main_output,
|
|||
bool relink)
|
||||
{
|
||||
// Compute the name of the driver target.
|
||||
std::string dir = this->Makefile->GetStartOutputDirectory();
|
||||
dir += "/";
|
||||
dir += this->LocalGenerator->GetTargetDirectory(*this->Target);
|
||||
std::string dir =
|
||||
this->LocalGenerator->GetRelativeTargetDirectory(*this->Target);
|
||||
std::string buildTargetRuleName = dir;
|
||||
buildTargetRuleName += relink?"/preinstall":"/build";
|
||||
buildTargetRuleName = this->Convert(buildTargetRuleName.c_str(),
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
ADD_LIBRARY(outlib outlib.c)
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
int outlib() { return 456; }
|
||||
|
|
@ -4,7 +4,7 @@ IF ("${PROJECT_SOURCE_DIR}" STREQUAL "${ANOTHER_PROJ_SOURCE_DIR}")
|
|||
SET(BUILD_SHARED_LIBS 1)
|
||||
ADD_LIBRARY(testlib testlib.cxx)
|
||||
ADD_EXECUTABLE (simple simple.cxx ../simple.cxx)
|
||||
TARGET_LINK_LIBRARIES(simple testlib)
|
||||
TARGET_LINK_LIBRARIES(simple testlib outlib)
|
||||
ENDIF ("${PROJECT_SOURCE_DIR}" STREQUAL "${ANOTHER_PROJ_SOURCE_DIR}")
|
||||
|
||||
# test getting a definition from a subdir
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#include "testdp.h"
|
||||
|
||||
extern int simple();
|
||||
extern "C" int outlib();
|
||||
|
||||
int main ()
|
||||
{
|
||||
|
@ -21,5 +22,9 @@ int main ()
|
|||
{
|
||||
return -1;
|
||||
}
|
||||
if(outlib() != 456)
|
||||
{
|
||||
return -4;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
PROJECT(ANOTHER_PROJ)
|
||||
|
||||
# subdir to an out of source and out of binary directory
|
||||
ADD_SUBDIRECTORY(${OutOfSource_SOURCE_DIR}/../OutOfBinary
|
||||
${OutOfSource_BINARY_DIR}/../OutOfBinary)
|
||||
|
||||
# subdir to a sibling dir
|
||||
ADD_SUBDIRECTORY(${OutOfSource_SOURCE_DIR}/${KEN}OutOfSourceSubdir OutOfSourceSubdir )
|
||||
|
|
Loading…
Reference in New Issue