diff options
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/CMakeLists.txt | 1 | ||||
-rw-r--r-- | Tests/FindLAPACK/CMakeLists.txt | 10 | ||||
-rw-r--r-- | Tests/FindLAPACK/Test/CMakeLists.txt | 13 | ||||
-rw-r--r-- | Tests/FindLAPACK/Test/main.c | 20 | ||||
-rw-r--r-- | Tests/RunCMake/PrecompileHeaders/PchMultilanguage-check.cmake | 4 | ||||
-rw-r--r-- | Tests/RunCMake/PrecompileHeaders/PchMultilanguage.cmake | 2 | ||||
-rw-r--r-- | Tests/RunCMake/PrecompileHeaders/include/foo_C.h | 1 | ||||
-rw-r--r-- | Tests/RunCMake/PrecompileHeaders/include/foo_CXX.h | 1 |
8 files changed, 50 insertions, 2 deletions
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index ed472a1..5011863 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1434,6 +1434,7 @@ ${CMake_SOURCE_DIR}/Utilities/Release/push.bash --dir dev -- '${CMake_BUILD_NIGH ICU JPEG JsonCpp + LAPACK LibArchive LibLZMA LibRHash diff --git a/Tests/FindLAPACK/CMakeLists.txt b/Tests/FindLAPACK/CMakeLists.txt new file mode 100644 index 0000000..2081d59 --- /dev/null +++ b/Tests/FindLAPACK/CMakeLists.txt @@ -0,0 +1,10 @@ +add_test(NAME FindLAPACK.Test COMMAND + ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION> + --build-and-test + "${CMake_SOURCE_DIR}/Tests/FindLAPACK/Test" + "${CMake_BINARY_DIR}/Tests/FindLAPACK/Test" + ${build_generator_args} + --build-project TestFindLAPACK + --build-options ${build_options} + --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION> + ) diff --git a/Tests/FindLAPACK/Test/CMakeLists.txt b/Tests/FindLAPACK/Test/CMakeLists.txt new file mode 100644 index 0000000..8afa36a --- /dev/null +++ b/Tests/FindLAPACK/Test/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.4) +project(TestFindLAPACK C) +include(CTest) + +find_package(LAPACK REQUIRED) + +add_executable(test_tgt main.c) +target_link_libraries(test_tgt LAPACK::LAPACK) +add_test(NAME test_tgt COMMAND test_tgt) + +add_executable(test_var main.c) +target_link_libraries(test_var PRIVATE ${LAPACK_LIBRARIES}) +add_test(NAME test_var COMMAND test_var) diff --git a/Tests/FindLAPACK/Test/main.c b/Tests/FindLAPACK/Test/main.c new file mode 100644 index 0000000..5873e7b --- /dev/null +++ b/Tests/FindLAPACK/Test/main.c @@ -0,0 +1,20 @@ +#include <assert.h> +#include <string.h> + +// declare what parts of the lapack C-API we need +void dgesv_(int*, int*, double*, int*, int*, double*, int*, int*); + +int main() +{ + double A[8] = { + 0, 1, 2, 3, 4, 5, 6, 7, + }; + double B[2] = { 0, 5 }; + int ipiv[2] = { 0, 0 }; + int info = 0; + + int dim = 2; + int numCols = 1; + dgesv_(&dim, &numCols, A, &dim, ipiv, B, &dim, &info); + return 0; +} diff --git a/Tests/RunCMake/PrecompileHeaders/PchMultilanguage-check.cmake b/Tests/RunCMake/PrecompileHeaders/PchMultilanguage-check.cmake index 1696037..3119341 100644 --- a/Tests/RunCMake/PrecompileHeaders/PchMultilanguage-check.cmake +++ b/Tests/RunCMake/PrecompileHeaders/PchMultilanguage-check.cmake @@ -17,14 +17,14 @@ endif() file(STRINGS ${foobar_pch_h_header} foobar_pch_h_header_strings) -if (NOT foobar_pch_h_header_strings MATCHES ";#include <stddef.h>(;|$)") +if (NOT foobar_pch_h_header_strings MATCHES ";#include \"[^\"]*PrecompileHeaders/include/foo_C.h\";#include <stddef.h>(;|$)") set(RunCMake_TEST_FAILED "Generated foo pch header\n ${foobar_pch_h_header}\nhas bad content:\n ${foobar_pch_h_header_strings}") return() endif() file(STRINGS ${foobar_pch_hxx_header} foobar_pch_hxx_header_strings) -if (NOT foobar_pch_hxx_header_strings MATCHES ";#include <cstddef>(;|$)") +if (NOT foobar_pch_hxx_header_strings MATCHES ";#include \"[^\"]*PrecompileHeaders/include/foo_CXX.h\";#include <cstddef>(;|$)") set(RunCMake_TEST_FAILED "Generated foo pch header\n ${foobar_pch_hxx_header}\nhas bad content:\n ${foobar_pch_hxx_header_strings}") return() endif() diff --git a/Tests/RunCMake/PrecompileHeaders/PchMultilanguage.cmake b/Tests/RunCMake/PrecompileHeaders/PchMultilanguage.cmake index cdc42b2..bb18a64 100644 --- a/Tests/RunCMake/PrecompileHeaders/PchMultilanguage.cmake +++ b/Tests/RunCMake/PrecompileHeaders/PchMultilanguage.cmake @@ -7,6 +7,8 @@ add_executable(foobar ) target_include_directories(foobar PUBLIC include) target_precompile_headers(foobar PRIVATE + "$<$<COMPILE_LANGUAGE:C>:${CMAKE_CURRENT_SOURCE_DIR}/include/foo_C.h>" + "$<$<COMPILE_LANGUAGE:CXX>:${CMAKE_CURRENT_SOURCE_DIR}/include/foo_CXX.h>" "$<$<COMPILE_LANGUAGE:C>:<stddef.h$<ANGLE-R>>" "$<$<COMPILE_LANGUAGE:CXX>:<cstddef$<ANGLE-R>>" ) diff --git a/Tests/RunCMake/PrecompileHeaders/include/foo_C.h b/Tests/RunCMake/PrecompileHeaders/include/foo_C.h new file mode 100644 index 0000000..f4de601 --- /dev/null +++ b/Tests/RunCMake/PrecompileHeaders/include/foo_C.h @@ -0,0 +1 @@ +#include "foo.h" diff --git a/Tests/RunCMake/PrecompileHeaders/include/foo_CXX.h b/Tests/RunCMake/PrecompileHeaders/include/foo_CXX.h new file mode 100644 index 0000000..f4de601 --- /dev/null +++ b/Tests/RunCMake/PrecompileHeaders/include/foo_CXX.h @@ -0,0 +1 @@ +#include "foo.h" |