@@ -9,6 +9,7 @@ set_property ( CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS ${CMAKE_CONFIGURATION_TYP
9
9
# Add option and check environment to determine if developer tests should be run
10
10
if ($ENV{OPENCOARRAYS_DEVELOPER} )
11
11
option (CAF_RUN_DEVELOPER_TESTS "Run tests intended only for developers" ON )
12
+ message ( STATUS "OpenCoarrays developer tests turned on" )
12
13
else ()
13
14
option (CAF_RUN_DEVELOPER_TESTS "Run tests intended only for developers" OFF )
14
15
endif ()
@@ -20,11 +21,51 @@ endif()
20
21
21
22
# Name project and specify source languages
22
23
# Parse version from .VERSION file so that more info can be added and easier to get from scripts
23
- file ( STRINGS ".VERSION" OpenCoarraysVersion
24
+ file (STRINGS ".VERSION" first_line
25
+ LIMIT_COUNT 1
26
+ )
27
+
28
+ string (REGEX MATCH "[0-9]+\\ .[0-9]+\\ .[0-9]+"
29
+ OpenCoarraysVersion "${first_line} " )
30
+
31
+ if ((NOT (OpenCoarraysVersion MATCHES "[0-9]+\\ .[0-9]+\\ .[0-9]+" )) AND (EXISTS "${CMAKE_SOURCE_DIR} /.git" ))
32
+ message ( STATUS "Build from git repository detected" )
33
+ find_package (Git )
34
+ if (GIT_FOUND )
35
+ execute_process (COMMAND "${GIT_EXECUTABLE} " describe --abbrev=0
36
+ WORKING_DIRECTORY "${CMAKE_SOURCE_DIR} "
37
+ RESULT_VARIABLE git_status
38
+ OUTPUT_VARIABLE git_output
39
+ OUTPUT_STRIP_TRAILING_WHITESPACE )
40
+ if ((git_status STREQUAL "0" ) AND (git_output MATCHES "[0-9]+\\ .[0-9]+\\ .[0-9]+" ))
41
+ set (OpenCoarraysVersion "${git_output} " )
42
+ endif ()
43
+ execute_process (COMMAND "${GIT_EXECUTABLE} " describe --always --dirty
44
+ WORKING_DIRECTORY "${CMAKE_SOURCE_DIR} "
45
+ RESULT_VARIABLE git_status
46
+ OUTPUT_VARIABLE full_git_describe
47
+ OUTPUT_STRIP_TRAILING_WHITESPACE )
48
+ if (NOT (git_status STREQUAL "0" ))
49
+ set (full_git_describe NOTFOUND )
50
+ endif ()
51
+ else ()
52
+ message ( WARNING "Could not find git executable!" )
53
+ endif ()
54
+ endif ()
55
+
56
+ if (NOT (OpenCoarraysVersion MATCHES "[0-9]+\\ .[0-9]+\\ .[0-9]+" ))
57
+ message ( WARNING "Could not extract version from git, falling back on .VERSION, line 3." )
58
+ file (STRINGS ".VERSION" OpenCoarraysVersion
24
59
REGEX "[0-9]+\\ .[0-9]+\\ .[0-9]+"
25
- )
60
+ )
61
+ endif ()
62
+
63
+ if (NOT full_git_describe )
64
+ set (full_git_describe ${OpenCoarraysVersion} )
65
+ endif ()
66
+
26
67
project (opencoarrays VERSION "${OpenCoarraysVersion} " LANGUAGES C Fortran )
27
- message ( STATUS "Building OpenCoarrays version: ${OpenCoarraysVersion } " )
68
+ message ( STATUS "Building OpenCoarrays version: ${full_git_describe } " )
28
69
29
70
#Print an error message on an attempt to build inside the source directory tree:
30
71
if ("${CMAKE_CURRENT_SOURCE_DIR} " STREQUAL "${CMAKE_CURRENT_BINARY_DIR} " )
@@ -552,18 +593,19 @@ if(opencoarrays_aware_compiler)
552
593
add_mpi_test (image_status_test_1 4 ${tests_root} /unit/fail_images/image_status_test_1 )
553
594
if (CAF_ENABLE_FAILED_IMAGES )
554
595
# No other way to check that image_fail_test_1 passes.
555
- add_fault_tolerant_mpi_test ( image_fail_test_1 4 ${tests_root} /unit/fail_images/image_fail_test_1 )
556
- set_property ( TEST image_fail_test_1 PROPERTY FAIL_REGULAR_EXPRESSION "Test failed" )
557
- set_property (TEST image_fail_test_1 PROPERTY PASS_REGULAR_EXPRESSION "Test passed " )
558
- add_fault_tolerant_mpi_test ( image_fail_and_sync_test_1 4 ${tests_root} /unit/fail_images/image_fail_and_sync_test_1 )
559
- if ( CAF_RUN_DEVELOPER_TESTS OR $ENV{OPENCOARRAYS_DEVELOPER} )
596
+ if (( NOT $ENV{TRAVIS} ) OR ( CAF_RUN_DEVELOPER_TESTS OR $ENV{OPENCOARRAYS_DEVELOPER} ) )
597
+ add_fault_tolerant_mpi_test ( image_fail_test_1 4 ${tests_root} /unit/fail_images/image_fail_test_1 )
598
+ set_property (TEST image_fail_test_1 PROPERTY FAIL_REGULAR_EXPRESSION "Test failed " )
599
+ set_property ( TEST image_fail_test_1 PROPERTY PASS_REGULAR_EXPRESSION "Test passed" )
600
+ add_fault_tolerant_mpi_test ( image_fail_and_sync_test_1 4 ${tests_root} /unit/fail_images/image_fail_and_sync_test_1 )
560
601
add_fault_tolerant_mpi_test (image_fail_and_sync_test_2 4 ${tests_root} /unit/fail_images/image_fail_and_sync_test_2 )
602
+
603
+ add_fault_tolerant_mpi_test (image_fail_and_sync_test_3 4 ${tests_root} /unit/fail_images/image_fail_and_sync_test_3 )
604
+ add_fault_tolerant_mpi_test (image_fail_and_status_test_1 4 ${tests_root} /unit/fail_images/image_fail_and_status_test_1 )
605
+ add_fault_tolerant_mpi_test (image_fail_and_failed_images_test_1 4 ${tests_root} /unit/fail_images/image_fail_and_failed_images_test_1 )
606
+ add_fault_tolerant_mpi_test (image_fail_and_stopped_images_test_1 4 ${tests_root} /unit/fail_images/image_fail_and_stopped_images_test_1 )
607
+ add_fault_tolerant_mpi_test (image_fail_and_get_test_1 4 ${tests_root} /unit/fail_images/image_fail_and_get_test_1 )
561
608
endif ()
562
- add_fault_tolerant_mpi_test (image_fail_and_sync_test_3 4 ${tests_root} /unit/fail_images/image_fail_and_sync_test_3 )
563
- add_fault_tolerant_mpi_test (image_fail_and_status_test_1 4 ${tests_root} /unit/fail_images/image_fail_and_status_test_1 )
564
- add_fault_tolerant_mpi_test (image_fail_and_failed_images_test_1 4 ${tests_root} /unit/fail_images/image_fail_and_failed_images_test_1 )
565
- add_fault_tolerant_mpi_test (image_fail_and_stopped_images_test_1 4 ${tests_root} /unit/fail_images/image_fail_and_stopped_images_test_1 )
566
- add_fault_tolerant_mpi_test (image_fail_and_get_test_1 4 ${tests_root} /unit/fail_images/image_fail_and_get_test_1 )
567
609
endif ()
568
610
endif ()
569
611
else ()
0 commit comments