1515
1616cmake_minimum_required (VERSION 2.6)
1717project (jem)
18+ set (VERSION_MAJOR 0)
19+ set (VERSION_MINOR 2)
20+ set (VERSION_PATCH 0)
21+ set (VERSION "${VERSION_MAJOR} .${VERSION_MINOR} .${VERSION_PATCH} " )
1822
19- file (STRINGS "${PROJECT_SOURCE_DIR} /include/version.h"
20- JEM_BUILD_SPEC REGEX "^[ \t ]*#define[ \t ]+JEM_VERSION_[A-Z]+[ \t ]+[0-9]+.*$" )
21-
22- if (JEM_BUILD_SPEC)
23- message (STATUS "${JEM_BUILD_SPEC} " )
24- foreach (item IN ITEMS MAJOR MINOR PATCH)
25- string (REGEX REPLACE ".*#define[ \t ]+JEM_VERSION_${item} [ \t ]+([0-9]+).*"
26- "\\ 1" XYZ ${JEM_BUILD_SPEC} )
27- set ("JEM_VERSION_${item} " ${XYZ} CACHE STRING "Jem version" )
28- endforeach ()
29- else ()
30- message (FATAL_ERROR "Version unavilable" )
31- endif ()
32-
33- set (VERSION "${JEM_VERSION_MAJOR} .${JEM_VERSION_MINOR} " )
23+ configure_file ("${PROJECT_SOURCE_DIR} /include/version.h.in"
24+ "${PROJECT_SOURCE_DIR} /include/version.h" )
3425
3526set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall -g" )
3627set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wall" )
@@ -48,8 +39,8 @@ add_library(jem SHARED src/output_formatter.c src/file_parser.c src/vm.c src/pac
4839add_executable (jem-cli src/main.c)
4940add_executable (jem-test EXCLUDE_FROM_ALL tests/test .c)
5041set_target_properties (jem PROPERTIES
51- SOVERSION ${JEM_VERSION_MAJOR }
52- VERSION ${JEM_VERSION_MAJOR } .${JEM_VERSION_MINOR } )
42+ SOVERSION ${VERSION_MAJOR }
43+ VERSION ${VERSION_MAJOR } .${VERSION_MINOR } )
5344set_target_properties (jem-cli PROPERTIES OUTPUT_NAME jem)
5445target_link_libraries (jem-cli jem)
5546target_link_libraries (jem-test jem)
0 commit comments