40 lines
2.2 KiB
CMake
40 lines
2.2 KiB
CMake
if(NOT DEFINED ADMINIVE_BINARY_DIR)
|
|
message(FATAL_ERROR "ADMINIVE_BINARY_DIR is required")
|
|
endif()
|
|
if(NOT DEFINED ADMINIVE_CONFIG OR ADMINIVE_CONFIG STREQUAL "")
|
|
set(ADMINIVE_CONFIG Release)
|
|
endif()
|
|
get_filename_component(adminive_root "${CMAKE_CURRENT_LIST_DIR}/.." ABSOLUTE)
|
|
set(adminive_consumer_source "${adminive_root}/install_consumer")
|
|
set(adminive_test_root "${ADMINIVE_BINARY_DIR}/install_consumer_test")
|
|
set(adminive_prefix "${adminive_test_root}/prefix")
|
|
set(adminive_consumer_binary "${adminive_test_root}/build")
|
|
file(REMOVE_RECURSE "${adminive_test_root}")
|
|
execute_process(COMMAND "${CMAKE_COMMAND}" --install "${ADMINIVE_BINARY_DIR}" --prefix "${adminive_prefix}" --config "${ADMINIVE_CONFIG}" RESULT_VARIABLE install_result)
|
|
if(NOT install_result EQUAL 0)
|
|
message(FATAL_ERROR "Adminive install failed: ${install_result}")
|
|
endif()
|
|
execute_process(COMMAND "${CMAKE_COMMAND}" -S "${adminive_consumer_source}" -B "${adminive_consumer_binary}" "-DCMAKE_PREFIX_PATH=${adminive_prefix}" "-DCMAKE_BUILD_TYPE=${ADMINIVE_CONFIG}" RESULT_VARIABLE configure_result)
|
|
if(NOT configure_result EQUAL 0)
|
|
message(FATAL_ERROR "Install consumer configure failed: ${configure_result}")
|
|
endif()
|
|
execute_process(COMMAND "${CMAKE_COMMAND}" --build "${adminive_consumer_binary}" --config "${ADMINIVE_CONFIG}" RESULT_VARIABLE build_result)
|
|
if(NOT build_result EQUAL 0)
|
|
message(FATAL_ERROR "Install consumer build failed: ${build_result}")
|
|
endif()
|
|
if(WIN32)
|
|
set(adminive_consumer "${adminive_consumer_binary}/${ADMINIVE_CONFIG}/consumer.exe")
|
|
set(adminive_default_consumer "${adminive_consumer_binary}/${ADMINIVE_CONFIG}/default_consumer.exe")
|
|
else()
|
|
set(adminive_consumer "${adminive_consumer_binary}/consumer")
|
|
set(adminive_default_consumer "${adminive_consumer_binary}/default_consumer")
|
|
endif()
|
|
execute_process(COMMAND "${adminive_consumer}" RESULT_VARIABLE run_result)
|
|
if(NOT run_result EQUAL 0)
|
|
message(FATAL_ERROR "Core install consumer run failed: ${run_result}")
|
|
endif()
|
|
execute_process(COMMAND "${adminive_default_consumer}" RESULT_VARIABLE default_run_result)
|
|
if(NOT default_run_result EQUAL 0)
|
|
message(FATAL_ERROR "Default/Httplib install consumer run failed: ${default_run_result}")
|
|
endif()
|