diff --git a/GitVersionGen/GetGitRevisionDescription.cmake b/GitVersionGen/GetGitRevisionDescription.cmake index 00f8727..2b4a479 100644 --- a/GitVersionGen/GetGitRevisionDescription.cmake +++ b/GitVersionGen/GetGitRevisionDescription.cmake @@ -58,7 +58,7 @@ function(get_git_head_revision _refspecvar _hashvar) file(READ ${GIT_DIR} submodule) string(REGEX REPLACE "gitdir: (.*)\n$" "\\1" GIT_DIR_RELATIVE ${submodule}) get_filename_component(SUBMODULE_DIR ${GIT_DIR} PATH) - get_filename_component(GIT_DIR ${SUBMODULE_DIR}/${GIT_DIR_RELATIVE} ABSOLUTE) + get_filename_component(GIT_DIR ${GIT_DIR_RELATIVE} ABSOLUTE BASE_DIR ${SUBMODULE_DIR}) endif() set(GIT_DATA "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/git-data") if(NOT EXISTS "${GIT_DATA}") diff --git a/include/fc/io/raw.hpp b/include/fc/io/raw.hpp index 288c3c9..4e81b30 100644 --- a/include/fc/io/raw.hpp +++ b/include/fc/io/raw.hpp @@ -331,13 +331,13 @@ namespace fc { struct if_enum { template static inline void pack( Stream& s, const T& v ) { - fc::raw::pack(s, (int64_t)v); + fc::raw::pack(s, signed_int((int32_t)v)); } template static inline void unpack( Stream& s, T& v ) { - int64_t temp; + signed_int temp; fc::raw::unpack(s, temp); - v = (T)temp; + v = (T)temp.value; } };