-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
37 changed files
with
2,517 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,108 @@ | ||
--- | ||
Language: Cpp | ||
AccessModifierOffset: -4 | ||
AlignAfterOpenBracket: Align | ||
AlignConsecutiveAssignments: true | ||
AlignConsecutiveDeclarations: false | ||
AlignEscapedNewlines: Left | ||
AlignOperands: true | ||
AlignTrailingComments: true | ||
AllowAllParametersOfDeclarationOnNextLine: true | ||
AllowShortBlocksOnASingleLine: true | ||
AllowShortCaseLabelsOnASingleLine: false | ||
AllowShortFunctionsOnASingleLine: Inline | ||
AllowShortIfStatementsOnASingleLine: false | ||
AllowShortLoopsOnASingleLine: false | ||
AlwaysBreakAfterDefinitionReturnType: None | ||
AlwaysBreakAfterReturnType: None | ||
AlwaysBreakBeforeMultilineStrings: true | ||
AlwaysBreakTemplateDeclarations: true | ||
BinPackArguments: true | ||
BinPackParameters: true | ||
BraceWrapping: | ||
AfterClass: false | ||
AfterControlStatement: false | ||
AfterEnum: true | ||
AfterFunction: false | ||
AfterNamespace: false | ||
AfterObjCDeclaration: false | ||
AfterStruct: false | ||
AfterUnion: false | ||
BeforeCatch: true | ||
BeforeElse: true | ||
IndentBraces: false | ||
SplitEmptyFunction: true | ||
SplitEmptyRecord: true | ||
SplitEmptyNamespace: true | ||
BreakBeforeBinaryOperators: None | ||
BreakBeforeBraces: Custom | ||
BreakBeforeInheritanceComma: false | ||
BreakBeforeTernaryOperators: true | ||
BreakConstructorInitializersBeforeComma: false | ||
BreakConstructorInitializers: AfterColon | ||
BreakAfterJavaFieldAnnotations: false | ||
BreakStringLiterals: true | ||
ColumnLimit: 120 | ||
CommentPragmas: '^ IWYU pragma:' | ||
CompactNamespaces: false | ||
ConstructorInitializerAllOnOneLineOrOnePerLine: true | ||
ConstructorInitializerIndentWidth: 4 | ||
ContinuationIndentWidth: 4 | ||
Cpp11BracedListStyle: true | ||
DerivePointerAlignment: false | ||
DisableFormat: false | ||
ExperimentalAutoDetectBinPacking: false | ||
FixNamespaceComments: true | ||
ForEachMacros: | ||
- foreach | ||
- Q_FOREACH | ||
- BOOST_FOREACH | ||
IncludeCategories: | ||
- Regex: '^<.*\.h>' | ||
Priority: 1 | ||
- Regex: '^<.*' | ||
Priority: 2 | ||
- Regex: '.*' | ||
Priority: 3 | ||
IncludeIsMainRegex: '([-_](test|unittest))?$' | ||
IndentCaseLabels: true | ||
IndentWidth: 4 | ||
IndentWrappedFunctionNames: false | ||
JavaScriptQuotes: Leave | ||
JavaScriptWrapImports: true | ||
KeepEmptyLinesAtTheStartOfBlocks: true | ||
MacroBlockBegin: '' | ||
MacroBlockEnd: '' | ||
MaxEmptyLinesToKeep: 2 | ||
NamespaceIndentation: None | ||
ObjCBlockIndentWidth: 2 | ||
ObjCSpaceAfterProperty: false | ||
ObjCSpaceBeforeProtocolList: false | ||
PenaltyBreakAssignment: 2 | ||
PenaltyBreakBeforeFirstCallParameter: 1 | ||
PenaltyBreakComment: 300 | ||
PenaltyBreakFirstLessLess: 120 | ||
PenaltyBreakString: 1000 | ||
PenaltyExcessCharacter: 1000000 | ||
PenaltyReturnTypeOnItsOwnLine: 200 | ||
PointerAlignment: Left | ||
ReflowComments: true | ||
SortIncludes: true | ||
SortUsingDeclarations: true | ||
SpaceAfterCStyleCast: false | ||
SpaceAfterTemplateKeyword: true | ||
SpaceBeforeAssignmentOperators: true | ||
SpaceBeforeParens: ControlStatements | ||
SpaceInEmptyParentheses: false | ||
SpacesBeforeTrailingComments: 2 | ||
SpacesInAngles: false | ||
SpacesInContainerLiterals: true | ||
SpacesInCStyleCastParentheses: false | ||
SpacesInParentheses: false | ||
SpacesInSquareBrackets: false | ||
Standard: Auto | ||
TabWidth: 4 | ||
UseTab: Never | ||
BreakBeforeBinaryOperators: All | ||
ColumnLimit: 120 | ||
... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -30,3 +30,11 @@ | |
*.exe | ||
*.out | ||
*.app | ||
|
||
# Typical build folders | ||
build/ | ||
.build/ | ||
.install/ | ||
|
||
# Typical IDE folders | ||
.idea/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
ecflow-light authors | ||
==================== | ||
|
||
The main development of ecflow-light is done at the | ||
European Centre for Medium-Range Weather Forecasts (ECMWF - http://www.ecmwf.int ) | ||
|
||
Current developers | ||
================== | ||
|
||
Marcos Bento |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
# | ||
# (C) Copyright 2023- ECMWF. | ||
# | ||
# This software is licensed under the terms of the Apache Licence Version 2.0 | ||
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. | ||
# In applying this licence, ECMWF does not waive the privileges and immunities | ||
# granted to it by virtue of its status as an intergovernmental organisation nor | ||
# does it submit to any jurisdiction. | ||
# | ||
|
||
cmake_minimum_required( VERSION 3.20 FATAL_ERROR ) | ||
|
||
find_package( ecbuild 3.7 REQUIRED | ||
HINTS | ||
${CMAKE_CURRENT_SOURCE_DIR} | ||
${CMAKE_CURRENT_SOURCE_DIR}/../ecbuild ) | ||
|
||
# ============================================================================== | ||
# Project Definitions/Languages | ||
|
||
project( ecflow_light | ||
VERSION 1.0.0 | ||
LANGUAGES C CXX Fortran ) | ||
|
||
set(CMAKE_CXX_STANDARD 17) | ||
set(CMAKE_CXX_STANDARD_REQUIRED ON) | ||
set(CMAKE_CXX_EXTENSIONS OFF) | ||
|
||
ecbuild_declare_project() | ||
|
||
ecbuild_add_option( FEATURE BUILD_TOOLS | ||
DEFAULT ON | ||
DESCRIPTION "Build the command line tools" ) | ||
|
||
# ============================================================================== | ||
# Project Dependencies | ||
|
||
include(cmake/Dependencies.cmake) | ||
|
||
|
||
# ============================================================================== | ||
# Project Options | ||
|
||
include(cmake/CompilerOptions.cmake) | ||
|
||
find_package(ClangFormat) | ||
|
||
|
||
# ============================================================================== | ||
# Project Build | ||
|
||
add_subdirectory( src ) | ||
add_subdirectory( tests ) | ||
add_subdirectory( docs ) | ||
|
||
# ============================================================================== | ||
# Project Package | ||
|
||
ecbuild_pkgconfig( | ||
NAME ecflow_light | ||
DESCRIPTION "ECMWF Workflow Management (light)" | ||
LIBRARIES ecflow_light ) | ||
|
||
ecbuild_install_project( NAME ${PROJECT_NAME} ) | ||
|
||
|
||
# ============================================================================== | ||
# Project Summary | ||
|
||
ecbuild_print_summary() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
See LICENSE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
ecflow-light | ||
============ | ||
|
||
Copyright 1996- ECMWF | ||
|
||
This product is developed by the | ||
|
||
Development Section, European Centre for Medium-Range Weather Forecasts (ECMWF) - http://www.ecmwf.int | ||
|
||
Below is a list of external software packages which are used inside ecflow-light: | ||
|
||
- none |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,23 @@ | ||
# ecflow-light | ||
A light ecFlow UDP and HTTP client | ||
|
||
ecFlow-light library enables a workflow task with a lightweight mechanism to send telemetry over UDP to the ecFlow | ||
server. The currently supported requests are: | ||
|
||
- update task meter | ||
- update task label | ||
- update task event | ||
|
||
## Requirements | ||
|
||
Tested compilers include: | ||
|
||
- GCC 13.1.0 | ||
- Clang 16.0.3 | ||
- Intel 2021.4.0 | ||
- Apple LLVM 14.0.0 (clang-1400.0.29.202) | ||
|
||
Required dependencies: | ||
|
||
- CMake --- For use and installation see http://www.cmake.org/ | ||
- ecbuild --- Library of CMake macros at ECMWF | ||
- eckit --- Library to support development of tools and applications at ECMWF |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
# | ||
# (C) Copyright 2023- ECMWF. | ||
# | ||
# This software is licensed under the terms of the Apache Licence Version 2.0 | ||
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. | ||
# In applying this licence, ECMWF does not waive the privileges and immunities | ||
# granted to it by virtue of its status as an intergovernmental organisation nor | ||
# does it submit to any jurisdiction. | ||
# | ||
|
||
ecbuild_add_option( FEATURE WARNINGS | ||
DEFAULT ON | ||
DESCRIPTION "Add warnings to compiler" ) | ||
|
||
ecbuild_add_option( FEATURE COLOURED_OUTPUT | ||
DEFAULT ON | ||
DESCRIPTION "Make sure that GCC/Clang produce coloured output" ) | ||
|
||
ecbuild_add_option( FEATURE EXPORT_COMPILE_COMMANDS | ||
DEFAULT ON | ||
DESCRIPTION "Activate generation of compilation commands DB" ) | ||
|
||
# ============================================================================== | ||
# Compiler Warnings | ||
|
||
if(HAVE_WARNINGS) | ||
|
||
ecbuild_add_cxx_flags( "-Wall" NO_FAIL ) | ||
ecbuild_add_cxx_flags( "-Wextra" NO_FAIL ) | ||
ecbuild_add_cxx_flags( "-Wpedantic" NO_FAIL ) | ||
|
||
endif() | ||
|
||
# ============================================================================== | ||
# Compiler Commands DB | ||
|
||
if(HAVE_EXPORT_COMPILE_COMMANDS) | ||
|
||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON) | ||
|
||
endif() | ||
|
||
# ============================================================================== | ||
# Compiler Coloured Output | ||
|
||
if(HAVE_COLOURED_OUTPUT AND "${CMAKE_GENERATOR}" STREQUAL "Ninja") | ||
|
||
message(STATUS "Ninja generator detected! Ensuring GNU/Clang produce coloured output...") | ||
if (CXX_COMPILER_ID EQUAL "Clang") | ||
ecbuild_add_cxx_flags( "-fdiagnostics-color" NO_FAIL ) | ||
endif() | ||
if (CXX_COMPILER_ID EQUAL "Clang") | ||
ecbuild_add_cxx_flags( "-fdiagnostics-color=always" NO_FAIL ) | ||
endif() | ||
|
||
endif() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# | ||
# (C) Copyright 2023- ECMWF. | ||
# | ||
# This software is licensed under the terms of the Apache Licence Version 2.0 | ||
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. | ||
# In applying this licence, ECMWF does not waive the privileges and immunities | ||
# granted to it by virtue of its status as an intergovernmental organisation nor | ||
# does it submit to any jurisdiction. | ||
# | ||
|
||
|
||
# ============================================================================== | ||
# ECKIT | ||
|
||
ecbuild_find_package( | ||
NAME eckit | ||
VERSION 1.18 | ||
REQUIRED ) | ||
|
||
|
||
# ============================================================================== | ||
# std::fs | ||
|
||
set(STDFSLIB "") | ||
if( (NOT APPLE) AND | ||
(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR | ||
CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR | ||
CMAKE_CXX_COMPILER_ID STREQUAL "Intel")) | ||
set(STDFSLIB "stdc++fs") | ||
endif() |
Oops, something went wrong.