diff options
author | Alex Neundorf <neundorf@kde.org> | 2011-08-17 21:44:34 (GMT) |
---|---|---|
committer | Alex Neundorf <neundorf@kde.org> | 2011-08-17 21:44:34 (GMT) |
commit | 7d693108faa0df924944eb2b5ced210d735d75b1 (patch) | |
tree | 2163fdca22075cfde2a422180df54c0883565f60 /Tests/FindPackageModeMakefileTest | |
parent | 301114994773e62b82965f3082fef6dd23532e60 (diff) | |
download | CMake-7d693108faa0df924944eb2b5ced210d735d75b1.zip CMake-7d693108faa0df924944eb2b5ced210d735d75b1.tar.gz CMake-7d693108faa0df924944eb2b5ced210d735d75b1.tar.bz2 |
Only enable the test when using GNU make
The makefile used in the test uses $(shell ...), which is
AFAIK a GNU extension, and will probably not work e.g. with OpenBSD make.
According to the FreeBSD make manpage their make has a != assignment,
which seems to do something similar, but I don't have such a system
around for testing.
Also, the point of this test is not to write a portable makefile,
but to check whether cmake --find-package prints a correct string.
Alex
Diffstat (limited to 'Tests/FindPackageModeMakefileTest')
-rw-r--r-- | Tests/FindPackageModeMakefileTest/CMakeLists.txt | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/Tests/FindPackageModeMakefileTest/CMakeLists.txt b/Tests/FindPackageModeMakefileTest/CMakeLists.txt index 17f02b4..def8d63 100644 --- a/Tests/FindPackageModeMakefileTest/CMakeLists.txt +++ b/Tests/FindPackageModeMakefileTest/CMakeLists.txt @@ -1,20 +1,30 @@ -# the test program links against the png lib, so test first whether it exists if(UNIX AND "${CMAKE_GENERATOR}" MATCHES "Makefile") - # build a library which we can search during the test - add_library(foo STATIC foo.cpp) + # Test whether the make is GNU make, and only add the test in this case, + # since the configured makefile in this test uses $(shell ...), which + # is AFAIK a GNU make extension. Alex + execute_process(COMMAND ${CMAKE_MAKE_PROGRAM} -v + OUTPUT_VARIABLE makeVersionOutput + TIMEOUT 10) + string(TOUPPER "${makeVersionOutput}" MAKE_VERSION_OUTPUT) + if("${MAKE_VERSION_OUTPUT}" MATCHES ".*GNU MAKE.*") - # configure a FindFoo.cmake so it knows where the library can be found - configure_file(FindFoo.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FindFoo.cmake @ONLY) + # build a library which we can search during the test + add_library(foo STATIC foo.cpp) - # now set up the test: - get_target_property(cmakeExecutable cmake LOCATION) + # configure a FindFoo.cmake so it knows where the library can be found + configure_file(FindFoo.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FindFoo.cmake @ONLY) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Makefile.in ${CMAKE_CURRENT_BINARY_DIR}/ConfMakefile @ONLY) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/main.cpp ${CMAKE_CURRENT_BINARY_DIR}/main.cpp COPYONLY) + # now set up the test: + get_target_property(cmakeExecutable cmake LOCATION) - add_test(FindPackageModeMakefileTest ${CMAKE_MAKE_PROGRAM} -f ${CMAKE_CURRENT_BINARY_DIR}/ConfMakefile ) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Makefile.in ${CMAKE_CURRENT_BINARY_DIR}/ConfMakefile @ONLY) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/main.cpp ${CMAKE_CURRENT_BINARY_DIR}/main.cpp COPYONLY) + + add_test(FindPackageModeMakefileTest ${CMAKE_MAKE_PROGRAM} -f ${CMAKE_CURRENT_BINARY_DIR}/ConfMakefile ) + + endif() endif() |