Skip to content

Commit

Permalink
Merge pull request #5873 from masterleinad/fix_version_macro_develop
Browse files Browse the repository at this point in the history
Fix version macros
  • Loading branch information
dalg24 committed Feb 10, 2023
2 parents 2272d3b + b6cdada commit d39885a
Show file tree
Hide file tree
Showing 3 changed files with 64 additions and 4 deletions.
8 changes: 4 additions & 4 deletions cmake/KokkosCore_config.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@
// KOKKOS_VERSION % 100 is the patch level
// KOKKOS_VERSION / 100 % 100 is the minor version
// KOKKOS_VERSION / 10000 is the major version
#cmakedefine KOKKOS_VERSION @KOKKOS_VERSION@
#cmakedefine KOKKOS_VERSION_MAJOR @KOKKOS_VERSION_MAJOR@
#cmakedefine KOKKOS_VERSION_MINOR @KOKKOS_VERSION_MINOR@
#cmakedefine KOKKOS_VERSION_PATCH @KOKKOS_VERSION_PATCH@
#define KOKKOS_VERSION @KOKKOS_VERSION@
#define KOKKOS_VERSION_MAJOR @KOKKOS_VERSION_MAJOR@
#define KOKKOS_VERSION_MINOR @KOKKOS_VERSION_MINOR@
#define KOKKOS_VERSION_PATCH @KOKKOS_VERSION_PATCH@

/* Execution Spaces */
#cmakedefine KOKKOS_ENABLE_SERIAL
Expand Down
1 change: 1 addition & 0 deletions core/unit_test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ SET(COMPILE_ONLY_SOURCES
TestDetectionIdiom.cpp
TestInterOp.cpp
TestStringManipulation.cpp
TestVersionMacros.cpp
TestViewTypeTraits.cpp
TestTypeList.cpp
view/TestExtentsDatatypeConversion.cpp
Expand Down
59 changes: 59 additions & 0 deletions core/unit_test/TestVersionMacros.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
//@HEADER
// ************************************************************************
//
// Kokkos v. 4.0
// Copyright (2022) National Technology & Engineering
// Solutions of Sandia, LLC (NTESS).
//
// Under the terms of Contract DE-NA0003525 with NTESS,
// the U.S. Government retains certain rights in this software.
//
// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions.
// See https://kokkos.org/LICENSE for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//@HEADER

#include <Kokkos_Core.hpp>

#ifndef KOKKOS_VERSION
static_assert(false, "KOKKOS_VERSION macro is not defined!");
#endif

#ifndef KOKKOS_VERSION_MAJOR
static_assert(false, "KOKKOS_VERSION_MAJOR macro is not defined!");
#endif

#ifndef KOKKOS_VERSION_MINOR
static_assert(false, "KOKKOS_VERSION_MINOR macro is not defined!");
#endif

#ifndef KOKKOS_VERSION_PATCH
static_assert(false, "KOKKOS_VERSION_PATCH macro is not defined!");
#endif

static_assert(KOKKOS_VERSION == KOKKOS_VERSION_MAJOR * 10000 +
KOKKOS_VERSION_MINOR * 100 +
KOKKOS_VERSION_PATCH);

// clang-format off
static_assert(!KOKKOS_VERSION_LESS (KOKKOS_VERSION_MAJOR , KOKKOS_VERSION_MINOR, KOKKOS_VERSION_PATCH));
static_assert(!KOKKOS_VERSION_LESS (KOKKOS_VERSION_MAJOR - 1, KOKKOS_VERSION_MINOR, KOKKOS_VERSION_PATCH));
static_assert( KOKKOS_VERSION_LESS (KOKKOS_VERSION_MAJOR + 1, KOKKOS_VERSION_MINOR, KOKKOS_VERSION_PATCH));

static_assert( KOKKOS_VERSION_LESS_EQUAL (KOKKOS_VERSION_MAJOR , KOKKOS_VERSION_MINOR, KOKKOS_VERSION_PATCH));
static_assert(!KOKKOS_VERSION_LESS_EQUAL (KOKKOS_VERSION_MAJOR - 1, KOKKOS_VERSION_MINOR, KOKKOS_VERSION_PATCH));
static_assert( KOKKOS_VERSION_LESS_EQUAL (KOKKOS_VERSION_MAJOR + 1, KOKKOS_VERSION_MINOR, KOKKOS_VERSION_PATCH));

static_assert(!KOKKOS_VERSION_GREATER (KOKKOS_VERSION_MAJOR , KOKKOS_VERSION_MINOR, KOKKOS_VERSION_PATCH));
static_assert( KOKKOS_VERSION_GREATER (KOKKOS_VERSION_MAJOR - 1, KOKKOS_VERSION_MINOR, KOKKOS_VERSION_PATCH));
static_assert(!KOKKOS_VERSION_GREATER (KOKKOS_VERSION_MAJOR + 1, KOKKOS_VERSION_MINOR, KOKKOS_VERSION_PATCH));

static_assert( KOKKOS_VERSION_GREATER_EQUAL (KOKKOS_VERSION_MAJOR , KOKKOS_VERSION_MINOR, KOKKOS_VERSION_PATCH));
static_assert( KOKKOS_VERSION_GREATER_EQUAL (KOKKOS_VERSION_MAJOR - 1, KOKKOS_VERSION_MINOR, KOKKOS_VERSION_PATCH));
static_assert(!KOKKOS_VERSION_GREATER_EQUAL (KOKKOS_VERSION_MAJOR + 1, KOKKOS_VERSION_MINOR, KOKKOS_VERSION_PATCH));

static_assert( KOKKOS_VERSION_EQUAL (KOKKOS_VERSION_MAJOR , KOKKOS_VERSION_MINOR, KOKKOS_VERSION_PATCH));
static_assert(!KOKKOS_VERSION_EQUAL (KOKKOS_VERSION_MAJOR - 1, KOKKOS_VERSION_MINOR, KOKKOS_VERSION_PATCH));
static_assert(!KOKKOS_VERSION_EQUAL (KOKKOS_VERSION_MAJOR + 1, KOKKOS_VERSION_MINOR, KOKKOS_VERSION_PATCH));
// clang-format on

0 comments on commit d39885a

Please sign in to comment.