Included submodule update in cmake module
This commit is contained in:
parent
11bacffc15
commit
164f334ea1
6 changed files with 62 additions and 42 deletions
|
@ -1,16 +0,0 @@
|
|||
git submodule update --init --recursive &&
|
||||
|
||||
cd dependencies\dyncall &&
|
||||
mkdir build && cd build &&
|
||||
|
||||
cmake -DCMAKE_INSTALL_PREFIX=%LOCAL_INSTALL% %* .. &&
|
||||
make &&
|
||||
make install &&
|
||||
cd ..\..\.. &&
|
||||
|
||||
cd dependencies\libcsptr &&
|
||||
mkdir build && cd build &&
|
||||
|
||||
cmake -DCMAKE_INSTALL_PREFIX=%LOCAL_INSTALL% %* .. &&
|
||||
make &&
|
||||
make install
|
|
@ -1,21 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
git submodule update --init --recursive &&
|
||||
|
||||
(
|
||||
cd dependencies/dyncall &&
|
||||
mkdir build &&
|
||||
cd build &&
|
||||
cmake -DCMAKE_INSTALL_PREFIX=$LOCAL_INSTALL "$@" .. &&
|
||||
make &&
|
||||
make install
|
||||
) &&
|
||||
|
||||
(
|
||||
cd dependencies/libcsptr/ &&
|
||||
mkdir build &&
|
||||
cd build &&
|
||||
cmake -DCMAKE_INSTALL_PREFIX=$LOCAL_INSTALL "$@" .. &&
|
||||
make &&
|
||||
make install
|
||||
)
|
58
.cmake/Modules/Submodules.cmake
Normal file
58
.cmake/Modules/Submodules.cmake
Normal file
|
@ -0,0 +1,58 @@
|
|||
if(EXISTS "${PROJECT_SOURCE_DIR}/.gitmodules")
|
||||
message(STATUS "Updating submodules to their latest/fixed versions")
|
||||
message(STATUS "(this can take a while, please be patient)")
|
||||
|
||||
### set the direcory where the submodules live
|
||||
set(GIT_SUBMODULES_DIRECTORY dependencies)
|
||||
|
||||
### set the directory names of the submodules
|
||||
set(GIT_SUBMODULES libcsptr dyncall)
|
||||
|
||||
### set each submodules's commit or tag that is to be checked out
|
||||
### (leave empty if you want master)
|
||||
set(GIT_SUBMODULE_VERSION_libcsptr a0c2444)
|
||||
set(GIT_SUBMODULE_VERSION_dyncall 68c57f6)
|
||||
|
||||
### First, get all submodules in
|
||||
if(${GIT_SUBMODULES_CHECKOUT_QUIET})
|
||||
execute_process(
|
||||
COMMAND git submodule update --init --recursive
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
OUTPUT_QUIET
|
||||
ERROR_QUIET
|
||||
)
|
||||
else()
|
||||
execute_process(
|
||||
COMMAND git submodule update --init --recursive
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
)
|
||||
endif()
|
||||
|
||||
### Then, checkout each submodule to the specified commit
|
||||
# Note: Execute separate processes here, to make sure each one is run,
|
||||
# should one crash (because of branch not existing, this, that ... whatever)
|
||||
foreach(GIT_SUBMODULE ${GIT_SUBMODULES})
|
||||
|
||||
if( "${GIT_SUBMODULE_VERSION_${GIT_SUBMODULE}}" STREQUAL "" )
|
||||
message(STATUS "no specific version given for submodule ${GIT_SUBMODULE}, checking out master")
|
||||
set(GIT_SUBMODULE_VERSION_${GIT_SUBMODULE} "master")
|
||||
endif()
|
||||
|
||||
if(${GIT_SUBMODULES_CHECKOUT_QUIET})
|
||||
execute_process(
|
||||
COMMAND git checkout ${GIT_SUBMODULE_VERSION_${GIT_SUBMODULE}}
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/${GIT_SUBMODULES_DIRECTORY}/${GIT_SUBMODULE}
|
||||
OUTPUT_QUIET
|
||||
ERROR_QUIET
|
||||
)
|
||||
else()
|
||||
message(STATUS "checking out ${GIT_SUBMODULE}'s commit/tag ${GIT_SUBMODULE_VERSION_${GIT_SUBMODULE}}")
|
||||
execute_process(
|
||||
COMMAND git checkout -q ${GIT_SUBMODULE_VERSION_${GIT_SUBMODULE}}
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/${GIT_SUBMODULES_DIRECTORY}/${GIT_SUBMODULE}
|
||||
)
|
||||
endif()
|
||||
|
||||
endforeach(${GIT_SUBMODULE})
|
||||
|
||||
endif()
|
|
@ -7,7 +7,6 @@ compiler:
|
|||
sudo: false
|
||||
before_install:
|
||||
- export LOCAL_INSTALL="$HOME"
|
||||
- ".ci/install-dependencies.sh"
|
||||
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/lib
|
||||
- export CFLAGS="-g -O0"
|
||||
script:
|
||||
|
|
|
@ -2,8 +2,12 @@ cmake_minimum_required(VERSION 2.8)
|
|||
|
||||
project(Criterion C)
|
||||
|
||||
set(MODULE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/.cmake/Modules")
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${MODULE_DIR})
|
||||
set(LIBCSPTR_DISABLE_TESTS ON)
|
||||
|
||||
include(Submodules)
|
||||
|
||||
add_subdirectory(dependencies/libcsptr/ EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(dependencies/dyncall/ EXCLUDE_FROM_ALL)
|
||||
|
||||
|
@ -18,8 +22,6 @@ set(PROJECT_VERSION "1.3.1")
|
|||
set(LOCALEDIR ${CMAKE_INSTALL_PREFIX}/share/locale)
|
||||
set(GettextTranslate_ALL 1)
|
||||
set(GettextTranslate_GMO_BINARY 1)
|
||||
set(MODULE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/.cmake/Modules")
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${MODULE_DIR})
|
||||
|
||||
set_property(GLOBAL PROPERTY ALLOW_DUPLICATE_CUSTOM_TARGETS ON)
|
||||
|
||||
|
|
|
@ -27,8 +27,6 @@ configuration: Release
|
|||
install:
|
||||
# Hack to make git think it is on the tip of the repo branch
|
||||
- 'git checkout -B %APPVEYOR_REPO_BRANCH%'
|
||||
# Install dependencies
|
||||
- '.ci\install-dependencies.bat'
|
||||
# Configure project
|
||||
- 'mkdir build && cd build'
|
||||
- 'cmake -DCMAKE_INSTALL_PREFIX=criterion-%APPVEYOR_REPO_TAG_NAME% -DCMAKE_PREFIX_PATH="%LOCAL_INSTALL%" -DCOVERALLS=ON -DCMAKE_BUILD_TYPE=Debug -G "MSYS Makefiles" ..'
|
||||
|
|
Loading…
Add table
Reference in a new issue