mirror of
https://github.com/Syping/dtranslatebot.git
synced 2024-11-04 21:16:58 +01:00
improved external project passthrough of variables
This commit is contained in:
parent
bb099d644a
commit
024400be46
2 changed files with 60 additions and 16 deletions
54
cmake/ArgumentPassthrough.cmake
Normal file
54
cmake/ArgumentPassthrough.cmake
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
#[[**************************************************************************
|
||||||
|
* dtranslatebot Discord Translate Bot
|
||||||
|
* Copyright (C) 2024 Syping
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
* are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
|
* and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* This software is provided as-is, no warranties are given to you, we are not
|
||||||
|
* responsible for anything with use of the software, you are self responsible.
|
||||||
|
****************************************************************************]]
|
||||||
|
|
||||||
|
if (DEFINED CMAKE_BUILD_TYPE)
|
||||||
|
list(APPEND CMAKE_PASSTHROUGH_ARGS "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
|
||||||
|
endif()
|
||||||
|
if (DEFINED CMAKE_C_COMPILER)
|
||||||
|
list(APPEND CMAKE_PASSTHROUGH_ARGS "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}")
|
||||||
|
list(APPEND CMAKE_PASSTHROUGH_ENV "CC=${CMAKE_C_COMPILER}")
|
||||||
|
endif()
|
||||||
|
if (DEFINED CMAKE_C_COMPILER_TARGET)
|
||||||
|
list(APPEND CMAKE_PASSTHROUGH_ARGS "-DCMAKE_C_COMPILER_TARGET=${CMAKE_C_COMPILER_TARGET}")
|
||||||
|
endif()
|
||||||
|
if (DEFINED CMAKE_CXX_COMPILER)
|
||||||
|
list(APPEND CMAKE_PASSTHROUGH_ARGS "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}")
|
||||||
|
endif()
|
||||||
|
if (DEFINED CMAKE_CXX_COMPILER_TARGET)
|
||||||
|
list(APPEND CMAKE_PASSTHROUGH_ARGS "-DCMAKE_CXX_COMPILER_TARGET=${CMAKE_CXX_COMPILER_TARGET}")
|
||||||
|
endif()
|
||||||
|
if (DEFINED CMAKE_SYSROOT)
|
||||||
|
list(APPEND CMAKE_PASSTHROUGH_ARGS "-DCMAKE_SYSROOT=${CMAKE_SYSROOT}")
|
||||||
|
endif()
|
||||||
|
if (DEFINED CMAKE_SYSTEM_NAME)
|
||||||
|
list(APPEND CMAKE_PASSTHROUGH_ARGS "-DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}")
|
||||||
|
endif()
|
||||||
|
if (DEFINED CMAKE_SYSTEM_PROCESSOR)
|
||||||
|
list(APPEND CMAKE_PASSTHROUGH_ARGS "-DCMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR}")
|
||||||
|
endif()
|
||||||
|
if (DEFINED CMAKE_SYSTEM_VERSION)
|
||||||
|
list(APPEND CMAKE_PASSTHROUGH_ARGS "-DCMAKE_SYSTEM_VERSION=${CMAKE_SYSTEM_VERSION}")
|
||||||
|
endif()
|
||||||
|
if (DEFINED CMAKE_TOOLCHAIN_FILE)
|
||||||
|
list(APPEND CMAKE_PASSTHROUGH_ARGS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}")
|
||||||
|
endif()
|
||||||
|
if (DEFINED CMAKE_PASSTHROUGH_ENV)
|
||||||
|
set(CMAKE_PASSTHROUGH_ENV
|
||||||
|
"${CMAKE_COMMAND}" -E env ${CMAKE_PASSTHROUGH_ENV}
|
||||||
|
)
|
||||||
|
endif()
|
|
@ -16,15 +16,7 @@
|
||||||
* responsible for anything with use of the software, you are self responsible.
|
* responsible for anything with use of the software, you are self responsible.
|
||||||
****************************************************************************]]
|
****************************************************************************]]
|
||||||
|
|
||||||
# Needed for compiler passthrough
|
include(ArgumentPassthrough)
|
||||||
if (DEFINED CMAKE_C_COMPILER)
|
|
||||||
set(CMAKE_ENV_CC_COMMAND "${CMAKE_COMMAND}" -E env "CC=${CMAKE_C_COMPILER}")
|
|
||||||
set(DEFINE_CMAKE_C_COMPILER "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (DEFINED CMAKE_CXX_COMPILER)
|
|
||||||
set(DEFINE_CMAKE_CXX_COMPILER "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# OpenSSL needs to be configured with perl and build with make
|
# OpenSSL needs to be configured with perl and build with make
|
||||||
find_package(Perl REQUIRED)
|
find_package(Perl REQUIRED)
|
||||||
|
@ -36,10 +28,10 @@ endif()
|
||||||
find_program(NPROC_EXECUTABLE nproc)
|
find_program(NPROC_EXECUTABLE nproc)
|
||||||
if (DEFINED NPROC_EXECUTABLE)
|
if (DEFINED NPROC_EXECUTABLE)
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND ${NPROC_EXECUTABLE}
|
COMMAND "${NPROC_EXECUTABLE}"
|
||||||
OUTPUT_VARIABLE NPROC
|
OUTPUT_VARIABLE NPROC
|
||||||
)
|
)
|
||||||
string(STRIP ${NPROC} NPROC)
|
string(STRIP "${NPROC}" NPROC)
|
||||||
set(JOBS_ARGUMENT "-j${NPROC}" CACHE INTERNAL "make jobs argument")
|
set(JOBS_ARGUMENT "-j${NPROC}" CACHE INTERNAL "make jobs argument")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -49,8 +41,7 @@ ExternalProject_Add(ZLIB
|
||||||
URL_HASH SHA256=38ef96b8dfe510d42707d9c781877914792541133e1870841463bfa73f883e32
|
URL_HASH SHA256=38ef96b8dfe510d42707d9c781877914792541133e1870841463bfa73f883e32
|
||||||
CMAKE_ARGS
|
CMAKE_ARGS
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
-DBUILD_SHARED_LIBS=OFF
|
||||||
"-DCMAKE_BUILD_TYPE=$<CONFIG>"
|
"${CMAKE_PASSTHROUGH_ARGS}"
|
||||||
"${DEFINE_CMAKE_C_COMPILER}"
|
|
||||||
"-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>"
|
"-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>"
|
||||||
-DZLIB_BUILD_EXAMPLES=OFF
|
-DZLIB_BUILD_EXAMPLES=OFF
|
||||||
)
|
)
|
||||||
|
@ -61,7 +52,7 @@ ExternalProject_Add(OpenSSL
|
||||||
URL https://www.openssl.org/source/openssl-3.0.13.tar.gz
|
URL https://www.openssl.org/source/openssl-3.0.13.tar.gz
|
||||||
URL_HASH SHA256=88525753f79d3bec27d2fa7c66aa0b92b3aa9498dafd93d7cfa4b3780cdae313
|
URL_HASH SHA256=88525753f79d3bec27d2fa7c66aa0b92b3aa9498dafd93d7cfa4b3780cdae313
|
||||||
CONFIGURE_COMMAND
|
CONFIGURE_COMMAND
|
||||||
${CMAKE_ENV_CC_COMMAND}
|
${CMAKE_PASSTHROUGH_ENV}
|
||||||
"${PERL_EXECUTABLE}"
|
"${PERL_EXECUTABLE}"
|
||||||
"<SOURCE_DIR>/Configure"
|
"<SOURCE_DIR>/Configure"
|
||||||
"--prefix=<INSTALL_DIR>"
|
"--prefix=<INSTALL_DIR>"
|
||||||
|
@ -84,8 +75,7 @@ ExternalProject_Add(DPP
|
||||||
CMAKE_ARGS
|
CMAKE_ARGS
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
-DBUILD_SHARED_LIBS=OFF
|
||||||
-DBUILD_VOICE_SUPPORT=OFF
|
-DBUILD_VOICE_SUPPORT=OFF
|
||||||
"-DCMAKE_BUILD_TYPE=$<CONFIG>"
|
"${CMAKE_PASSTHROUGH_ARGS}"
|
||||||
"${DEFINE_CMAKE_CXX_COMPILER}"
|
|
||||||
"-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>"
|
"-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>"
|
||||||
-DDPP_NO_VCPKG=ON
|
-DDPP_NO_VCPKG=ON
|
||||||
-DRUN_LDCONFIG=OFF
|
-DRUN_LDCONFIG=OFF
|
||||||
|
|
Loading…
Reference in a new issue