Skip to content

Commit

Permalink
Merge pull request #101 from simeks/python-version
Browse files Browse the repository at this point in the history
Automatically fetch version name from git
  • Loading branch information
simeks committed Oct 3, 2019
2 parents c644af9 + c84980b commit 689c334
Show file tree
Hide file tree
Showing 5 changed files with 42 additions and 13 deletions.
20 changes: 11 additions & 9 deletions cmake/ProjectVersion.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,6 @@ if(ACTION STREQUAL FETCH)
OUTPUT_STRIP_TRAILING_WHITESPACE
)

execute_process(COMMAND
"${GIT_EXECUTABLE}" log -1 --format=%ad --date=local
WORKING_DIRECTORY "${WORKING_DIR}"
OUTPUT_VARIABLE GIT_DATE
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE
)

execute_process(COMMAND
"${GIT_EXECUTABLE}" rev-parse --abbrev-ref HEAD
WORKING_DIRECTORY "${WORKING_DIR}"
Expand All @@ -48,12 +40,22 @@ if(ACTION STREQUAL FETCH)
set(GIT_DIRTY "false")
endif()

execute_process(COMMAND
"${GIT_EXECUTABLE}" describe --tags
WORKING_DIRECTORY "${WORKING_DIR}"
OUTPUT_VARIABLE GIT_TAG_STR
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE
)

string(REGEX REPLACE "^v(.*)-.*-.*" "\\1" GIT_VERSION_TAG "${GIT_TAG_STR}")

else()
set(GIT_SHA1 "Not found")
set(GIT_SHA1_SHORT "Not found")
set(GIT_DATE "")
set(GIT_BRANCH "")
set(GIT_DIRTY "")
set(GIT_VERSION_TAG "")
endif()

configure_file("${DF_VERSION_FILE_IN}" "${DF_VERSION_FILE_OUT}")
Expand Down
1 change: 1 addition & 0 deletions pydeform/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from _pydeform import *
from _pydeform import __version__

# For ease of use
from stk import (
Expand Down
17 changes: 15 additions & 2 deletions src/deform_lib/version.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

#include <sstream>

std::string deform::version_string(void)
std::string deform::version_string()
{
std::stringstream ss;
ss << GIT_SHA1_SHORT << "@" << GIT_BRANCH << (GIT_DIRTY ? "+" : "") << " (" << GIT_DATE << ")";
ss << "v" << GIT_VERSION_TAG << "-" << GIT_SHA1_SHORT << (GIT_DIRTY ? "+" : "");

#ifdef _DEBUG
ss << " [DEBUG]";
Expand All @@ -14,3 +14,16 @@ std::string deform::version_string(void)
return ss.str();
}

std::string deform::short_version_string()
{
std::stringstream ss;
ss << "v" << GIT_VERSION_TAG;

#ifdef _DEBUG
ss << " [DEBUG]";
#endif

return ss.str();
}


5 changes: 3 additions & 2 deletions src/deform_lib/version.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@

#define GIT_SHA1 "@GIT_SHA1@"
#define GIT_SHA1_SHORT "@GIT_SHA1_SHORT@"
#define GIT_DATE "@GIT_DATE@"
#define GIT_BRANCH "@GIT_BRANCH@"
#define GIT_DIRTY @GIT_DIRTY@
#define GIT_VERSION_TAG "@GIT_VERSION_TAG@"

#include <string>

namespace deform {
std::string version_string(void);
std::string version_string();
std::string short_version_string();
}

12 changes: 12 additions & 0 deletions src/python_wrapper/_pydeform.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -477,6 +477,18 @@ stk::Volume jacobian_wrapper(const stk::Volume& df)

PYBIND11_MODULE(_pydeform, m)
{
m.attr("__version__") = GIT_VERSION_TAG;
m.def("version", [](){
return deform::version_string();
});
m.def("has_gpu", [](){
#ifdef DF_USE_CUDA
return true;
#else
return false;
#endif
});

m.import("_stk");

py::enum_<transform::Interp>(m, "Interpolator", "Interpolator functions")
Expand Down

0 comments on commit 689c334

Please sign in to comment.