diff --git a/Tests/OutOfSource/CMakeLists.txt b/Tests/OutOfSource/CMakeLists.txt index e6c4f9733..a053f1401 100644 --- a/Tests/OutOfSource/CMakeLists.txt +++ b/Tests/OutOfSource/CMakeLists.txt @@ -1,6 +1,13 @@ -# a simple test case -PROJECT (OutOfSource) +# a simple test cas +project (OutOfSource) -ADD_SUBDIRECTORY(SubDir) +add_subdirectory(SubDir) -SET(KEN 1) +get_directory_property(ANIMAL DIRECTORY OutOfSourceSubdir DEFINITION WEASELS) + +configure_file( + ${OutOfSource_SOURCE_DIR}/testdp.h.in + ${OutOfSource_BINARY_DIR}/SubDir/OutOfSourceSubdir/testdp.h + ) + +set(KEN 1) diff --git a/Tests/OutOfSource/OutOfSourceSubdir/CMakeLists.txt b/Tests/OutOfSource/OutOfSourceSubdir/CMakeLists.txt index 412a1ca02..3180f28be 100644 --- a/Tests/OutOfSource/OutOfSourceSubdir/CMakeLists.txt +++ b/Tests/OutOfSource/OutOfSourceSubdir/CMakeLists.txt @@ -1,3 +1,5 @@ +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) + IF ("${PROJECT_SOURCE_DIR}" STREQUAL "${ANOTHER_PROJ_SOURCE_DIR}") SET(BUILD_SHARED_LIBS 1) ADD_LIBRARY(testlib testlib.cxx) @@ -5,3 +7,5 @@ IF ("${PROJECT_SOURCE_DIR}" STREQUAL "${ANOTHER_PROJ_SOURCE_DIR}") TARGET_LINK_LIBRARIES(simple testlib) ENDIF ("${PROJECT_SOURCE_DIR}" STREQUAL "${ANOTHER_PROJ_SOURCE_DIR}") +# test getting a definition from a subdir +SET (WEASELS SIZZLING) diff --git a/Tests/OutOfSource/OutOfSourceSubdir/simple.cxx b/Tests/OutOfSource/OutOfSourceSubdir/simple.cxx index cfb1f1ab6..e06777deb 100644 --- a/Tests/OutOfSource/OutOfSourceSubdir/simple.cxx +++ b/Tests/OutOfSource/OutOfSourceSubdir/simple.cxx @@ -1,7 +1,16 @@ +#include +#include + #include "testlib.h" +#include "testdp.h" int main () -{ +{ + if (strcmp(animal,"SIZZLING")) + { + fprintf(stderr,"Get definitions from a subdir did not work\n"); + return -2; + } if(TestLib() != 1.0) { return -1; diff --git a/Tests/OutOfSource/testdp.h.in b/Tests/OutOfSource/testdp.h.in new file mode 100644 index 000000000..2ca99d523 --- /dev/null +++ b/Tests/OutOfSource/testdp.h.in @@ -0,0 +1 @@ +char *animal = "${ANIMAL}";