updated build system
This commit is contained in:
@@ -139,8 +139,6 @@ if(PROJECT_BUILD)
|
||||
find_package(ICU REQUIRED COMPONENTS data i18n io uc)
|
||||
else()
|
||||
message(STATUS "-=[CMake Settings]=-")
|
||||
message(STATUS " C standard: ${CMAKE_C_STANDARD}")
|
||||
message(STATUS " C++ standard: ${CMAKE_CXX_STANDARD}")
|
||||
message(STATUS " CPU architecture: ${PROJECT_MARCH}")
|
||||
if(PROJECT_ENABLE_FUSE)
|
||||
message(STATUS " FUSE version: ${PROJECT_FUSE}")
|
||||
@@ -157,6 +155,8 @@ endif()
|
||||
DEPENDS ${PROJECT_DEPENDENCIES}
|
||||
COMMAND cd build && cmake
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
-DCMAKE_C_STANDARD=${CMAKE_C_STANDARD}
|
||||
-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
|
||||
-DCMAKE_GENERATOR=${CMAKE_GENERATOR}
|
||||
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
|
||||
-DPROJECT_3RD_PARTY_DIR=${PROJECT_3RD_PARTY_DIR}
|
||||
|
||||
@@ -99,7 +99,6 @@ if(PROJECT_ENABLE_BOOST)
|
||||
--prefix=${PROJECT_EXTERNAL_BUILD_ROOT}
|
||||
address-model=64
|
||||
architecture=${BOOST_ARCH}
|
||||
cxxstd=20
|
||||
cxxstd-dialect=gnu
|
||||
cxxflags=-std=gnu++${CMAKE_CXX_STANDARD}
|
||||
cxxstd=${CMAKE_CXX_STANDARD}
|
||||
|
||||
@@ -4,7 +4,7 @@ set(CMAKE_FIND_PACKAGE_PREFER_CONFIG ON)
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_CXX_STANDARD 23)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
set(BINUTILS_VERSION 2.44)
|
||||
set(BOOST_MAJOR_VERSION 1)
|
||||
set(BOOST_MINOR_VERSION 89)
|
||||
set(BOOST_PATCH_VERSION 0)
|
||||
set(BOOST2_MAJOR_VERSION 1)
|
||||
set(BOOST2_MINOR_VERSION 76)
|
||||
set(BOOST2_PATCH_VERSION 0)
|
||||
set(BOOST_MAJOR_VERSION 1)
|
||||
set(BOOST_MINOR_VERSION 89)
|
||||
set(BOOST_PATCH_VERSION 0)
|
||||
set(CPP_HTTPLIB_VERSION 0.26.0)
|
||||
set(CURL_VERSION 8.16.0)
|
||||
set(CURL2_VERSION 8_16_0)
|
||||
set(EXPAT_VERSION 2.7.1)
|
||||
set(CURL_VERSION 8.16.0)
|
||||
set(EXPAT2_VERSION 2_7_1)
|
||||
set(EXPAT_VERSION 2.7.1)
|
||||
set(GCC_VERSION 15.2.0)
|
||||
set(GTEST_VERSION 1.17.0)
|
||||
set(ICU_VERSION 76-1)
|
||||
@@ -22,9 +22,9 @@ set(PKG_CONFIG_VERSION 0.29.2)
|
||||
set(PUGIXML_VERSION 1.15)
|
||||
set(ROCKSDB_VERSION 10.5.1)
|
||||
set(SPDLOG_VERSION 1.15.3)
|
||||
set(SQLITE_VERSION 3500400)
|
||||
set(SQLITE2_VERSION 3.50.4)
|
||||
set(SQLITE_VERSION 3500400)
|
||||
set(STDUUID_VERSION 1.2.3)
|
||||
set(WINFSP_VERSION 2.1.25156)
|
||||
set(WINFSP2_VERSION 2.1)
|
||||
set(WINFSP_VERSION 2.1.25156)
|
||||
set(ZLIB_VERSION 1.3.1)
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
#comment
|
||||
FROM arm64v8/alpine:3.22.2
|
||||
FROM arm64v8/alpine:3.23
|
||||
MAINTAINER Scott E. Graves <scott.e.graves@protonmail.com>
|
||||
CMD bash
|
||||
|
||||
RUN apk update
|
||||
RUN apk upgrade
|
||||
RUN apk add \
|
||||
7zip \
|
||||
autoconf \
|
||||
automake \
|
||||
bash \
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
#comment
|
||||
FROM alpine:3.22.2
|
||||
FROM alpine:3.23
|
||||
MAINTAINER Scott E. Graves <scott.e.graves@protonmail.com>
|
||||
CMD bash
|
||||
|
||||
RUN apk update
|
||||
RUN apk upgrade
|
||||
RUN apk add \
|
||||
7zip \
|
||||
autoconf \
|
||||
automake \
|
||||
bash \
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#comment
|
||||
FROM debian:latest
|
||||
|
||||
ARG UID=0
|
||||
|
||||
@@ -1,16 +1,17 @@
|
||||
#comment
|
||||
FROM alpine:3.22.2
|
||||
FROM alpine:3.23
|
||||
|
||||
RUN apk update
|
||||
RUN apk upgrade
|
||||
RUN apk add \
|
||||
7zip \
|
||||
autoconf \
|
||||
automake \
|
||||
bash \
|
||||
binutils \
|
||||
bison \
|
||||
bzip2 \
|
||||
clang17-extra-tools \
|
||||
clang21-extra-tools \
|
||||
cmake \
|
||||
curl \
|
||||
file \
|
||||
@@ -63,7 +64,10 @@ ENV MY_MINGW_PREFIX=${MINGW_PREFIX}
|
||||
ARG NUM_JOBS=2
|
||||
ENV MY_NUM_JOBS=${NUM_JOBS}
|
||||
|
||||
ARG CXX_STANDARD=20
|
||||
ARG C_STANDARD=11
|
||||
ENV MY_C_STANDARD=${C_STANDARD}
|
||||
|
||||
ARG CXX_STANDARD=23
|
||||
ENV MY_CXX_STANDARD=${CXX_STANDARD}
|
||||
|
||||
ARG TOOLCHAIN_FILE_CMAKE=/cmake_toolchain.cmake
|
||||
@@ -259,6 +263,7 @@ RUN cd /3rd_party/mingw64 && sha256sum -c ./pkg-config-${MY_PKG_CONFIG_VERSION}.
|
||||
&& tar xvzf /3rd_party/mingw64/pkg-config-${MY_PKG_CONFIG_VERSION}.tar.gz \
|
||||
&& cd pkg-config-${MY_PKG_CONFIG_VERSION} \
|
||||
&& ./configure \
|
||||
CFLAGS='-std=gnu11' \
|
||||
--disable-nls \
|
||||
--disable-shared \
|
||||
--prefix=/usr/local \
|
||||
@@ -273,7 +278,7 @@ RUN python3 -m pip install --break-system-packages -U mako
|
||||
RUN python3 -m pip install --break-system-packages -U meson
|
||||
RUN python3 -m pip install --break-system-packages -U packaging
|
||||
|
||||
ENV CXXFLAGS="-std=gnu++20"
|
||||
ENV CXXFLAGS="-std=gnu++${MY_CXX_STANDARD}"
|
||||
ENV LDFLAGS="-L${MY_MINGW_DIR}/lib -L${MY_MINGW_DIR}/lib64"
|
||||
ENV PATH="${MY_MINGW_DIR}/bin:/usr/local/bin:${PATH}"
|
||||
ENV PKG_CONFIG_PATH="${MY_MINGW_DIR}/lib/pkgconfig:${MY_MINGW_DIR}/lib64/pkgconfig"
|
||||
|
||||
@@ -25,6 +25,8 @@ cp -f ${PROJECT_SOURCE_DIR}/docker/${PROJECT_BUILD_ARCH}/${DOCKER_NAME} Dockerfi
|
||||
if [ "${PROJECT_BUILD_ARCH}" == "aarch64" ]; then
|
||||
docker build ${APP_VERSION_BUILD_ARGS} \
|
||||
--platform linux/arm64 \
|
||||
--build-arg C_STANDARD=${PROJECT_C_STANDARD} \
|
||||
--build-arg CXX_STANDARD=${PROJECT_CXX_STANDARD} \
|
||||
--build-arg NUM_JOBS=${NUM_JOBS} \
|
||||
--build-arg UID=$(id -u) \
|
||||
--build-arg GID=$(id -g) \
|
||||
@@ -32,6 +34,8 @@ if [ "${PROJECT_BUILD_ARCH}" == "aarch64" ]; then
|
||||
-t ${DOCKER_TAG} . || exit 1
|
||||
else
|
||||
docker build ${APP_VERSION_BUILD_ARGS} \
|
||||
--build-arg C_STANDARD=${PROJECT_C_STANDARD} \
|
||||
--build-arg CXX_STANDARD=${PROJECT_CXX_STANDARD} \
|
||||
--build-arg NUM_JOBS=${NUM_JOBS} \
|
||||
--build-arg UID=$(id -u) \
|
||||
--build-arg GID=$(id -g) \
|
||||
|
||||
@@ -7,6 +7,8 @@ PROJECT_IS_MINGW=$4
|
||||
PROJECT_IS_MINGW_UNIX=$5
|
||||
DISABLE_CREATE_DIRS=$6
|
||||
|
||||
PROJECT_CXX_STANDARD=23
|
||||
PROJECT_C_STANDARD=11
|
||||
PROJECT_FLUTTER_BASE_HREF="/"
|
||||
|
||||
if [ "${PROJECT_IS_MINGW}" != "1" ]; then
|
||||
@@ -46,7 +48,7 @@ for PROJECT_LIBRARY in "${PROJECT_LIBRARIES[@]}"; do
|
||||
done
|
||||
|
||||
PROJECT_APP_LIST=()
|
||||
PROJECT_CMAKE_OPTS=""
|
||||
PROJECT_CMAKE_OPTS="-DCMAKE_C_STANDARD=${PROJECT_C_STANDARD} -DCMAKE_CXX_STANDARD=${PROJECT_CXX_STANDARD}"
|
||||
PROJECT_ENABLE_V2_ERRORS=OFF
|
||||
PROJECT_ENABLE_WIN32_LONG_PATH_NAMES=OFF
|
||||
PROJECT_IS_ALPINE=0
|
||||
@@ -340,6 +342,8 @@ export PROJECT_CMAKE_BUILD_TYPE_LOWER
|
||||
export PROJECT_CMAKE_OPTS
|
||||
export PROJECT_COMPANY_NAME
|
||||
export PROJECT_COPYRIGHT
|
||||
export PROJECT_CXX_STANDARD
|
||||
export PROJECT_C_STANDARD
|
||||
export PROJECT_DESC
|
||||
export PROJECT_DIST_DIR
|
||||
export PROJECT_ENABLE_V2_ERRORS
|
||||
@@ -391,6 +395,8 @@ echo " Build arch2: ${PROJECT_BUILD_ARCH2}"
|
||||
echo " Build clean: ${PROJECT_BUILD_CLEAN}"
|
||||
echo " Build dir: ${PROJECT_BUILD_DIR}"
|
||||
echo " Build shared libraries: ${PROJECT_BUILD_SHARED_LIBS}"
|
||||
echo " C std: ${PROJECT_C_STANDARD}"
|
||||
echo " CXX std: ${PROJECT_CXX_STANDARD}"
|
||||
echo " CMake options: -G\"Unix Makefiles\" -DPROJECT_COMPANY_NAME=\"${PROJECT_COMPANY_NAME}\" -DPROJECT_COPYRIGHT=\"${PROJECT_COPYRIGHT}\" -DPROJECT_DESC=\"${PROJECT_DESC}\" -DPROJECT_URL=\"${PROJECT_URL}\" ${PROJECT_CMAKE_OPTS} "
|
||||
echo " CMake toolchain file: ${PROJECT_TOOLCHAIN_FILE_CMAKE}"
|
||||
echo " Cmake Build type: ${PROJECT_CMAKE_BUILD_TYPE}"
|
||||
|
||||
@@ -52,9 +52,8 @@ PROJECT_DOWNLOADS[EXPAT]="https://github.com/libexpat/libexpat/archive/refs/tags
|
||||
PROJECT_DOWNLOADS[GCC]="https://mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-${PROJECT_VERSIONS[GCC]}/gcc-${PROJECT_VERSIONS[GCC]}.tar.gz;gcc-${PROJECT_VERSIONS[GCC]}.tar.gz;3rd_party/mingw64"
|
||||
PROJECT_DOWNLOADS[GTEST]="https://github.com/google/googletest/archive/refs/tags/v${PROJECT_VERSIONS[GTEST]}.tar.gz;googletest-${PROJECT_VERSIONS[GTEST]}.tar.gz;3rd_party"
|
||||
PROJECT_DOWNLOADS[ICU]="https://github.com/unicode-org/icu/archive/refs/tags/release-${PROJECT_VERSIONS[ICU]}.tar.gz;icu-release-${PROJECT_VERSIONS[ICU]}.tar.gz;3rd_party/mingw64"
|
||||
PROJECT_DOWNLOADS[JSON]="https://github.com/nlohmann/json/archive/refs/tags/v${PROJECT_VERSIONS[JSON]}.tar.gz;json-${PROJECT_VERSIONS[JSON]}.tar.gz;3rd_party"
|
||||
PROJECT_DOWNLOADS[INNOSETUP]="https://files.jrsoftware.org/is/6/innosetup-${PROJECT_VERSIONS[INNOSETUP]}.exe;innosetup-${PROJECT_VERSIONS[INNOSETUP]}.exe;3rd_party/mingw64"
|
||||
PROJECT_DOWNLOADS[WINFSP]="https://github.com/winfsp/winfsp/releases/download/v${PROJECT_VERSIONS[WINFSP2]}/winfsp-${PROJECT_VERSIONS[WINFSP]}.msi;winfsp-${PROJECT_VERSIONS[WINFSP]}.msi;3rd_party"
|
||||
PROJECT_DOWNLOADS[JSON]="https://github.com/nlohmann/json/archive/refs/tags/v${PROJECT_VERSIONS[JSON]}.tar.gz;json-${PROJECT_VERSIONS[JSON]}.tar.gz;3rd_party"
|
||||
PROJECT_DOWNLOADS[LIBSODIUM]="https://github.com/jedisct1/libsodium/archive/refs/tags/${PROJECT_VERSIONS[LIBSODIUM]}-RELEASE.tar.gz;libsodium-${PROJECT_VERSIONS[LIBSODIUM]}.tar.gz;3rd_party"
|
||||
PROJECT_DOWNLOADS[MINGW]="https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/mingw-w64-v${PROJECT_VERSIONS[MINGW]}.tar.bz2;;mingw-w64-v${PROJECT_VERSIONS[MINGW]}.tar.bz2;3rd_party/mingw64"
|
||||
PROJECT_DOWNLOADS[OPENSSL]="https://github.com/openssl/openssl/releases/download/openssl-${PROJECT_VERSIONS[OPENSSL]}/openssl-${PROJECT_VERSIONS[OPENSSL]}.tar.gz;openssl-${PROJECT_VERSIONS[OPENSSL]}.tar.gz;3rd_party"
|
||||
@@ -64,5 +63,8 @@ PROJECT_DOWNLOADS[ROCKSDB]="https://github.com/facebook/rocksdb/archive/refs/tag
|
||||
PROJECT_DOWNLOADS[SPDLOG]="https://github.com/gabime/spdlog/archive/refs/tags/v${PROJECT_VERSIONS[SPDLOG]}.tar.gz;spdlog-${PROJECT_VERSIONS[SPDLOG]}.tar.gz;3rd_party"
|
||||
PROJECT_DOWNLOADS[SQLITE]="https://www.sqlite.org/2025/sqlite-amalgamation-${PROJECT_VERSIONS[SQLITE]}.zip;sqlite-amalgamation-${PROJECT_VERSIONS[SQLITE]}.zip;3rd_party"
|
||||
PROJECT_DOWNLOADS[STDUUID]="https://github.com/mariusbancila/stduuid/archive/refs/tags/v${PROJECT_VERSIONS[STDUUID]}.tar.gz;stduuid-${PROJECT_VERSIONS[STDUUID]}.tar.gz;3rd_party"
|
||||
PROJECT_DOWNLOADS[WINFSP]="https://github.com/winfsp/winfsp/releases/download/v${PROJECT_VERSIONS[WINFSP2]}/winfsp-${PROJECT_VERSIONS[WINFSP]}.msi;winfsp-${PROJECT_VERSIONS[WINFSP]}.msi;3rd_party"
|
||||
PROJECT_DOWNLOADS[ZLIB]="https://github.com/madler/zlib/archive/refs/tags/v${PROJECT_VERSIONS[ZLIB]}.tar.gz;zlib-${PROJECT_VERSIONS[ZLIB]}.tar.gz;3rd_party/mingw64"
|
||||
export PROJECT_DOWNLOADS
|
||||
|
||||
export VLC_WIN64_DOWNLOAD
|
||||
|
||||
Reference in New Issue
Block a user