Skip to content

Commit

Permalink
Refactoring the build system
Browse files Browse the repository at this point in the history
* Removed unused or unnecessary parts from various make files
* Eliminated lots of duplications from Makefile with the help of
  macros.
* Split tools/precommit.sh to its independent components:
  * the part that checks the existence of the "signed off" text in
    commit messages
    (this on got factored out to tools/check-signed-off.sh),
  * the part that uses vera++ for style checking (this one got
    factored out to tools/check-vera.sh),
  * the part that invokes targets in the cmake-generated build
    directory, and
  * the part that performs various tests (these latter two got
    moved into the Makefile).
* Moved the functionality of precommit-full-testing.sh into the
  Makefile, too.
* Added ninja build system support (e.g., `make NINJA=1`).
* Updated leading documentation comments (they were somewhat
  stale).
* Tried to keep the target names exactly the same as they were --
  almost succeeded... (some changes are intentional, and are
  subject to personal preferences).
* Simplified console output of `make precommit`
* Unified test runner scripts and their output format
  * Eliminated nothing-to-stdout everything-to-log-file policy:
    info is printed to stdout and it is the caller's
    responsibility to redirect it to a file if needed.
  * Also applied some renaming and coding style unification to
    the scripts.
* Merged the functionality of tools/runners/run-test-suite-jerry*.sh
  into the Makefile
* Merged everything related to a test suite execution in a single
  script.
  * The new script also allows to specify pass and xfail tests in
    a single list file, which was not possible hitherto.
  * Also, the paths of the test cases given in a file are
    interpreted relative to their container files.

JerryScript-DCO-1.0-Signed-off-by: Akos Kiss [email protected]
  • Loading branch information
akosthekiss committed Feb 15, 2016
1 parent 977bfa5 commit f959ba9
Show file tree
Hide file tree
Showing 17 changed files with 2,751 additions and 2,918 deletions.
13 changes: 1 addition & 12 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,6 @@ project (Jerry C ASM)
# Static checkers
include(build/static-checkers/add_cppcheck_for_target.cmake)

add_custom_target(static_check)
add_dependencies(static_check cppcheck)

# Architecture-specific compile/link flags
foreach(FLAG ${FLAGS_COMMON_ARCH})
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FLAG}")
Expand Down Expand Up @@ -161,12 +158,6 @@ project (Jerry C ASM)
set(BUILD_MODE_PREFIX_UNITTESTS unittests)

# Modifiers
set(MODIFIERS
COMPACT_PROFILE
COMPACT_PROFILE_MINIMAL
FULL_PROFILE
MEMORY_STATISTICS)

# Profiles
# Full profile (default, so - no suffix)
set(MODIFIER_SUFFIX_FULL_PROFILE "")
Expand Down Expand Up @@ -386,7 +377,7 @@ endif()
set(LIBC_TARGET_NAME ${BUILD_MODE_PREFIX_${BUILD_MODE}}.jerry-libc.${PLATFORM_L}.lib)
endif()

function(declare_target_with_modifiers ) # modifiers are passed in ARGN implicit argument
function(declare_target_with_modifiers) # modifiers are passed in ARGN implicit argument
set(CORE_TARGET_NAME ${BUILD_MODE_PREFIX_${BUILD_MODE}})
foreach(MODIFIER ${ARGN})
set(TARGET_NAME ${TARGET_NAME}${MODIFIER_SUFFIX_${MODIFIER}})
Expand Down Expand Up @@ -452,7 +443,6 @@ endif()
else()
add_custom_target(${TARGET_NAME} ALL)

add_dependencies(${TARGET_NAME} ${FDLIBM_TARGET_NAME} ${CORE_TARGET_NAME})
add_custom_command(TARGET ${TARGET_NAME}
POST_BUILD
COMMAND mkdir -p ${CMAKE_BINARY_DIR}/${TARGET_NAME}
Expand All @@ -472,7 +462,6 @@ endif()
endif()

if(${USE_JERRY_LIBC})
add_dependencies(${TARGET_NAME} ${LIBC_TARGET_NAME})
add_custom_command(TARGET ${TARGET_NAME}
POST_BUILD
COMMAND echo $<TARGET_FILE:${LIBC_TARGET_NAME}> >> ${CMAKE_BINARY_DIR}/${TARGET_NAME}/list)
Expand Down
Loading

0 comments on commit f959ba9

Please sign in to comment.