diff options
author | Alexander Neundorf <neundorf@kde.org> | 2007-11-24 01:45:49 (GMT) |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2007-11-24 01:45:49 (GMT) |
commit | e3c84cf5a6ceb3f1bbc4b47dce4dfbdb1c856408 (patch) | |
tree | 82a2ad082ba8b4d22deca15288c9daa679391b13 /Tests | |
parent | d48ab19efe2daa4313e8bdcd626ffd556cb80fc3 (diff) | |
download | CMake-e3c84cf5a6ceb3f1bbc4b47dce4dfbdb1c856408.zip CMake-e3c84cf5a6ceb3f1bbc4b47dce4dfbdb1c856408.tar.gz CMake-e3c84cf5a6ceb3f1bbc4b47dce4dfbdb1c856408.tar.bz2 |
ENH: add support for the Syllable OS (http://www.syllable.org)
major issues:
-access() doesn't return false for an empty string (#ifdefed in cmake)
-dlopen() doesn't return 0 on failure (#ifdefed in cmake and fixed now in Syllable)
-the kwsys and Bootstrap tests fail with timeout due to the fact that I'm doing all that in qemu, which is quite slow
-RPATH is now supported, so without modifying the test adapting DLL_PATH in Syllable is required for the tests to succeed
-the Plugin test fails with an undefined reference to example_exe_function() in example_mod_1, it seems this isn't supported under Syllable
Alex
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/CMakeLists.txt | 87 |
1 files changed, 54 insertions, 33 deletions
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 81713e6..5e8a8a7 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -443,30 +443,61 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=CVS -P ${CMake_SOURCE_DIR}/Utilities/Rel --test-command exec4 ) - ADD_TEST(JumpWithLibOut ${CMAKE_CTEST_COMMAND} - --build-and-test - "${CMake_SOURCE_DIR}/Tests/Jump" - "${CMake_BINARY_DIR}/Tests/Jump/WithLibOut" - --build-exe-dir "${CMake_BINARY_DIR}/Tests/Jump/WithLibOut/Executable" - --build-project Jump - --build-generator ${CMAKE_TEST_GENERATOR} - --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM} - --build-options - -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Jump/WithLibOut/Lib - --test-command jumpExecutable - ) + IF("${CMAKE_SYSTEM_NAME}" MATCHES syllable) + +# RPATH isn't supported under Syllable, so the tests don't +# find their libraries. In order to fix that LIBRARY_OUTPUT_DIR +# in the tests would have to be adjusted to ${EXECUTABLE_OUTPUT_DIR}/lib . +# For now we just require on Syllable that the user adjusts the DLL_PATH +# environment variable, so except the two tests below all other tests will succeed. + + SET(_DLL_PATH "$ENV{DLL_PATH}") + IF(NOT "${_DLL_PATH}" MATCHES "^(.*:)?\@bindir\@/\\.(:.*)?$") + MESSAGE(FATAL_ERROR "In order to successfully run the CMake test suite on Syllable you need to add \"\@bindir\@/.\" to the DLL_PATH environment variable") + ENDIF(NOT "${_DLL_PATH}" MATCHES "^(.*:)?\@bindir\@/\\.(:.*)?$") + IF(NOT "${_DLL_PATH}" MATCHES "^(.*:)?\@bindir\@/\\.\\./lib(:.*)?$") + MESSAGE(FATAL_ERROR "In order to successfully run the CMake test suite on Syllable you need to add \"\@bindir\@/../lib\" to the DLL_PATH environment variable") + ENDIF(NOT "${_DLL_PATH}" MATCHES "^(.*:)?\@bindir\@/\\.\\./lib(:.*)?$") + + ELSE("${CMAKE_SYSTEM_NAME}" MATCHES syllable) + + ADD_TEST(JumpWithLibOut ${CMAKE_CTEST_COMMAND} + --build-and-test + "${CMake_SOURCE_DIR}/Tests/Jump" + "${CMake_BINARY_DIR}/Tests/Jump/WithLibOut" + --build-exe-dir "${CMake_BINARY_DIR}/Tests/Jump/WithLibOut/Executable" + --build-project Jump + --build-generator ${CMAKE_TEST_GENERATOR} + --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM} + --build-options + -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Jump/WithLibOut/Lib + --test-command jumpExecutable + ) + + ADD_TEST(JumpNoLibOut ${CMAKE_CTEST_COMMAND} + --build-and-test + "${CMake_SOURCE_DIR}/Tests/Jump" + "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut" + --build-exe-dir "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut/Executable" + --build-run-dir "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut/Executable" + --build-project Jump + --build-generator ${CMAKE_TEST_GENERATOR} + --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM} + --test-command jumpExecutable + ) + + ADD_TEST(Plugin ${CMAKE_CTEST_COMMAND} + --build-and-test + "${CMake_SOURCE_DIR}/Tests/Plugin" + "${CMake_BINARY_DIR}/Tests/Plugin" + --build-generator ${CMAKE_TEST_GENERATOR} + --build-project Plugin + --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM} + --build-two-config + --test-command bin/example) + + ENDIF("${CMAKE_SYSTEM_NAME}" MATCHES syllable) - ADD_TEST(JumpNoLibOut ${CMAKE_CTEST_COMMAND} - --build-and-test - "${CMake_SOURCE_DIR}/Tests/Jump" - "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut" - --build-exe-dir "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut/Executable" - --build-run-dir "${CMake_BINARY_DIR}/Tests/Jump/NoLibOut/Executable" - --build-project Jump - --build-generator ${CMAKE_TEST_GENERATOR} - --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM} - --test-command jumpExecutable - ) ADD_TEST(linkorder1 ${CMAKE_CTEST_COMMAND} --build-and-test @@ -488,16 +519,6 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=CVS -P ${CMake_SOURCE_DIR}/Utilities/Rel --test-command Exec2 ) - ADD_TEST(Plugin ${CMAKE_CTEST_COMMAND} - --build-and-test - "${CMake_SOURCE_DIR}/Tests/Plugin" - "${CMake_BINARY_DIR}/Tests/Plugin" - --build-generator ${CMAKE_TEST_GENERATOR} - --build-project Plugin - --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM} - --build-two-config - --test-command bin/example) - IF(NOT CMAKE_TEST_DIFFERENT_GENERATOR) ADD_TEST(kwsys ${CMAKE_CTEST_COMMAND} --build-and-test |