Skip to content

Commit 550ea07

Browse files
committed
ci.cmake one file
version from file, install Find*.cmake
1 parent 5d81b65 commit 550ea07

File tree

5 files changed

+43
-25
lines changed

5 files changed

+43
-25
lines changed

CMakeLists.txt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
cmake_minimum_required(VERSION 3.13...3.20)
22

3+
file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/VERSION PROJECT_VERSION
4+
REGEX "^([0-9]+\.[0-9]+\.[0-9]+)" LIMIT_INPUT 16 LENGTH_MAXIMUM 16 LIMIT_COUNT 1)
5+
36
project(h5fortran
47
LANGUAGES C Fortran
5-
VERSION 3.6.3
8+
VERSION ${PROJECT_VERSION}
69
DESCRIPTION "thin, light object-oriented HDF5 Fortran interface"
710
HOMEPAGE_URL https://github.com/geospace-code/h5fortran)
811

@@ -63,6 +66,12 @@ if(${PROJECT_NAME}_BUILD_TESTING)
6366
add_subdirectory(src/tests)
6467
endif()
6568

69+
# additional Find*.cmake necesary
70+
install(FILES
71+
${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/FindHDF5.cmake
72+
${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/FindSZIP.cmake
73+
DESTINATION lib/cmake/Modules)
74+
6675
include(cmake/pkgconf.cmake)
6776
include(cmake/install.cmake)
6877

VERSION

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3.6.4

ci.cmake

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,41 @@ endif()
7777

7878
set(CTEST_USE_LAUNCHERS 1)
7979

80+
# --- find generator
81+
function(find_generator)
82+
83+
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.17)
84+
find_program(ninja NAMES ninja ninja-build samu)
85+
86+
if(ninja)
87+
execute_process(COMMAND ${ninja} --version
88+
OUTPUT_VARIABLE ninja_version OUTPUT_STRIP_TRAILING_WHITESPACE
89+
RESULT_VARIABLE err
90+
TIMEOUT 5)
91+
if(err EQUAL 0 AND ninja_version VERSION_GREATER_EQUAL 1.10)
92+
set(CTEST_CMAKE_GENERATOR Ninja)
93+
endif()
94+
endif(ninja)
95+
endif()
96+
97+
if(NOT DEFINED CTEST_CMAKE_GENERATOR)
98+
set(CTEST_BUILD_FLAGS -j) # not --parallel as this goes to generator directly
99+
if(WIN32)
100+
set(CTEST_CMAKE_GENERATOR "MinGW Makefiles")
101+
else()
102+
set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
103+
endif()
104+
endif()
105+
106+
set(CTEST_CMAKE_GENERATOR ${CTEST_CMAKE_GENERATOR} PARENT_SCOPE)
107+
108+
endfunction(find_generator)
109+
80110
if(NOT DEFINED CTEST_CMAKE_GENERATOR)
81111
if(DEFINED ENV{CMAKE_GENERATOR})
82112
set(CTEST_CMAKE_GENERATOR $ENV{CMAKE_GENERATOR})
83113
else()
84-
include(cmake/find_generator.cmake)
114+
find_generator()
85115
endif()
86116
endif()
87117

cmake/find_generator.cmake

Lines changed: 0 additions & 22 deletions
This file was deleted.

meson.build

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
project('h5fortran', 'fortran',
22
meson_version : '>=0.57.0',
3-
version : '3.6.3',
3+
version : files('VERSION'),
44
default_options : ['default_library=static', 'buildtype=release', 'warning_level=3'])
55

66
fc = meson.get_compiler('fortran')

0 commit comments

Comments
 (0)