Skip to content

Commit 11dbb80

Browse files
committed
Misc CMake fixes.
- zstd external project requires CMake 3.7, so GIT_SHALLOW can be used unconditionally. - Use `option` to declare OFFLINE. - Expand `OFFLINE` in the ExternalProject calls instead of using an intermediate variable.
1 parent 6913fb7 commit 11dbb80

File tree

1 file changed

+18
-21
lines changed

1 file changed

+18
-21
lines changed

CMakeLists.txt

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,7 @@ set(VITA_MAKEPKG_TAG master CACHE STRING "vita-makepkg branch name, commit id or
5656
# Location to save the downloaded tarballs. Can be overriden from command line.
5757
set(DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/downloads CACHE PATH "Default download path for tarballs")
5858

59-
set(OFFLINE YES CACHE BOOL "Check repo updates")
60-
set(UPDATE_DISCONNECTED_SUPPORT UPDATE_DISCONNECTED ${OFFLINE})
61-
62-
if("${CMAKE_VERSION}" VERSION_GREATER 3.6.0)
63-
set(GIT_SHALLOW_SUPPORT GIT_SHALLOW 1)
64-
endif()
59+
option(OFFLINE "Check repo updates" ON)
6560

6661
# Installation directory. Can be overriden from command line.
6762
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
@@ -164,6 +159,7 @@ function(toolchain_deps toolchain_deps_dir toolchain_install_dir toolchain_suffi
164159
ExternalProject_Add(zstd${suffix}
165160
URL https://github.com/facebook/zstd/archive/refs/tags/v${ZSTD_VERSION}.tar.gz
166161
URL_HASH ${ZSTD_HASH}
162+
DOWNLOAD_DIR ${DOWNLOAD_DIR}
167163
SOURCE_SUBDIR "build/cmake"
168164
CMAKE_ARGS ${toolchain_cmake_args}
169165
"-DCMAKE_INSTALL_PREFIX=${toolchain_deps_dir}"
@@ -194,7 +190,8 @@ function(toolchain_deps toolchain_deps_dir toolchain_install_dir toolchain_suffi
194190
DEPENDS zlib${suffix}
195191
GIT_REPOSITORY https://github.com/vitasdk/libzip
196192
GIT_TAG ${LIBZIP_TAG}
197-
${GIT_SHALLOW_SUPPORT}
193+
GIT_SHALLOW 1
194+
UPDATE_DISCONNECTED ${OFFLINE}
198195
PATCH_COMMAND patch -d <SOURCE_DIR> -p3 -t -N < ${PROJECT_SOURCE_DIR}/patches/libzip.patch
199196
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${toolchain_deps_dir}
200197
${toolchain_cmake_args} ${libzip_configure}
@@ -310,15 +307,15 @@ function(toolchain_deps toolchain_deps_dir toolchain_install_dir toolchain_suffi
310307
DEPENDS libelf${suffix} zlib${suffix} libzip${suffix} libyaml${suffix}
311308
GIT_REPOSITORY https://github.com/vitasdk/vita-toolchain
312309
GIT_TAG ${TOOLCHAIN_TAG}
313-
${GIT_SHALLOW_SUPPORT}
310+
GIT_SHALLOW 1
314311
# Set prefix to "/" here to be able to install twice
315312
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=/ ${toolchain_cmake_args}
316313
-DTOOLCHAIN_DEPS_DIR=${toolchain_deps_dir}
317314
BUILD_COMMAND $(MAKE)
318315
INSTALL_COMMAND $(MAKE) install DESTDIR=${toolchain_install_dir}
319316
# Save the commit id for tracking purposes
320317
COMMAND ${GIT_EXECUTABLE} -C <SOURCE_DIR> rev-parse HEAD > ${CMAKE_BINARY_DIR}/vita-toolchain-version.txt
321-
${UPDATE_DISCONNECTED_SUPPORT}
318+
UPDATE_DISCONNECTED ${OFFLINE}
322319
)
323320

324321
ExternalProject_Add(binutils${suffix}
@@ -532,7 +529,7 @@ ExternalProject_add(vita-headers
532529
DEPENDS binutils_${build_suffix} vita-toolchain_${build_suffix}
533530
GIT_REPOSITORY https://github.com/vitasdk/vita-headers
534531
GIT_TAG ${HEADERS_TAG}
535-
${GIT_SHALLOW_SUPPORT}
532+
GIT_SHALLOW 1
536533
# CONFIGURE_COMMAND ""
537534
# BUILD_COMMAND VITA_LIBS_GEN=${vita_libs_gen_command}
538535
# ARCH=${binutils_prefix}
@@ -561,14 +558,14 @@ ExternalProject_add(vita-headers
561558
COMMAND ${CMAKE_COMMAND} -E copy_directory <SOURCE_DIR>/db ${CMAKE_INSTALL_PREFIX}/share/vita-headers/db
562559
# Save the commit id for tracking purposes
563560
COMMAND ${GIT_EXECUTABLE} -C <SOURCE_DIR> rev-parse HEAD > ${CMAKE_BINARY_DIR}/vita-headers-version.txt
564-
${UPDATE_DISCONNECTED_SUPPORT}
561+
UPDATE_DISCONNECTED ${OFFLINE}
565562
)
566563

567564
ExternalProject_Add(newlib
568565
DEPENDS binutils_${target_suffix} gcc-base vita-headers
569566
GIT_REPOSITORY https://github.com/vitasdk/newlib
570567
GIT_TAG ${NEWLIB_TAG}
571-
${GIT_SHALLOW_SUPPORT}
568+
GIT_SHALLOW 1
572569
# Pass the compiler_target_tools here so newlib picks up the fresh gcc-base compiler
573570
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env ${compiler_flag} ${toolchain_tools} ${compiler_target_tools}
574571
${wrapper_command} <SOURCE_DIR>/configure "CFLAGS_FOR_TARGET=-g -O2 -ffunction-sections -fdata-sections"
@@ -590,7 +587,7 @@ ExternalProject_Add(newlib
590587
COMMAND $(MAKE) install DESTDIR=${toolchain_build_install_dir}
591588
# Save the commit id for tracking purposes
592589
COMMAND ${GIT_EXECUTABLE} -C <SOURCE_DIR> rev-parse HEAD > ${CMAKE_BINARY_DIR}/newlib-version.txt
593-
${UPDATE_DISCONNECTED_SUPPORT}
590+
UPDATE_DISCONNECTED ${OFFLINE}
594591
)
595592

596593
# Build a complete gcc compiler to be able to compile the full gcc for the host when crosscompiling.
@@ -638,7 +635,7 @@ ExternalProject_Add(pthread-embedded
638635
DEPENDS binutils_${target_suffix} gcc-base newlib vita-headers
639636
GIT_REPOSITORY https://github.com/vitasdk/pthread-embedded
640637
GIT_TAG ${PTHREAD_TAG}
641-
${GIT_SHALLOW_SUPPORT}
638+
GIT_SHALLOW 1
642639
# TODO: this project should have a proper makefile to support out-of-source builds
643640
BUILD_IN_SOURCE 1
644641
CONFIGURE_COMMAND ""
@@ -649,7 +646,7 @@ ExternalProject_Add(pthread-embedded
649646
COMMAND $(MAKE) install -C <SOURCE_DIR>/platform/vita PREFIX=${toolchain_build_install_dir}/${target_arch} install
650647
# Save the commit id for tracking purposes
651648
COMMAND ${GIT_EXECUTABLE} -C <SOURCE_DIR> rev-parse HEAD > ${CMAKE_BINARY_DIR}/pthread-embedded-version.txt
652-
${UPDATE_DISCONNECTED_SUPPORT}
649+
UPDATE_DISCONNECTED ${OFFLINE}
653650
)
654651

655652
ExternalProject_add(gcc-final
@@ -694,7 +691,7 @@ ExternalProject_add(gcc-final
694691
ExternalProject_Add(samples
695692
GIT_REPOSITORY https://github.com/vitasdk/samples
696693
GIT_TAG ${SAMPLES_TAG}
697-
${GIT_SHALLOW_SUPPORT}
694+
GIT_SHALLOW 1
698695
BUILD_IN_SOURCE 1
699696
CONFIGURE_COMMAND ""
700697
BUILD_COMMAND ""
@@ -703,35 +700,35 @@ ExternalProject_Add(samples
703700
-P ${CMAKE_SOURCE_DIR}/cmake/install_files.cmake
704701
# Save the commit id for tracking purposes
705702
COMMAND ${GIT_EXECUTABLE} -C <SOURCE_DIR> rev-parse HEAD > ${CMAKE_BINARY_DIR}/samples-version.txt
706-
${UPDATE_DISCONNECTED_SUPPORT}
703+
UPDATE_DISCONNECTED ${OFFLINE}
707704
)
708705

709706
ExternalProject_Add(vdpm
710707
GIT_REPOSITORY https://github.com/vitasdk/vdpm.git
711708
GIT_TAG ${VDPM_TAG}
712-
${GIT_SHALLOW_SUPPORT}
709+
GIT_SHALLOW 1
713710
BUILD_IN_SOURCE 1
714711
CONFIGURE_COMMAND ""
715712
BUILD_COMMAND ""
716713
INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_INSTALL_PREFIX}/bin/
717714
COMMAND ${CMAKE_COMMAND} -E copy_directory <SOURCE_DIR>/include ${CMAKE_INSTALL_PREFIX}/bin/include
718715
COMMAND ${CMAKE_COMMAND} -E copy <SOURCE_DIR>/vdpm ${CMAKE_INSTALL_PREFIX}/bin/
719716
COMMAND ${CMAKE_COMMAND} -E copy <SOURCE_DIR>/vitasdk-update ${CMAKE_INSTALL_PREFIX}/bin/
720-
${UPDATE_DISCONNECTED_SUPPORT}
717+
UPDATE_DISCONNECTED ${OFFLINE}
721718
)
722719

723720
ExternalProject_Add(vita-makepkg
724721
GIT_REPOSITORY https://github.com/vitasdk/vita-makepkg.git
725722
GIT_TAG ${VITA_MAKEPKG_TAG}
726-
${GIT_SHALLOW_SUPPORT}
723+
GIT_SHALLOW 1
727724
BUILD_IN_SOURCE 1
728725
CONFIGURE_COMMAND ""
729726
BUILD_COMMAND ""
730727
INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_INSTALL_PREFIX}/bin/
731728
COMMAND ${CMAKE_COMMAND} -E copy_directory <SOURCE_DIR>/libmakepkg ${CMAKE_INSTALL_PREFIX}/bin/libmakepkg
732729
COMMAND ${CMAKE_COMMAND} -E copy <SOURCE_DIR>/vita-makepkg ${CMAKE_INSTALL_PREFIX}/bin/
733730
COMMAND ${CMAKE_COMMAND} -E copy <SOURCE_DIR>/makepkg.conf.sample ${CMAKE_INSTALL_PREFIX}/bin/makepkg.conf
734-
${UPDATE_DISCONNECTED_SUPPORT}
731+
UPDATE_DISCONNECTED ${OFFLINE}
735732
)
736733

737734
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")

0 commit comments

Comments
 (0)