github.com/status-im/status-go@v1.1.0/CMakeLists.txt (about)

     1  cmake_minimum_required(VERSION 3.0)
     2  project(status-go)
     3  
     4  SET(LIB_FILE ${CMAKE_CURRENT_SOURCE_DIR}/build/bin/libstatus.a)
     5  SET(LIB_SHARED_FILE ${CMAKE_CURRENT_SOURCE_DIR}/build/bin/libstatus${CMAKE_SHARED_LIBRARY_SUFFIX})
     6  SET(LIB_HEADER_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/build/bin/)
     7  
     8  add_custom_command(OUTPUT  ${LIB_SHARED_FILE}
     9                     COMMAND make FORCE_ARCH=${STATUSGO_FORCE_ARCH} statusgo-shared-library
    10                     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
    11  
    12  add_custom_target(statusgo_shared_target DEPENDS ${LIB_SHARED_FILE} ${CMAKE_CURRENT_SOURCE_DIR})
    13  
    14  add_library(statusgo_shared SHARED IMPORTED GLOBAL)
    15  
    16  add_dependencies(statusgo_shared statusgo_shared_target)
    17  
    18  set_target_properties(statusgo_shared
    19      PROPERTIES
    20      IMPORTED_LOCATION ${LIB_SHARED_FILE}
    21      INTERFACE_INCLUDE_DIRECTORIES ${LIB_HEADER_FOLDER})
    22  
    23  
    24  add_custom_command(OUTPUT  ${LIB_FILE}
    25                     COMMAND make statusgo-library
    26                     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
    27  
    28  add_custom_target(statusgo_target DEPENDS ${LIB_FILE})
    29  
    30  add_library(statusgo STATIC IMPORTED GLOBAL)
    31  
    32  add_dependencies(statusgo statusgo_target)
    33  
    34  set_target_properties(statusgo
    35      PROPERTIES
    36      IMPORTED_LOCATION ${LIB_FILE}
    37      INTERFACE_INCLUDE_DIRECTORIES ${LIB_HEADER_FOLDER})