support for git download of CMake project (standalone PIP build)
This commit is contained in:
@@ -8,9 +8,46 @@ set(pip_SUFFIX )
|
|||||||
set(pip_COMPANY SHS)
|
set(pip_COMPANY SHS)
|
||||||
set(pip_DOMAIN org.SHS)
|
set(pip_DOMAIN org.SHS)
|
||||||
|
|
||||||
|
set(GIT_CMAKE_DIR)
|
||||||
|
if (NOT DEFINED SHSTKPROJECT)
|
||||||
|
set(ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||||
|
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/cmake-download/CMakeLists.txt"
|
||||||
|
"# This file was generated by PIP CMake, don`t edit it!
|
||||||
|
cmake_minimum_required(VERSION 2.8.2)
|
||||||
|
project(cmake-download NONE)
|
||||||
|
include(ExternalProject)
|
||||||
|
ExternalProject_Add(cmake
|
||||||
|
GIT_REPOSITORY https://git.shs.tools/SHS/cmake.git
|
||||||
|
GIT_TAG \"origin/master\"
|
||||||
|
GIT_CONFIG \"advice.detachedHead=false\"
|
||||||
|
SOURCE_DIR \"${CMAKE_CURRENT_BINARY_DIR}/cmake-src\"
|
||||||
|
BINARY_DIR \"${CMAKE_CURRENT_BINARY_DIR}/cmake-build\"
|
||||||
|
INSTALL_COMMAND \"\"
|
||||||
|
TEST_COMMAND \"\"
|
||||||
|
)
|
||||||
|
")
|
||||||
|
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
|
||||||
|
RESULT_VARIABLE result
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/cmake-download)
|
||||||
|
if(result)
|
||||||
|
message(FATAL_ERROR "CMake step for cmake failed: ${result}")
|
||||||
|
endif()
|
||||||
|
execute_process(COMMAND ${CMAKE_COMMAND} --build .
|
||||||
|
RESULT_VARIABLE result
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/cmake-download)
|
||||||
|
if(result)
|
||||||
|
message(FATAL_ERROR "Build step for cmake failed: ${result}")
|
||||||
|
endif()
|
||||||
|
install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} --build \"${CMAKE_CURRENT_BINARY_DIR}/cmake-build\" --target install)")
|
||||||
|
set(GIT_CMAKE_DIR "${CMAKE_CURRENT_BINARY_DIR}/cmake-src")
|
||||||
|
endif()
|
||||||
|
|
||||||
if ("x${CMAKE_MODULE_PATH}" STREQUAL "x")
|
if ("x${CMAKE_MODULE_PATH}" STREQUAL "x")
|
||||||
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||||
endif()
|
endif()
|
||||||
|
if (NOT "x${GIT_CMAKE_DIR}" STREQUAL "x")
|
||||||
|
list(APPEND CMAKE_MODULE_PATH "${GIT_CMAKE_DIR}")
|
||||||
|
endif()
|
||||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
include(CheckFunctionExists)
|
include(CheckFunctionExists)
|
||||||
include(PIPMacros)
|
include(PIPMacros)
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ endif()
|
|||||||
if (NOT DEFINED ANDROID_PLATFORM)
|
if (NOT DEFINED ANDROID_PLATFORM)
|
||||||
deploy_target(${PROJECT_NAME}
|
deploy_target(${PROJECT_NAME}
|
||||||
DEPLOY_DIR ${CMAKE_CURRENT_BINARY_DIR}
|
DEPLOY_DIR ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
DESTINATION ${ROOT_DIR}/release
|
DESTINATION "${ROOT_DIR}/release"
|
||||||
DEB_ADD_SERVICE
|
DEB_ADD_SERVICE
|
||||||
ADD_MANIFEST
|
ADD_MANIFEST
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user