Skip to content

Commit 12eb4f5

Browse files
committed
Update Autocmake, require CMake 3.0 at least
1 parent 3ce6be3 commit 12eb4f5

File tree

5 files changed

+19
-10
lines changed

5 files changed

+19
-10
lines changed

.travis.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ script:
120120
after_success:
121121
- |
122122
if [[ "${COVERAGE}" = true ]]; then
123-
coveralls -E ".*external.*" -E ".*CMakeFiles.*" -E ".*test/.*.cpp.*" -E ".*src/lebedev/.*.cpp.*" || echo 'coveralls upload failed.'
123+
coveralls -E ".*external.*" -E ".*CMakeFiles.*" -E ".*test/.*.cpp.*" || echo 'coveralls upload failed.'
124124
fi
125125
126126
notifications:

CMakeLists.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
# Copyright (c) 2015-2017 by Radovan Bast, Jonas Juselius, and contributors.
33

44
# set minimum cmake version
5-
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
5+
cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
66

77
# project name
8-
project(numgrid)
8+
project(numgrid CXX)
99

1010
# do not rebuild if rules (compiler flags) change
1111
set(CMAKE_SKIP_RULE_DEPENDENCY TRUE)
1212

13-
# if CMAKE_BUILD_TYPE undefined, we set it to Debug
13+
# if CMAKE_BUILD_TYPE undefined, we set it to Release
1414
if(NOT CMAKE_BUILD_TYPE)
1515
set(CMAKE_BUILD_TYPE "Release")
1616
endif()

cmake/autocmake.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
name: numgrid
22

3-
min_cmake_version: 2.8
3+
min_cmake_version: 3.0
4+
5+
language: CXX
46

57
default_build_type: release
68

cmake/autocmake/generate.py

+5-4
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ def gen_setup(config, default_build_type, relative_path, setup_script_name):
118118
return s
119119

120120

121-
def gen_cmakelists(project_name, min_cmake_version, default_build_type, relative_path, modules):
121+
def gen_cmakelists(project_name, project_language, min_cmake_version, default_build_type, relative_path, modules):
122122
"""
123123
Generate CMakeLists.txt.
124124
"""
@@ -132,7 +132,7 @@ def gen_cmakelists(project_name, min_cmake_version, default_build_type, relative
132132
s.append('cmake_minimum_required(VERSION {0} FATAL_ERROR)'.format(min_cmake_version))
133133

134134
s.append('\n# project name')
135-
s.append('project({0})'.format(project_name))
135+
s.append('project({0} {1})'.format(project_name, project_language))
136136

137137
s.append('\n# do not rebuild if rules (compiler flags) change')
138138
s.append('set(CMAKE_SKIP_RULE_DEPENDENCY TRUE)')
@@ -142,9 +142,10 @@ def gen_cmakelists(project_name, min_cmake_version, default_build_type, relative
142142
'relwithdebinfo': 'RelWithDebInfo',
143143
'minsizerel': 'MinSizeRel'}
144144

145-
s.append('\n# if CMAKE_BUILD_TYPE undefined, we set it to Debug')
145+
_build_type = build_type_capitalized[default_build_type]
146+
s.append('\n# if CMAKE_BUILD_TYPE undefined, we set it to {0}'.format(_build_type))
146147
s.append('if(NOT CMAKE_BUILD_TYPE)')
147-
s.append(' set(CMAKE_BUILD_TYPE "{0}")'.format(build_type_capitalized[default_build_type]))
148+
s.append(' set(CMAKE_BUILD_TYPE "{0}")'.format(_build_type))
148149
s.append('endif()')
149150

150151
if len(modules) > 0:

cmake/update.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,12 @@ def process_yaml(argv):
141141
sys.stderr.write("ERROR: project name contains a space\n")
142142
sys.exit(-1)
143143

144+
if 'language' in config:
145+
project_language = ' '.join(config['language']) if isinstance(config['language'], list) else config['language']
146+
else:
147+
sys.stderr.write("ERROR: you have to specify the project language(s) in autocmake.yml\n")
148+
sys.exit(-1)
149+
144150
if 'min_cmake_version' in config:
145151
min_cmake_version = config['min_cmake_version']
146152
else:
@@ -179,7 +185,7 @@ def process_yaml(argv):
179185

180186
# create CMakeLists.txt
181187
print('- generating CMakeLists.txt')
182-
s = gen_cmakelists(project_name, min_cmake_version, default_build_type, relative_path, modules)
188+
s = gen_cmakelists(project_name, project_language, min_cmake_version, default_build_type, relative_path, modules)
183189
with open(os.path.join(project_root, 'CMakeLists.txt'), 'w') as f:
184190
f.write('{0}\n'.format('\n'.join(s)))
185191

0 commit comments

Comments
 (0)