1- cmake_minimum_required (VERSION 2.8.12)
2- project ( morecvutils Fortran )
1+ cmake_minimum_required (VERSION 3.0)
2+ project (lineclip Fortran)
3+ enable_testing ()
34
45add_compile_options (-O3 -mtune=native -g)
56
6- if (${CMAKE_Fortran_COMPILER_ID} MATCHES " GNU" )
7+ if (${CMAKE_Fortran_COMPILER_ID} STREQUAL GNU)
78 add_compile_options (-Wall -Wextra -Wpedantic -Werror=array-bounds -fbacktrace -fexceptions)
89 if (NOT CYGWIN AND NOT WIN32 )
910 add_compile_options (-fstack-protector-all )
@@ -13,18 +14,24 @@ endif()
1314
1415if (${CMAKE_Fortran_COMPILER_ID} STREQUAL Intel)
1516 add_compile_options (-coarray=shared)# -check all)
16- link_libraries (-coarray=shared) # seems silly but that's what's needed at object code step for ifort
17+ link_libraries (-coarray=shared)
1718elseif (${CMAKE_Fortran_COMPILER_ID} STREQUAL GNU)
18- if ( $ENV{TRAVIS} ) # on Travis-CI
19- add_compile_options (-fcoarray=single)
20- else ( )
19+ find_package (OpenCoarrays)
20+
21+ if (OpenCoarrays_FOUND )
2122 add_compile_options (-fcoarray=lib)
22- set (FCAF ${FCAF} caf_mpi)
23+ link_libraries (caf_mpi)
24+ else ()
25+ add_compile_options (-fcoarray=single)
2326 endif ()
27+ elseif (${CMAKE_Fortran_COMPILER_ID} STREQUAL Flang)
28+ link_libraries (-static -flang-libs)
2429endif ()
2530
2631add_library (lineclip lineclipping.f90)
27- target_link_libraries (lineclip ${FCAF} )
32+ target_link_libraries (lineclip)
2833
2934add_executable (RunLineclip DemoLineclip.f90 assert.f90)
3035target_link_libraries (RunLineclip lineclip)
36+
37+ add_test (NAME clip COMMAND ./RunLineclip)
0 commit comments