Unverified Commit c3e7dad5 authored by Tomáš Pecka's avatar Tomáš Pecka
Browse files

Introduce BUILD_TYPE cmake option, fix #164

parent 54c4c5cf
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -250,7 +250,7 @@ doc:doc:
  before_script:
  before_script:
    - mkdir -p build && pushd build
    - mkdir -p build && pushd build
    - ../CMake/generate.py -wm
    - ../CMake/generate.py -wm
    - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .. -GNinja
    - cmake -DBUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .. -GNinja
    - popd
    - popd
  allow_failure: true # TODO: Remove
  allow_failure: true # TODO: Remove
  dependencies: []
  dependencies: []
+8 −0
Original line number Original line Diff line number Diff line
@@ -31,6 +31,14 @@ if(BACKTRACE_EXISTS)
	add_definitions(-DBACKTRACE)
	add_definitions(-DBACKTRACE)
endif()
endif()
if(BUILD_TYPE STREQUAL "Debug")
	add_definitions(-DREL_DEBUG)
elseif(BUILD_TYPE STREQUAL "Release")
	add_definitions(-DREL_RELEASE)
elseif(BUILD_TYPE STREQUAL "Snapshot")
	add_definitions(-DREL_SNAPSHOT)
endif()
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
    add_definitions(-DDEBUG)
    add_definitions(-DDEBUG)
+34 −26
Original line number Original line Diff line number Diff line
# Get the current working commit hash
function(set_git_version)
function(set_git_version)
	find_package(Git)
	find_package(Git)
  if (Git_FOUND)
	if (NOT Git_FOUND)
		message ( "[Git] Git not found" )
	endif()
	execute_process (
	execute_process (
      COMMAND ${GIT_EXECUTABLE} describe --tags HEAD
		COMMAND ${GIT_EXECUTABLE} describe --tags --match "v*" HEAD
		WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
		WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
		OUTPUT_VARIABLE ALIB_GIT_DESCRIBE
		OUTPUT_VARIABLE ALIB_GIT_DESCRIBE
		RESULT_VARIABLE RET_CODE
		RESULT_VARIABLE RET_CODE
@@ -36,7 +38,13 @@ function(set_git_version)
		SET ( ALIB_GIT_BRANCH "<unknown branch>" PARENT_SCOPE )
		SET ( ALIB_GIT_BRANCH "<unknown branch>" PARENT_SCOPE )
		return()
		return()
	endif()
	endif()
  else()
    message ( "[Git] Git not found" )
  endif()
endfunction(set_git_version)
endfunction(set_git_version)
function(set_git_snapshot_version)
	set(ALIB_SNAPSHOT_VERSION ${ALIB_GIT_DESCRIBE})
	string(REGEX REPLACE "^v" "" ALIB_SNAPSHOT_VERSION ${ALIB_SNAPSHOT_VERSION})
	string(REGEX REPLACE "\([^-]*-g\)" "r\\1" ALIB_SNAPSHOT_VERSION ${ALIB_SNAPSHOT_VERSION})
	string(REPLACE "-" "." ALIB_SNAPSHOT_VERSION ${ALIB_SNAPSHOT_VERSION})
	set(ALIB_SNAPSHOT_VERSION "${ALIB_SNAPSHOT_VERSION}" PARENT_SCOPE )
	message("[Git] Snapshot version: ${ALIB_SNAPSHOT_VERSION}")
endfunction(set_git_snapshot_version)
+16 −1
Original line number Original line Diff line number Diff line
@@ -4,9 +4,24 @@
message("[Versioning] Current version is ${PROJECT_VERSION}")
message("[Versioning] Current version is ${PROJECT_VERSION}")
include(git)
include(git)
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
if(BUILD_TYPE MATCHES "(Debug|Snapshot)")
	# sets ALIB_GIT_BRANCH
	# sets ALIB_GIT_DESCRIBE
	set_git_version()
	set_git_version()
endif()
endif()
if(BUILD_TYPE STREQUAL "Snapshot")
	# sets ALIB_SNAPSHOT_VERSION
	set_git_snapshot_version()
endif()
if(BUILD_TYPE STREQUAL "Debug")
	set(ALIB_VERSION_INFO "${PROJECT_VERSION} | Debug build @ ${ALIB_GIT_BRANCH} ${ALIB_GIT_DESCRIBE}" )
elseif(BUILD_TYPE STREQUAL "Release")
	set(ALIB_VERSION_INFO "${PROJECT_VERSION}")
elseif(BUILD_TYPE STREQUAL "Snapshot")
	set(ALIB_VERSION_INFO "${ALIB_SNAPSHOT_VERSION}")
endif()
configure_file (
configure_file (
	${CONFIGURE_HEADERS_SRC_DIR}/version.hpp.in
	${CONFIGURE_HEADERS_SRC_DIR}/version.hpp.in
+5 −12
Original line number Original line Diff line number Diff line
@@ -7,13 +7,6 @@
#define ALIB_VERSION_PATCH     "${PROJECT_VERSION_PATCH}"
#define ALIB_VERSION_PATCH     "${PROJECT_VERSION_PATCH}"
#define ALIB_VERSION_STAMP ${PROJECT_VERSION_MAJOR} * 10000 + ${PROJECT_VERSION_MINOR} * 100 + ${PROJECT_VERSION_PATCH}
#define ALIB_VERSION_STAMP ${PROJECT_VERSION_MAJOR} * 10000 + ${PROJECT_VERSION_MINOR} * 100 + ${PROJECT_VERSION_PATCH}
#cmakedefine ALIB_VERSION_INFO "${ALIB_VERSION_INFO}"
#ifdef DEBUG
  #cmakedefine ALIB_GIT_BRANCH   "${ALIB_GIT_BRANCH}"
  #cmakedefine ALIB_GIT_DESCRIBE "${ALIB_GIT_DESCRIBE}"
  #define ALIB_VERSION_INFO ALIB_VERSION " | Build: Debug | Git: " ALIB_GIT_BRANCH " @ " ALIB_GIT_DESCRIBE
#else // release
  #define ALIB_VERSION_INFO ALIB_VERSION
#endif
#endif // __VERSION_HPP_
#endif // __VERSION_HPP_
Loading