714e8d261b
Previously, jerry-core was built with various build identification info (build date, git commit hash, git branch name), which was both available from string constants of the library and also exposed by jerry-main via the `--version` command line option. As of late, jerry-core identifies itself only with API version number macros, but sometimes it could be helpful to get access to the git commit hash as well, even if that info does not become part of the API. This patch moves the git commit hash retrieval logic from the build scripts of jerry-core to jerry-main, and changes `--version` handler to print the hash as well. Resolves #1295 JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
72 lines
2.2 KiB
CMake
72 lines
2.2 KiB
CMake
# Copyright 2016 Samsung Electronics Co., Ltd.
|
|
# Copyright 2016 University of Szeged.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
cmake_minimum_required (VERSION 2.8.12)
|
|
set(JERRY_NAME jerry)
|
|
project (${JERRY_NAME} C)
|
|
|
|
# Sources
|
|
# Jerry standalone
|
|
set(SOURCE_JERRY_STANDALONE_MAIN main-unix.c)
|
|
|
|
# Generate map file
|
|
if("${PLATFORM}" STREQUAL "DARWIN")
|
|
set(MAP_FILE_FLAGS "-Xlinker -map")
|
|
else()
|
|
set(MAP_FILE_FLAGS "-Xlinker -Map")
|
|
endif()
|
|
|
|
set(MAP_FILE_FLAGS "${MAP_FILE_FLAGS} -Xlinker jerry.map")
|
|
set(LINKER_FLAGS_COMMON "${LINKER_FLAGS_COMMON} ${MAP_FILE_FLAGS}")
|
|
|
|
# Disable static build
|
|
if(NOT ("${PLATFORM}" STREQUAL "DARWIN"))
|
|
set(LINKER_FLAGS_STATIC "-static")
|
|
endif()
|
|
|
|
# Get version information from git
|
|
if(IS_DIRECTORY "${CMAKE_SOURCE_DIR}/.git")
|
|
execute_process(COMMAND git rev-parse --short HEAD
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
OUTPUT_VARIABLE JERRY_COMMIT_HASH
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
set(JERRY_COMMIT_HASH " (${JERRY_COMMIT_HASH})")
|
|
else()
|
|
set(JERRY_COMMIT_HASH "")
|
|
endif()
|
|
|
|
set(DEFINES_JERRY ${DEFINES_JERRY} JERRY_COMMIT_HASH="${JERRY_COMMIT_HASH}")
|
|
|
|
add_executable(${JERRY_NAME} ${SOURCE_JERRY_STANDALONE_MAIN})
|
|
set_property(TARGET ${JERRY_NAME}
|
|
PROPERTY LINK_FLAGS "${LINKER_FLAGS_STATIC} ${LINKER_FLAGS_COMMON}")
|
|
target_compile_definitions(${JERRY_NAME} PRIVATE ${DEFINES_JERRY})
|
|
target_include_directories(${JERRY_NAME} PRIVATE ${PORT_DIR})
|
|
link_directories(${CMAKE_BINARY_DIR})
|
|
|
|
set(JERRY_LIBS jerry-core)
|
|
|
|
if(JERRY_LIBM)
|
|
set(JERRY_LIBS ${JERRY_LIBS} jerry-libm)
|
|
endif()
|
|
|
|
if(JERRY_LIBC)
|
|
set(JERRY_LIBS ${JERRY_LIBS} jerry-libc)
|
|
endif()
|
|
|
|
set(JERRY_LIBS ${JERRY_LIBS} ${IMPORTED_LIB})
|
|
|
|
target_link_libraries(${JERRY_NAME} ${JERRY_LIBS})
|