Commit 0fe05238 authored by Brad King's avatar Brad King

BUG: Fixed out-of-source subdirectories to work when they are also...

BUG: Fixed out-of-source subdirectories to work when they are also out-of-binary.  Updated the OutOfSource test to test this feature.
parent 9fca6a78
......@@ -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(),
......
ADD_LIBRARY(outlib outlib.c)
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;
}
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 )
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment