Skip to content

Commit

Permalink
build: Install to system's path
Browse files Browse the repository at this point in the history
Install directory is prefixed by destdir to install in staging directory.

This change is useful for debian packaging.

Runtime destination rely on RUNTIME_OUTPUT_DIRECTORY property

This was introduced first in jerryscript-project#1134 and then dropped in jerryscript-project#1848

This will be helpful for packaging,
or example on Tizen install using RPM macro: "%make_install"
of Debian's debhelper.

Work along CMAKE_INSTALL_PREFIX,
or/and can be overloaded individualy to alternate locations.

Email has been updated for community support.

Forwarded: jerryscript-project#1923
Bug: jerryscript-project#1945
Relate-to: jerryscript-project#1134
Change-Id: Ib969a1d5c2e7bc402b455377fc57a94654aa74dc
Origin: https://github.com/TizenTeam/iotjs/tree/sandbox/rzr/review/install/master
Bug-Debian: https://bugs.debian.org/957364
Update: 2020-10-16
IoT.js-DCO-1.0-Signed-off-by: Philippe Coval rzr@users.sf.net
  • Loading branch information
rzr committed Oct 16, 2020
1 parent b13fa73 commit d6bb818
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions cmake/iotjs.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -566,12 +566,17 @@ if("${BIN_INSTALL_DIR}" STREQUAL "")
set(BIN_INSTALL_DIR "bin")
endif()

if("${INCLUDE_INSTALL_DIR}" STREQUAL "")
set(INCLUDE_INSTALL_DIR "include/iotjs")
endif()

# Configure the iotjs executable
if(NOT BUILD_LIB_ONLY)
set(TARGET_IOTJS iotjs)
message(STATUS "CMAKE_BINARY_DIR ${CMAKE_BINARY_DIR}")
message(STATUS "BINARY_INSTALL_DIR ${INSTALL_PREFIX}/bin")
message(STATUS "LIBRARY_INSTALL_DIR ${INSTALL_PREFIX}/lib")
message(STATUS "BINARY_INSTALL_DIR ${INSTALL_PREFIX}/${BIN_INSTALL_DIR}")
message(STATUS "LIBRARY_INSTALL_DIR ${INSTALL_PREFIX}/${LIB_INSTALL_DIR}")
message(STATUS "INCLUDE_INSTALL_DIR ${INSTALL_PREFIX}/${INCLUDE_INSTALL_DIR}")

add_executable(${TARGET_IOTJS} ${ROOT_DIR}/src/platform/linux/iotjs_linux.c)
set_target_properties(${TARGET_IOTJS} PROPERTIES
Expand All @@ -581,10 +586,10 @@ if(NOT BUILD_LIB_ONLY)
target_include_directories(${TARGET_IOTJS} PRIVATE ${IOTJS_INCLUDE_DIRS})
target_link_libraries(${TARGET_IOTJS} ${TARGET_LIB_IOTJS})
install(TARGETS ${TARGET_IOTJS} ${TARGET_LIB_IOTJS}
RUNTIME DESTINATION "${INSTALL_PREFIX}/bin"
ARCHIVE DESTINATION "${INSTALL_PREFIX}/lib"
LIBRARY DESTINATION "${INSTALL_PREFIX}/lib"
PUBLIC_HEADER DESTINATION "${INSTALL_PREFIX}/include/iotjs")
RUNTIME DESTINATION "${BIN_INSTALL_DIR}"
ARCHIVE DESTINATION "${LIB_INSTALL_DIR}"
LIBRARY DESTINATION "${LIB_INSTALL_DIR}"
PUBLIC_HEADER DESTINATION "${INCLUDE_INSTALL_DIR}")
else()
install(TARGETS ${TARGET_LIB_IOTJS} DESTINATION ${LIB_INSTALL_DIR})
endif()

0 comments on commit d6bb818

Please sign in to comment.