@@ -7,6 +7,10 @@ cmake_minimum_required(VERSION 3.7.0)
77
88project (vitasdk)
99
10+ if (POLICY CMP0135)
11+ cmake_policy (SET CMP0135 NEW )
12+ endif ()
13+
1014# Use the following gcc version
1115set (GCC_VERSION 13.2.0)
1216set (GCC_HASH SHA256=e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da)
@@ -56,12 +60,7 @@ set(VITA_MAKEPKG_TAG master CACHE STRING "vita-makepkg branch name, commit id or
5660# Location to save the downloaded tarballs. Can be overriden from command line.
5761set (DOWNLOAD_DIR ${CMAKE_BINARY_DIR} /downloads CACHE PATH "Default download path for tarballs" )
5862
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 ()
63+ option (OFFLINE "Check repo updates" ON )
6564
6665# Installation directory. Can be overriden from command line.
6766if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
@@ -164,6 +163,7 @@ function(toolchain_deps toolchain_deps_dir toolchain_install_dir toolchain_suffi
164163 ExternalProject_Add (zstd${suffix}
165164 URL https://github.com/facebook/zstd/archive/refs/tags/v${ZSTD_VERSION} .tar.gz
166165 URL_HASH ${ZSTD_HASH}
166+ DOWNLOAD_DIR ${DOWNLOAD_DIR}
167167 SOURCE_SUBDIR "build/cmake"
168168 CMAKE_ARGS ${toolchain_cmake_args}
169169 "-DCMAKE_INSTALL_PREFIX=${toolchain_deps_dir} "
@@ -194,7 +194,8 @@ function(toolchain_deps toolchain_deps_dir toolchain_install_dir toolchain_suffi
194194 DEPENDS zlib${suffix}
195195 GIT_REPOSITORY https://github.com/vitasdk/libzip
196196 GIT_TAG ${LIBZIP_TAG}
197- ${GIT_SHALLOW_SUPPORT}
197+ GIT_SHALLOW 1
198+ UPDATE_DISCONNECTED ${OFFLINE}
198199 PATCH_COMMAND patch -d <SOURCE_DIR > -p3 -t -N < ${PROJECT_SOURCE_DIR} /patches/libzip.patch
199200 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${toolchain_deps_dir}
200201 ${toolchain_cmake_args} ${libzip_configure}
@@ -282,6 +283,8 @@ function(toolchain_deps toolchain_deps_dir toolchain_install_dir toolchain_suffi
282283 DEPENDS gmp${suffix}
283284 GIT_REPOSITORY https://github.com/Meinersbur/isl
284285 GIT_TAG isl-${ISL_VERSION}
286+ GIT_SHALLOW 1
287+ UPDATE_DISCONNECTED ${OFFLINE}
285288 DOWNLOAD_DIR ${DOWNLOAD_DIR}
286289 CONFIGURE_COMMAND cd <SOURCE_DIR > && ./autogen.sh
287290 COMMAND ${CMAKE_COMMAND} -E env ${compiler_flags} ${wrapper_command} <SOURCE_DIR >/configure
@@ -309,15 +312,15 @@ function(toolchain_deps toolchain_deps_dir toolchain_install_dir toolchain_suffi
309312 DEPENDS libelf${suffix} zlib${suffix} libzip${suffix} libyaml${suffix}
310313 GIT_REPOSITORY https://github.com/vitasdk/vita-toolchain
311314 GIT_TAG ${TOOLCHAIN_TAG}
312- ${GIT_SHALLOW_SUPPORT}
315+ GIT_SHALLOW 1
313316 # Set prefix to "/" here to be able to install twice
314317 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=/ ${toolchain_cmake_args}
315318 -DTOOLCHAIN_DEPS_DIR=${toolchain_deps_dir}
316319 BUILD_COMMAND $(MAKE)
317320 INSTALL_COMMAND $(MAKE) install DESTDIR=${toolchain_install_dir}
318321 # Save the commit id for tracking purposes
319322 COMMAND ${GIT_EXECUTABLE} -C <SOURCE_DIR > rev-parse HEAD > ${CMAKE_BINARY_DIR} /vita-toolchain-version.txt
320- ${UPDATE_DISCONNECTED_SUPPORT }
323+ UPDATE_DISCONNECTED ${OFFLINE }
321324 )
322325
323326 ExternalProject_Add (binutils${suffix}
@@ -531,7 +534,7 @@ ExternalProject_add(vita-headers
531534 DEPENDS binutils_${build_suffix} vita-toolchain_${build_suffix}
532535 GIT_REPOSITORY https://github.com/vitasdk/vita-headers
533536 GIT_TAG ${HEADERS_TAG}
534- ${GIT_SHALLOW_SUPPORT}
537+ GIT_SHALLOW 1
535538 # CONFIGURE_COMMAND ""
536539 # BUILD_COMMAND VITA_LIBS_GEN=${vita_libs_gen_command}
537540 # ARCH=${binutils_prefix}
@@ -560,14 +563,14 @@ ExternalProject_add(vita-headers
560563 COMMAND ${CMAKE_COMMAND} -E copy_directory <SOURCE_DIR >/db ${CMAKE_INSTALL_PREFIX} /share/vita-headers/db
561564 # Save the commit id for tracking purposes
562565 COMMAND ${GIT_EXECUTABLE} -C <SOURCE_DIR > rev-parse HEAD > ${CMAKE_BINARY_DIR} /vita-headers-version.txt
563- ${UPDATE_DISCONNECTED_SUPPORT }
566+ UPDATE_DISCONNECTED ${OFFLINE }
564567 )
565568
566569ExternalProject_Add (newlib
567570 DEPENDS binutils_${target_suffix} gcc-base vita-headers
568571 GIT_REPOSITORY https://github.com/vitasdk/newlib
569572 GIT_TAG ${NEWLIB_TAG}
570- ${GIT_SHALLOW_SUPPORT}
573+ GIT_SHALLOW 1
571574 # Pass the compiler_target_tools here so newlib picks up the fresh gcc-base compiler
572575 CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env ${compiler_flag} ${toolchain_tools} ${compiler_target_tools}
573576 ${wrapper_command} <SOURCE_DIR >/configure "CFLAGS_FOR_TARGET=-g -O2 -ffunction-sections -fdata-sections"
@@ -589,7 +592,7 @@ ExternalProject_Add(newlib
589592 COMMAND $(MAKE) install DESTDIR=${toolchain_build_install_dir}
590593 # Save the commit id for tracking purposes
591594 COMMAND ${GIT_EXECUTABLE} -C <SOURCE_DIR > rev-parse HEAD > ${CMAKE_BINARY_DIR} /newlib-version.txt
592- ${UPDATE_DISCONNECTED_SUPPORT }
595+ UPDATE_DISCONNECTED ${OFFLINE }
593596 )
594597
595598# Build a complete gcc compiler to be able to compile the full gcc for the host when crosscompiling.
@@ -637,7 +640,7 @@ ExternalProject_Add(pthread-embedded
637640 DEPENDS binutils_${target_suffix} gcc-base newlib vita-headers
638641 GIT_REPOSITORY https://github.com/vitasdk/pthread-embedded
639642 GIT_TAG ${PTHREAD_TAG}
640- ${GIT_SHALLOW_SUPPORT}
643+ GIT_SHALLOW 1
641644 # TODO: this project should have a proper makefile to support out-of-source builds
642645 BUILD_IN_SOURCE 1
643646 CONFIGURE_COMMAND ""
@@ -648,7 +651,7 @@ ExternalProject_Add(pthread-embedded
648651 COMMAND $(MAKE) install -C <SOURCE_DIR >/platform/vita PREFIX =${toolchain_build_install_dir} /${target_arch} install
649652 # Save the commit id for tracking purposes
650653 COMMAND ${GIT_EXECUTABLE} -C <SOURCE_DIR > rev-parse HEAD > ${CMAKE_BINARY_DIR} /pthread-embedded-version.txt
651- ${UPDATE_DISCONNECTED_SUPPORT }
654+ UPDATE_DISCONNECTED ${OFFLINE }
652655 )
653656
654657ExternalProject_add (gcc-final
@@ -693,7 +696,7 @@ ExternalProject_add(gcc-final
693696ExternalProject_Add (samples
694697 GIT_REPOSITORY https://github.com/vitasdk/samples
695698 GIT_TAG ${SAMPLES_TAG}
696- ${GIT_SHALLOW_SUPPORT}
699+ GIT_SHALLOW 1
697700 BUILD_IN_SOURCE 1
698701 CONFIGURE_COMMAND ""
699702 BUILD_COMMAND ""
@@ -702,35 +705,35 @@ ExternalProject_Add(samples
702705 -P ${CMAKE_SOURCE_DIR} /cmake/install_files.cmake
703706 # Save the commit id for tracking purposes
704707 COMMAND ${GIT_EXECUTABLE} -C <SOURCE_DIR > rev-parse HEAD > ${CMAKE_BINARY_DIR} /samples-version.txt
705- ${UPDATE_DISCONNECTED_SUPPORT }
708+ UPDATE_DISCONNECTED ${OFFLINE }
706709 )
707710
708711ExternalProject_Add (vdpm
709712 GIT_REPOSITORY https://github.com/vitasdk/vdpm.git
710713 GIT_TAG ${VDPM_TAG}
711- ${GIT_SHALLOW_SUPPORT}
714+ GIT_SHALLOW 1
712715 BUILD_IN_SOURCE 1
713716 CONFIGURE_COMMAND ""
714717 BUILD_COMMAND ""
715718 INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_INSTALL_PREFIX} /bin/
716719 COMMAND ${CMAKE_COMMAND} -E copy_directory <SOURCE_DIR >/include ${CMAKE_INSTALL_PREFIX} /bin/include
717720 COMMAND ${CMAKE_COMMAND} -E copy <SOURCE_DIR >/vdpm ${CMAKE_INSTALL_PREFIX} /bin/
718721 COMMAND ${CMAKE_COMMAND} -E copy <SOURCE_DIR >/vitasdk-update ${CMAKE_INSTALL_PREFIX} /bin/
719- ${UPDATE_DISCONNECTED_SUPPORT }
722+ UPDATE_DISCONNECTED ${OFFLINE }
720723 )
721724
722725ExternalProject_Add (vita-makepkg
723726 GIT_REPOSITORY https://github.com/vitasdk/vita-makepkg.git
724727 GIT_TAG ${VITA_MAKEPKG_TAG}
725- ${GIT_SHALLOW_SUPPORT}
728+ GIT_SHALLOW 1
726729 BUILD_IN_SOURCE 1
727730 CONFIGURE_COMMAND ""
728731 BUILD_COMMAND ""
729732 INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_INSTALL_PREFIX} /bin/
730733 COMMAND ${CMAKE_COMMAND} -E copy_directory <SOURCE_DIR >/libmakepkg ${CMAKE_INSTALL_PREFIX} /bin/libmakepkg
731734 COMMAND ${CMAKE_COMMAND} -E copy <SOURCE_DIR >/vita-makepkg ${CMAKE_INSTALL_PREFIX} /bin/
732735 COMMAND ${CMAKE_COMMAND} -E copy <SOURCE_DIR >/makepkg.conf.sample ${CMAKE_INSTALL_PREFIX} /bin/makepkg.conf
733- ${UPDATE_DISCONNECTED_SUPPORT }
736+ UPDATE_DISCONNECTED ${OFFLINE }
734737 )
735738
736739if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows" )
0 commit comments