separate deps dir where to download external projects

This commit is contained in:
Michele Caini 2017-06-08 13:41:32 +02:00
parent 9ed86d9dee
commit 841532bdc6
4 changed files with 31 additions and 16 deletions

View File

@ -66,6 +66,7 @@ add_definitions(
set(PROJECT_CMAKE_MODULES cmake/modules)
set(PROJECT_CMAKE_IN cmake/in)
set(PROJECT_BUILD_DIR build)
set(PROJECT_DEPS_DIR deps)
set(PROJECT_DOCS_DIR docs)
set(PROJECT_SRC_DIR src)
set(PROJECT_TEST_DIR test)
@ -100,19 +101,22 @@ find_package(LibRt)
# Download and unpack dependencies
#
# gtest, gtest_main, gmock and gmock_main targets are available from now on
configure_file(${PROJECT_CMAKE_IN}/googletest.in googletest/CMakeLists.txt)
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . WORKING_DIRECTORY googletest)
execute_process(COMMAND ${CMAKE_COMMAND} --build . WORKING_DIRECTORY googletest)
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
add_subdirectory(${CMAKE_BINARY_DIR}/googletest/src ${CMAKE_BINARY_DIR}/googletest/build)
set(GOOGLETEST_DEPS_DIR ${CMAKE_SOURCE_DIR}/${PROJECT_DEPS_DIR}/googletest)
set(LIBUV_DEPS_DIR ${CMAKE_SOURCE_DIR}/${PROJECT_DEPS_DIR}/libuv)
configure_file(${PROJECT_CMAKE_IN}/libuv.in libuv/CMakeLists.txt)
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . WORKING_DIRECTORY libuv)
execute_process(COMMAND ${CMAKE_COMMAND} --build . WORKING_DIRECTORY libuv)
include_directories(${CMAKE_BINARY_DIR}/libuv/src/include)
find_library(libuv_static NAMES libuv.a libuv PATHS ${CMAKE_BINARY_DIR}/libuv/src PATH_SUFFIXES .libs Release NO_DEFAULT_PATH)
find_library(libuv_shared NAMES uv libuv PATHS ${CMAKE_BINARY_DIR}/libuv/src PATH_SUFFIXES .libs Release NO_DEFAULT_PATH)
# gtest, gtest_main, gmock and gmock_main targets are available from now on
configure_file(${PROJECT_CMAKE_IN}/googletest.in ${GOOGLETEST_DEPS_DIR}/CMakeLists.txt)
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . WORKING_DIRECTORY ${GOOGLETEST_DEPS_DIR})
execute_process(COMMAND ${CMAKE_COMMAND} --build . WORKING_DIRECTORY ${GOOGLETEST_DEPS_DIR})
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
add_subdirectory(${GOOGLETEST_DEPS_DIR}/src ${GOOGLETEST_DEPS_DIR}/build)
configure_file(${PROJECT_CMAKE_IN}/libuv.in ${LIBUV_DEPS_DIR}/CMakeLists.txt)
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . WORKING_DIRECTORY ${LIBUV_DEPS_DIR})
execute_process(COMMAND ${CMAKE_COMMAND} --build . WORKING_DIRECTORY ${LIBUV_DEPS_DIR})
include_directories(${LIBUV_DEPS_DIR}/src/include)
find_library(libuv_static NAMES libuv.a libuv PATHS ${LIBUV_DEPS_DIR}/src PATH_SUFFIXES .libs Release NO_DEFAULT_PATH)
find_library(libuv_shared NAMES uv libuv PATHS ${LIBUV_DEPS_DIR}/src PATH_SUFFIXES .libs Release NO_DEFAULT_PATH)
#
# Referenced directories and targets

View File

@ -7,8 +7,11 @@ ExternalProject_Add(
googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG master
SOURCE_DIR src
BINARY_DIR build
DOWNLOAD_DIR ${GOOGLETEST_DEPS_DIR}
TMP_DIR ${GOOGLETEST_DEPS_DIR}/tmp
STAMP_DIR ${GOOGLETEST_DEPS_DIR}/stamp
SOURCE_DIR ${GOOGLETEST_DEPS_DIR}/src
BINARY_DIR ${GOOGLETEST_DEPS_DIR}/build
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""

View File

@ -8,7 +8,10 @@ if(WIN32)
libuv
GIT_REPOSITORY https://github.com/libuv/libuv.git
GIT_TAG v1.x
SOURCE_DIR src
DOWNLOAD_DIR ${LIBUV_DEPS_DIR}
TMP_DIR ${LIBUV_DEPS_DIR}/tmp
STAMP_DIR ${LIBUV_DEPS_DIR}/stamp
SOURCE_DIR ${LIBUV_DEPS_DIR}/src
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND <SOURCE_DIR>/vcbuild.bat release x86 shared
BUILD_COMMAND ""
@ -20,7 +23,10 @@ else(WIN32)
libuv
GIT_REPOSITORY https://github.com/libuv/libuv.git
GIT_TAG v1.x
SOURCE_DIR src
DOWNLOAD_DIR ${LIBUV_DEPS_DIR}
TMP_DIR ${LIBUV_DEPS_DIR}/tmp
STAMP_DIR ${LIBUV_DEPS_DIR}/stamp
SOURCE_DIR ${LIBUV_DEPS_DIR}/src
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND sh <SOURCE_DIR>/autogen.sh && ./configure
BUILD_COMMAND make -j4

2
deps/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*
!.gitignore