diff --git a/CMakeLists.txt b/CMakeLists.txt index b9d5b291d..69c11f54e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -131,31 +131,6 @@ if(${PORT_DIR} STREQUAL "${CMAKE_SOURCE_DIR}/targets/default" AND NOT JERRY_LIBC set(DEFINES_JERRY ${DEFINES_JERRY} _BSD_SOURCE) endif() -# Imported targets prefix -set(PREFIX_IMPORTED_LIB imported_) - -# Imported libraries -if(("${PLATFORM}" STREQUAL "DARWIN") AND (NOT CMAKE_COMPILER_IS_GNUCC)) - # libclang_rt.osx - set(IMPORTED_LIB "${PREFIX_IMPORTED_LIB}libclang_rt.osx") - add_library(${IMPORTED_LIB} STATIC IMPORTED) - execute_process(COMMAND ${CMAKE_C_COMPILER} ${FLAGS_COMMON_ARCH} -print-file-name= - OUTPUT_VARIABLE IMPORTED_LIBCLANG_RT_LOCATION - OUTPUT_STRIP_TRAILING_WHITESPACE) - set(IMPORTED_LIBCLANG_RT_LOCATION "${IMPORTED_LIBCLANG_RT_LOCATION}/lib/darwin/libclang_rt.osx.a") - set_property(TARGET ${IMPORTED_LIB} - PROPERTY IMPORTED_LOCATION ${IMPORTED_LIBCLANG_RT_LOCATION}) -else() - # libgcc - set(IMPORTED_LIB "${PREFIX_IMPORTED_LIB}libgcc") - add_library(${IMPORTED_LIB} STATIC IMPORTED) - execute_process(COMMAND ${CMAKE_C_COMPILER} ${FLAGS_COMMON_ARCH} -print-file-name=libgcc.a - OUTPUT_VARIABLE IMPORTED_LIBGCC_LOCATION - OUTPUT_STRIP_TRAILING_WHITESPACE) - set_property(TARGET ${IMPORTED_LIB} - PROPERTY IMPORTED_LOCATION ${IMPORTED_LIBGCC_LOCATION}) -endif() - # Compiler / Linker flags jerry_add_compile_flags(-fno-builtin) if(("${PLATFORM}" STREQUAL "DARWIN")) diff --git a/jerry-core/CMakeLists.txt b/jerry-core/CMakeLists.txt index 95dfa071f..08d7d3e88 100644 --- a/jerry-core/CMakeLists.txt +++ b/jerry-core/CMakeLists.txt @@ -203,17 +203,17 @@ target_include_directories(${JERRY_CORE_NAME} PUBLIC ${INCLUDE_CORE}) set(JERRY_LIBS ) -if(JERRY_LIBC) - set(JERRY_LIBS ${JERRY_LIBS} jerry-libc) - target_include_directories(${JERRY_CORE_NAME} SYSTEM PRIVATE "${CMAKE_SOURCE_DIR}/jerry-libc/include") -endif() - if(JERRY_LIBM) set(JERRY_LIBS ${JERRY_LIBS} jerry-libm) target_include_directories(${JERRY_CORE_NAME} SYSTEM PRIVATE "${CMAKE_SOURCE_DIR}/jerry-libm/include") endif() -target_link_libraries(${JERRY_CORE_NAME} ${JERRY_LIBS} ${IMPORTED_LIB} ${EXTERNAL_LINK_LIBS}) +if(JERRY_LIBC) + set(JERRY_LIBS ${JERRY_LIBS} jerry-libc) + target_include_directories(${JERRY_CORE_NAME} SYSTEM PRIVATE "${CMAKE_SOURCE_DIR}/jerry-libc/include") +endif() + +target_link_libraries(${JERRY_CORE_NAME} ${JERRY_LIBS} ${EXTERNAL_LINK_LIBS}) install(TARGETS ${JERRY_CORE_NAME} DESTINATION lib) install(FILES jerry-api.h jerry-port.h DESTINATION include) diff --git a/jerry-libc/CMakeLists.txt b/jerry-libc/CMakeLists.txt index 126022a6a..94e96e9b0 100644 --- a/jerry-libc/CMakeLists.txt +++ b/jerry-libc/CMakeLists.txt @@ -47,6 +47,7 @@ add_library(${JERRY_LIBC_NAME} STATIC ${SOURCE_LIBC} ${TARGET_SPECIFIC_LIBC_SOUR target_compile_definitions(${JERRY_LIBC_NAME} PRIVATE ${DEFINES_LIBC}) target_include_directories(${JERRY_LIBC_NAME} PRIVATE ${INCLUDE_LIBC}) target_include_directories(${JERRY_LIBC_NAME} SYSTEM PUBLIC "${CMAKE_SOURCE_DIR}/jerry-libc/include") +target_link_libraries(${JERRY_LIBC_NAME} -lgcc) install(TARGETS ${JERRY_LIBC_NAME} DESTINATION lib) install(DIRECTORY ${INCLUDE_LIBC}/include/ DESTINATION include/jerry-libc)