status-im/status-go

View on GitHub
CMakeLists.txt

Summary

Maintainability
Test Coverage
cmake_minimum_required(VERSION 3.0)
project(status-go)

SET(LIB_FILE ${CMAKE_CURRENT_SOURCE_DIR}/build/bin/libstatus.a)
SET(LIB_SHARED_FILE ${CMAKE_CURRENT_SOURCE_DIR}/build/bin/libstatus${CMAKE_SHARED_LIBRARY_SUFFIX})
SET(LIB_HEADER_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/build/bin/)

add_custom_command(OUTPUT  ${LIB_SHARED_FILE}
                   COMMAND make FORCE_ARCH=${STATUSGO_FORCE_ARCH} statusgo-shared-library
                   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_custom_target(statusgo_shared_target DEPENDS ${LIB_SHARED_FILE} ${CMAKE_CURRENT_SOURCE_DIR})

add_library(statusgo_shared SHARED IMPORTED GLOBAL)

add_dependencies(statusgo_shared statusgo_shared_target)

set_target_properties(statusgo_shared
    PROPERTIES
    IMPORTED_LOCATION ${LIB_SHARED_FILE}
    INTERFACE_INCLUDE_DIRECTORIES ${LIB_HEADER_FOLDER})


add_custom_command(OUTPUT  ${LIB_FILE}
                   COMMAND make statusgo-library
                   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_custom_target(statusgo_target DEPENDS ${LIB_FILE})

add_library(statusgo STATIC IMPORTED GLOBAL)

add_dependencies(statusgo statusgo_target)

set_target_properties(statusgo
    PROPERTIES
    IMPORTED_LOCATION ${LIB_FILE}
    INTERFACE_INCLUDE_DIRECTORIES ${LIB_HEADER_FOLDER})