Skip to content

Commit c88ef72

Browse files
author
arteniioleg
committed
cmake: faster external projects build
without tests and archive download instead of git clone
1 parent 921f993 commit c88ef72

File tree

2 files changed

+17
-10
lines changed

2 files changed

+17
-10
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
77
set(CMAKE_CXX_EXTENSIONS OFF)
88

99
set(EXTERNAL_PROJECT_VERSION_GLFW 3.2.1)
10-
set(EXTERNAL_PROJECT_VERSION_GLM 0.9.9-a2)
10+
set(EXTERNAL_PROJECT_VERSION_GLM 0.9.9.0)
1111
set(EXTERNAL_PROJECT_VERSION_GSL v1.0.0)
1212
include(ExternalProjects.cmake)
1313

ExternalProjects.cmake

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,35 @@ add_custom_target(external_all)
77
set_target_properties(external_all PROPERTIES EXCLUDE_FROM_ALL TRUE)
88

99
ExternalProject_Add(external_glfw
10-
GIT_REPOSITORY https://github.com/glfw/glfw.git
11-
GIT_TAG ${EXTERNAL_PROJECT_VERSION_GLFW}
10+
URL https://github.com/glfw/glfw/archive/${EXTERNAL_PROJECT_VERSION_GLFW}.tar.gz
1211
PREFIX ${EXTERNAL_PROJECTS_PREFIX}
13-
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTERNAL_PROJECTS_INSTALL_PREFIX}
12+
CMAKE_ARGS
13+
-DCMAKE_INSTALL_PREFIX=${EXTERNAL_PROJECTS_INSTALL_PREFIX}
14+
-DBUILD_SHARED_LIBS=OFF
15+
-DGLFW_BUILD_EXAMPLES=OFF
16+
-DGLFW_BUILD_TESTS=OFF
17+
-DGLFW_BUILD_DOCS=OFF
18+
-DGLFW_INSTALL=ON
1419
)
1520
set_target_properties(external_glfw PROPERTIES EXCLUDE_FROM_ALL TRUE)
1621
add_dependencies(external_all external_glfw)
1722

1823
ExternalProject_Add(external_glm
19-
GIT_REPOSITORY https://github.com/g-truc/glm.git
20-
GIT_TAG ${EXTERNAL_PROJECT_VERSION_GLM}
24+
URL https://github.com/g-truc/glm/archive/${EXTERNAL_PROJECT_VERSION_GLM}.tar.gz
2125
PREFIX ${EXTERNAL_PROJECTS_PREFIX}
22-
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTERNAL_PROJECTS_INSTALL_PREFIX}
26+
CMAKE_ARGS
27+
-DCMAKE_INSTALL_PREFIX=${EXTERNAL_PROJECTS_INSTALL_PREFIX}
28+
-DGLM_TEST_ENABLE=OFF
2329
)
2430
set_target_properties(external_glm PROPERTIES EXCLUDE_FROM_ALL TRUE)
2531
add_dependencies(external_all external_glm)
2632

2733
ExternalProject_Add(external_gsl
28-
GIT_REPOSITORY https://github.com/Microsoft/GSL.git
29-
GIT_TAG ${EXTERNAL_PROJECT_VERSION_GSL}
34+
URL https://github.com/Microsoft/GSL/archive/${EXTERNAL_PROJECT_VERSION_GSL}.tar.gz
3035
PREFIX ${EXTERNAL_PROJECTS_PREFIX}
31-
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTERNAL_PROJECTS_INSTALL_PREFIX} -DGSL_TEST=OFF # https://github.com/Microsoft/GSL/issues/525
36+
CMAKE_ARGS
37+
-DCMAKE_INSTALL_PREFIX=${EXTERNAL_PROJECTS_INSTALL_PREFIX}
38+
-DGSL_TEST=OFF
3239
)
3340
set_target_properties(external_gsl PROPERTIES EXCLUDE_FROM_ALL TRUE)
3441
add_dependencies(external_all external_gsl)

0 commit comments

Comments
 (0)