separate deps dir where to download external projects
This commit is contained in:
parent
9ed86d9dee
commit
841532bdc6
@ -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
|
||||
|
||||
@ -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 ""
|
||||
|
||||
@ -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
2
deps/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
*
|
||||
!.gitignore
|
||||
Loading…
Reference in New Issue
Block a user