peerplays_migrated/libraries/egenesis/CMakeLists.txt
2021-12-01 07:54:19 +00:00

59 lines
2.1 KiB
CMake

add_library( graphene_egenesis_none
egenesis_none.cpp
include/graphene/egenesis/egenesis.hpp
)
target_link_libraries( graphene_egenesis_none graphene_chain )
target_include_directories( graphene_egenesis_none
PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include" )
add_executable( embed_genesis
embed_genesis.cpp
)
target_link_libraries( embed_genesis PRIVATE graphene_app graphene_egenesis_none )
set( embed_genesis_args
-t "${CMAKE_CURRENT_SOURCE_DIR}/egenesis_brief.cpp.tmpl---${CMAKE_CURRENT_BINARY_DIR}/egenesis_brief.cpp"
-t "${CMAKE_CURRENT_SOURCE_DIR}/egenesis_full.cpp.tmpl---${CMAKE_CURRENT_BINARY_DIR}/egenesis_full.cpp"
)
MESSAGE( STATUS "egenesis: " ${GRAPHENE_EGENESIS_JSON} )
if( GRAPHENE_EGENESIS_JSON )
list( APPEND embed_genesis_args --genesis-json "${GRAPHENE_EGENESIS_JSON}" )
endif( GRAPHENE_EGENESIS_JSON )
MESSAGE( STATUS "embed_genesis_args: " ${embed_genesis_args} )
add_custom_command(
OUTPUT
"${CMAKE_CURRENT_BINARY_DIR}/egenesis_brief.cpp"
"${CMAKE_CURRENT_BINARY_DIR}/egenesis_full.cpp"
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMAND embed_genesis ${embed_genesis_args}
DEPENDS
"${GRAPHENE_EGENESIS_JSON}"
"${CMAKE_CURRENT_SOURCE_DIR}/egenesis_brief.cpp.tmpl"
"${CMAKE_CURRENT_SOURCE_DIR}/egenesis_full.cpp.tmpl"
embed_genesis )
add_library( graphene_egenesis_brief "${CMAKE_CURRENT_BINARY_DIR}/egenesis_brief.cpp" include/graphene/egenesis/egenesis.hpp )
add_library( graphene_egenesis_full "${CMAKE_CURRENT_BINARY_DIR}/egenesis_full.cpp" include/graphene/egenesis/egenesis.hpp )
target_link_libraries( graphene_egenesis_brief graphene_chain )
target_link_libraries( graphene_egenesis_full graphene_chain )
target_include_directories( graphene_egenesis_brief
PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include" )
target_include_directories( graphene_egenesis_full
PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include" )
INSTALL( TARGETS
embed_genesis graphene_egenesis_none graphene_egenesis_brief graphene_egenesis_full
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)