Skip to content

Commit 2820925

Browse files
authored
Merge pull request #475 from ibmsoe/detect_check_version
Added fix to detect 'check' version using pkg-config.
2 parents eb3127b + 113f919 commit 2820925

File tree

1 file changed

+32
-18
lines changed

1 file changed

+32
-18
lines changed

tests/CMakeLists.txt

Lines changed: 32 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,47 @@
11
include(CheckCSourceCompiles)
2+
include(CheckLibraryExists)
23
find_package(PkgConfig)
34

45
pkg_search_module(CHECK check)
56

6-
if(NOT CHECK_FOUND)
7-
7+
if(CHECK_FOUND)
8+
if(CHECK_VERSION VERSION_LESS 0.10.0)
9+
MESSAGE( "Check version older than 0.10.0" )
10+
set(CHECK_FOUND 0)
11+
endif()
12+
else()
813
find_path(CHECK_INCLUDE_DIRS check.h)
914
find_library(CHECK_LIBRARIES NAMES check)
10-
1115
if(CHECK_INCLUDE_DIRS AND CHECK_LIBRARIES)
1216
set(CHECK_CFLAGS)
1317
set(CHECK_LIBRARY_DIRS)
1418
set(CHECK_FOUND 1)
1519
endif()
16-
17-
endif()
18-
19-
if(CHECK_FOUND)
20-
set(CMAKE_REQUIRED_FLAGS ${CHECK_C_FLAGS} ${CHECK_LDFLAGS_OTHERS})
21-
set(CMAKE_REQUIRED_INCLUDES ${CHECK_INCLUDE_DIRS})
22-
set(CMAKE_REQUIRED_LIBRARIES ${CHECK_LIBRARIES})
23-
CHECK_C_SOURCE_COMPILES(
24-
"#include <check.h>
25-
int main() {
26-
ck_assert_ptr_ne(NULL, NULL);
27-
}"
28-
CHECK_FUNCS)
29-
if (NOT CHECK_FUNCS)
30-
set(CHECK_FOUND 0)
20+
if(CHECK_FOUND)
21+
set(CMAKE_REQUIRED_FLAGS ${CHECK_C_FLAGS} ${CHECK_LDFLAGS_OTHERS})
22+
set(CMAKE_REQUIRED_INCLUDES ${CHECK_INCLUDE_DIRS})
23+
CHECK_LIBRARY_EXISTS(pthread pthread_create "" HAVE_PTHREAD)
24+
if (HAVE_PTHREAD)
25+
set(CHECK_LIBRARIES ${CHECK_LIBRARIES} pthread)
26+
endif (HAVE_PTHREAD)
27+
CHECK_LIBRARY_EXISTS(rt nanosleep "" HAVE_LIBRT)
28+
if (HAVE_LIBRT)
29+
set(CHECK_LIBRARIES ${CHECK_LIBRARIES} rt)
30+
endif (HAVE_LIBRT)
31+
CHECK_LIBRARY_EXISTS(m cos "" HAVE_LIBM)
32+
if (HAVE_LIBM)
33+
set(CHECK_LIBRARIES ${CHECK_LIBRARIES} m)
34+
endif (HAVE_LIBM)
35+
set(CMAKE_REQUIRED_LIBRARIES ${CHECK_LIBRARIES})
36+
CHECK_C_SOURCE_COMPILES(
37+
"#include <check.h>
38+
int main() {
39+
ck_assert_ptr_ne(NULL, NULL);
40+
}"
41+
CHECK_FUNCS)
42+
if (NOT CHECK_FUNCS)
43+
set(CHECK_FOUND 0)
44+
endif()
3145
endif()
3246
endif()
3347

0 commit comments

Comments
 (0)