CMake adjusted to allow proper releasing.

Mac side is ready.
This commit is contained in:
Jason Felds
2015-03-31 21:17:20 -04:00
parent 2291cd7f4d
commit b3addbedbc
4 changed files with 40 additions and 23 deletions
-4
View File
@@ -79,9 +79,6 @@ set(SM_VERSION_MINOR 0)
set(SM_VERSION_PATCH 7) set(SM_VERSION_PATCH 7)
set(SM_VERSION_TRADITIONAL "${SM_VERSION_MAJOR}.${SM_VERSION_MINOR}.${SM_VERSION_PATCH}") set(SM_VERSION_TRADITIONAL "${SM_VERSION_MAJOR}.${SM_VERSION_MINOR}.${SM_VERSION_PATCH}")
if(WITH_FULL_RELEASE EQUAL ON)
set(SM_VERSION_FULL "${SM_VERSION_MAJOR}.${SM_VERSION_MINOR}.${SM_VERSION_PATCH}")
else()
# Using the deprecated version for now to keep cmake 2.8 users happy. # Using the deprecated version for now to keep cmake 2.8 users happy.
exec_program(git "${SM_ROOT_DIR}" exec_program(git "${SM_ROOT_DIR}"
ARGS "rev-parse" "--short" "HEAD" ARGS "rev-parse" "--short" "HEAD"
@@ -95,7 +92,6 @@ else()
else() else()
set(SM_VERSION_FULL "${SM_VERSION_MAJOR}.${SM_VERSION_MINOR}-git-${SM_VERSION_GIT_HASH}") set(SM_VERSION_FULL "${SM_VERSION_MAJOR}.${SM_VERSION_MINOR}-git-${SM_VERSION_GIT_HASH}")
endif() endif()
endif()
# Allow for finding our libraries in a standard location. # Allow for finding our libraries in a standard location.
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/CMake/Modules/") list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/CMake/Modules/")
+12
View File
@@ -29,6 +29,17 @@ File.open("#{Dir.pwd}/ProductInfo.h", "r") do |f|
end end
end end
end end
# Determine if the Cmake generated verstub.cpp is available.
File.open("#{Dir.pwd}/verstub.cpp", "r") do |verFile|
verFile.each do |verLine|
if verLine.match( /^extern char const \* const product_version \= "(.*?)"/ )
version = $1
end
end
end
if (version.length == 0)
# open ver.h in read-only mode # open ver.h in read-only mode
File.open("#{Dir.pwd}/ver.h", "r") do |f| File.open("#{Dir.pwd}/ver.h", "r") do |f|
# read each line, matching for product version # read each line, matching for product version
@@ -38,6 +49,7 @@ File.open("#{Dir.pwd}/ver.h", "r") do |f|
end end
end end
end end
end
# replace whitespace with hyphens in the version string # replace whitespace with hyphens in the version string
version.gsub!(/\s+/,"-") version.gsub!(/\s+/,"-")
+5
View File
@@ -9,6 +9,11 @@ include_directories(${PROJECT_BINARY_DIR})
add_executable("VersionUpdater" Main.cpp "${PROJECT_BINARY_DIR}/version.hpp") add_executable("VersionUpdater" Main.cpp "${PROJECT_BINARY_DIR}/version.hpp")
if (WITH_FULL_RELEASE)
sm_add_compile_definition("VersionUpdater" IS_FULL_RELEASE)
message(STATUS "Full release mode engaged.")
endif()
set_property(TARGET "VersionUpdater" PROPERTY FOLDER "Internal Libraries") set_property(TARGET "VersionUpdater" PROPERTY FOLDER "Internal Libraries")
if(MSVC) if(MSVC)
+4
View File
@@ -5,7 +5,11 @@ int smVersionMajor = @SM_VERSION_MAJOR@;
int smVersionMinor = @SM_VERSION_MINOR@; int smVersionMinor = @SM_VERSION_MINOR@;
int smVersionPatch = @SM_VERSION_PATCH@; int smVersionPatch = @SM_VERSION_PATCH@;
char const * const smVersionGitHash = "@SM_VERSION_GIT_HASH@"; char const * const smVersionGitHash = "@SM_VERSION_GIT_HASH@";
#if defined(IS_FULL_RELEASE)
char const * const smVersionFull = "@SM_VERSION_TRADITIONAL@";
#else
char const * const smVersionFull = "@SM_VERSION_FULL@"; char const * const smVersionFull = "@SM_VERSION_FULL@";
#endif
char const * const smVersionTraditional = "@SM_VERSION_TRADITIONAL@"; char const * const smVersionTraditional = "@SM_VERSION_TRADITIONAL@";
#endif #endif