summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/CMakeLists.txt7
-rw-r--r--Source/cmaketest.cxx13
2 files changed, 17 insertions, 3 deletions
diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt
index 3f403f9..91d4850 100644
--- a/Source/CMakeLists.txt
+++ b/Source/CMakeLists.txt
@@ -91,7 +91,12 @@ IF(BUILD_TESTING)
${CMake_BINARY_DIR}/Tests/Complex
complex
${CMake_BINARY_DIR}/Tests/Complex/bin )
-
+ ADD_TEST(Example ${CMake_BINARY_DIR}/Source/cmaketest
+ ${CMake_SOURCE_DIR}/Example
+ ${CMake_BINARY_DIR}/Example
+ helloDemo
+ ${CMake_BINARY_DIR}/Example/Demo
+ HELLO )
ENDIF (DART_ROOT)
ENDIF(BUILD_TESTING)
diff --git a/Source/cmaketest.cxx b/Source/cmaketest.cxx
index 99a6e63..4e54b11 100644
--- a/Source/cmaketest.cxx
+++ b/Source/cmaketest.cxx
@@ -28,6 +28,11 @@ int main (int argc, char *argv[])
{
executableDirectory = argv[4];
}
+ const char* projectName = executableName;
+ if(argc > 5)
+ {
+ projectName = argv[5];
+ }
/**
* Run an executable command and put the stdout in output.
@@ -37,6 +42,7 @@ int main (int argc, char *argv[])
// change to the tests directory and run cmake
// use the cmake object instead of calling cmake
std::string cwd = cmSystemTools::GetCurrentWorkingDirectory();
+ std::cout << "Changing into directory: " << binaryDirectory << "\n";
cmSystemTools::ChangeDirectory(binaryDirectory);
cmake cm;
std::vector<std::string> args;
@@ -57,7 +63,7 @@ int main (int argc, char *argv[])
std::string generator = "-G";
generator += CMAKE_GENERATOR;
args.push_back(generator);
-
+ std::cout << "Generating build files...\n";
if (cm.Generate(args) != 0)
{
std::cerr << "Error: cmake execution failed\n";
@@ -65,6 +71,7 @@ int main (int argc, char *argv[])
cmSystemTools::ChangeDirectory(cwd.c_str());
return 1;
}
+ std::cout << "Done Generating build files.\n";
cmListFileCache::GetInstance()->ClearCache();
// now build the test
std::string makeCommand = MAKEPROGRAM;
@@ -97,7 +104,7 @@ int main (int argc, char *argv[])
}
#endif
makeCommand += " ";
- makeCommand += executableName;
+ makeCommand += projectName;
makeCommand += ".dsw /MAKE \"ALL_BUILD - Debug\" /REBUILD";
}
else
@@ -105,6 +112,7 @@ int main (int argc, char *argv[])
// assume a make sytle program
makeCommand += " all";
}
+ std::cout << "Running make command: " << makeCommand.c_str() << " ...\n";
if (!cmSystemTools::RunCommand(makeCommand.c_str(), output))
{
std::cerr << "Error: " << makeCommand.c_str() << " execution failed\n";
@@ -168,6 +176,7 @@ int main (int argc, char *argv[])
#if defined(_WIN32) && !defined(__CYGWIN__)
cmSystemTools::ConvertToWindowsSlashes(fullPath);
#endif
+ std::cout << "Running test executable: " << fullPath.c_str() << "\n";
if (!cmSystemTools::RunCommand(fullPath.c_str(), output))
{
std::cerr << "Error: " << fullPath.c_str() << " execution failed\n";