mirror of
https://github.com/etlegacy/etlegacy-libs.git
synced 2025-02-23 03:40:56 +00:00
cmake: cross compilation fixes
This commit is contained in:
parent
f3371620e6
commit
4f40f58f31
1 changed files with 39 additions and 35 deletions
|
@ -374,6 +374,15 @@ if (FEATURE_SSL AND BUNDLED_OPENSSL AND (BUILD_CLIENT OR BUILD_SERVER))
|
|||
|
||||
set(OPENSSL_BUNDLED_LIBRARY "${LIBS_BINARY_DIR}/openssl/${openssl_lib_folder}/libssl.a" "${LIBS_BINARY_DIR}/openssl/${openssl_lib_folder}/libcrypto.a")
|
||||
|
||||
if(CMAKE_CROSSCOMPILING AND CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
string(REGEX REPLACE "gcc$" "" COMPILER_PREFIX "${CMAKE_C_COMPILER}")
|
||||
if(COMPILER_PREFIX)
|
||||
SET(OPENSSL_BUILD ${OPENSSL_BUILD} --sysroot=${CMAKE_SYSROOT} --cross-compile-prefix=${COMPILER_PREFIX})
|
||||
else()
|
||||
SET(OPENSSL_BUILD ${OPENSSL_BUILD} --sysroot=${CMAKE_SYSROOT})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# FIXME:
|
||||
# check all the locations of the files (runtime files?!)
|
||||
# and enable ssl in CURL
|
||||
|
@ -382,7 +391,7 @@ if (FEATURE_SSL AND BUNDLED_OPENSSL AND (BUILD_CLIENT OR BUILD_SERVER))
|
|||
DOWNLOAD_DIR ${LIBS_DOWNLOAD_DIR}
|
||||
URL https://github.com/openssl/openssl/releases/download/openssl-3.2.0/openssl-3.2.0.tar.gz
|
||||
URL_HASH MD5=7903549a14abebc5c323ce4e85f2cbb2
|
||||
PREFIX ${OPENSSL_PREFIX}
|
||||
PREFIX ${OPENSSL_PREFIX}
|
||||
CONFIGURE_COMMAND ${OPENSSL_BUILD} --prefix=<INSTALL_DIR>
|
||||
--openssldir=<INSTALL_DIR> --libdir=${openssl_lib_folder}
|
||||
BUILD_COMMAND ${MAKE} -j ${LIBS_COMPILE_FLAGS}
|
||||
|
@ -392,11 +401,11 @@ if (FEATURE_SSL AND BUNDLED_OPENSSL AND (BUILD_CLIENT OR BUILD_SERVER))
|
|||
)
|
||||
|
||||
# also generates libcrypto.a
|
||||
set(OPENSSL_BUNDLED_INCLUDE_DIR "${LIBS_BINARY_DIR}/openssl/include")
|
||||
set(OPENSSL_BUNDLED_INCLUDE_DIR "${OPENSSL_PREFIX}/include")
|
||||
|
||||
add_dependencies(bundled_openssl_int bundled_openssl)
|
||||
target_link_libraries(bundled_openssl_int INTERFACE ${OPENSSL_BUNDLED_LIBRARY})
|
||||
target_include_directories(bundled_openssl_int INTERFACE "${LIBS_BINARY_DIR}/openssl/include")
|
||||
target_include_directories(bundled_openssl_int INTERFACE "${OPENSSL_PREFIX}/include")
|
||||
endif()
|
||||
else()
|
||||
add_custom_target(bundled_openssl)
|
||||
|
@ -419,7 +428,7 @@ if(BUNDLED_CURL AND (BUILD_CLIENT OR BUILD_SERVER))
|
|||
-DCURL_DISABLE_LDAP=ON -DCURL_DISABLE_LDAPS=ON -DCURL_DISABLE_TELNET=ON -DCURL_DISABLE_DICT=ON
|
||||
-DCURL_DISABLE_FILE=ON -DCURL_DISABLE_TFTP=ON -DCURL_DISABLE_RTSP=ON -DCURL_DISABLE_POP3=ON
|
||||
-DCURL_DISABLE_IMAP=ON -DCURL_DISABLE_SMTP=ON -DCURL_DISABLE_GOPHER=ON -DENABLE_UNIX_SOCKETS=ON
|
||||
-DCMAKE_INSTALL_PREFIX=${LIBS_BINARY_DIR}/curl)
|
||||
)
|
||||
set(binary_dir "${LIBS_BINARY_DIR}/curl")
|
||||
|
||||
if (WIN32)
|
||||
|
@ -462,13 +471,9 @@ if(BUNDLED_CURL AND (BUILD_CLIENT OR BUILD_SERVER))
|
|||
# -DHTTP_ONLY=ON
|
||||
ExternalProject_Add(bundled_curl
|
||||
DEPENDS bundled_wolfssl bundled_openssl
|
||||
DOWNLOAD_DIR ${LIBS_DOWNLOAD_DIR}
|
||||
URL ${CURL_DOWNLOAD_URL}
|
||||
URL_HASH ${CURL_DOWNLOAD_HASH}
|
||||
SOURCE_DIR "${LIBS_DOWNLOAD_SRC_DIR}/curl"
|
||||
PREFIX ${LIBS_BINARY_DIR}/curl
|
||||
BINARY_DIR ${binary_dir}
|
||||
BUILD_BYPRODUCTS ${_CURL_OUTPUT}
|
||||
CMAKE_ARGS ${CURL_CMAKE_ARGS}
|
||||
)
|
||||
|
||||
|
@ -505,12 +510,9 @@ if(BUNDLED_CURL AND (BUILD_CLIENT OR BUILD_SERVER))
|
|||
# -DHTTP_ONLY=ON
|
||||
ExternalProject_Add(bundled_curl
|
||||
DEPENDS bundled_wolfssl bundled_openssl
|
||||
DOWNLOAD_DIR ${LIBS_DOWNLOAD_DIR}
|
||||
URL ${CURL_DOWNLOAD_URL}
|
||||
URL_HASH ${CURL_DOWNLOAD_HASH}
|
||||
SOURCE_DIR "${LIBS_DOWNLOAD_SRC_DIR}/curl"
|
||||
PREFIX ${LIBS_BINARY_DIR}/curl
|
||||
BINARY_DIR ${binary_dir}
|
||||
BUILD_BYPRODUCTS ${_CURL_OUTPUT}
|
||||
CMAKE_ARGS ${CURL_CMAKE_ARGS}
|
||||
)
|
||||
|
@ -535,7 +537,12 @@ if(BUNDLED_CURL AND (BUILD_CLIENT OR BUILD_SERVER))
|
|||
-DCMAKE_INCLUDE_PATH=${LIBS_BINARY_DIR}/wolfssl/include
|
||||
)
|
||||
elseif(BUNDLED_OPENSSL)
|
||||
list(APPEND CURL_CMAKE_ARGS -DOPENSSL_ROOT_DIR=${OPENSSL_PREFIX} -DCURL_USE_OPENSSL=ON -DCURL_USE_WOLFSSL=OFF)
|
||||
if (CMAKE_CROSSCOMPILING AND CMAKE_SYSROOT)
|
||||
file(RELATIVE_PATH OPENSSL_FIXED_PREFIX ${CMAKE_SYSROOT} ${OPENSSL_PREFIX})
|
||||
else()
|
||||
set(OPENSSL_FIXED_PREFIX ${OPENSSL_PREFIX})
|
||||
endif()
|
||||
list(APPEND CURL_CMAKE_ARGS -DOPENSSL_ROOT_DIR=${OPENSSL_PREFIX} -DOPENSSL_USE_STATIC_LIBS=ON -DCURL_USE_OPENSSL=ON -DCURL_USE_WOLFSSL=OFF)
|
||||
else()
|
||||
message(WARNING "Using system OpenSSL")
|
||||
list(APPEND CURL_CMAKE_ARGS -DCURL_USE_OPENSSL=ON -DCURL_USE_WOLFSSL=OFF)
|
||||
|
@ -547,12 +554,9 @@ if(BUNDLED_CURL AND (BUILD_CLIENT OR BUILD_SERVER))
|
|||
|
||||
ExternalProject_Add(bundled_curl
|
||||
DEPENDS bundled_wolfssl bundled_openssl
|
||||
DOWNLOAD_DIR ${LIBS_DOWNLOAD_DIR}
|
||||
URL ${CURL_DOWNLOAD_URL}
|
||||
URL_HASH ${CURL_DOWNLOAD_HASH}
|
||||
SOURCE_DIR "${LIBS_DOWNLOAD_SRC_DIR}/curl"
|
||||
PREFIX ${LIBS_BINARY_DIR}/curl
|
||||
BINARY_DIR ${binary_dir}
|
||||
BUILD_BYPRODUCTS ${_CURL_OUTPUT}
|
||||
CMAKE_ARGS ${CURL_CMAKE_ARGS}
|
||||
)
|
||||
|
@ -570,7 +574,7 @@ endif()
|
|||
#-----------------------------------------------------------------
|
||||
if(BUNDLED_OPENAL AND BUILD_CLIENT)
|
||||
add_library(bundled_openal_int INTERFACE)
|
||||
set(binary_dir "${LIBS_BINARY_DIR}/openal")
|
||||
set(binary_dir "${LIBS_BINARY_DIR}/openal")
|
||||
|
||||
if (WIN32)
|
||||
if(MSVC)
|
||||
|
@ -583,11 +587,11 @@ if(BUNDLED_OPENAL AND BUILD_CLIENT)
|
|||
etl_setup_cmake_args(BUNDLED_OPENAL_CMAKE_ARGS
|
||||
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
|
||||
-DLIBTYPE=STATIC -DFORCE_STATIC_VCRT=ON -DALSOFT_UTILS=OFF -DALSOFT_NO_CONFIG_UTIL=ON -DALSOFT_EXAMPLES=OFF
|
||||
-DALSOFT_TESTS=OFF -DALSOFT_CONFIG=OFF -DALSOFT_HRTF_DEFS=OFF -DALSOFT_AMBDEC_PRESETS=OFF
|
||||
-DALSOFT_TESTS=OFF -DALSOFT_CONFIG=OFF -DALSOFT_HRTF_DEFS=OFF -DALSOFT_AMBDEC_PRESETS=OFF
|
||||
)
|
||||
|
||||
ExternalProject_Add(bundled_openal
|
||||
PREFIX ${binary_dir}
|
||||
PREFIX ${binary_dir}
|
||||
URL ${CMAKE_CURRENT_LIST_DIR}/openal
|
||||
BUILD_BYPRODUCTS ${_OPENAL_OUTPUT}
|
||||
CMAKE_ARGS ${BUNDLED_OPENAL_CMAKE_ARGS}
|
||||
|
@ -605,8 +609,8 @@ if(BUNDLED_OPENAL AND BUILD_CLIENT)
|
|||
-DALSOFT_CONFIG=OFF -DALSOFT_HRTF_DEFS=OFF -DALSOFT_AMBDEC_PRESETS=OFF -DALSOFT_BACKEND_SNDIO=OFF
|
||||
)
|
||||
ExternalProject_Add(bundled_openal
|
||||
PREFIX ${binary_dir}
|
||||
URL ${CMAKE_CURRENT_LIST_DIR}/openal
|
||||
PREFIX ${binary_dir}
|
||||
URL ${CMAKE_CURRENT_LIST_DIR}/openal
|
||||
BUILD_BYPRODUCTS ${OPENAL_BUNDLED_LIBRARIES}
|
||||
CMAKE_ARGS ${BUNDLED_OPENAL_CMAKE_ARGS}
|
||||
)
|
||||
|
@ -630,7 +634,7 @@ if(BUNDLED_OGG_VORBIS AND BUILD_CLIENT)
|
|||
set(OGG_BUNDLED_LIBRARIES "${LIBS_BINARY_DIR}/ogg/lib/libogg${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
etl_setup_cmake_args(BUNDLED_OGG_CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBS_BINARY_DIR}/ogg)
|
||||
ExternalProject_Add(bundled_ogg
|
||||
PREFIX ${LIBS_BINARY_DIR}/ogg
|
||||
PREFIX ${LIBS_BINARY_DIR}/ogg
|
||||
URL ${CMAKE_CURRENT_LIST_DIR}/ogg
|
||||
BUILD_BYPRODUCTS ${OGG_BUNDLED_LIBRARIES}
|
||||
CMAKE_ARGS ${BUNDLED_OGG_CMAKE_ARGS}
|
||||
|
@ -649,7 +653,7 @@ if(BUNDLED_OGG_VORBIS AND BUILD_CLIENT)
|
|||
|
||||
ExternalProject_Add(bundled_ogg_vorbis
|
||||
DEPENDS bundled_ogg
|
||||
PREFIX ${LIBS_BINARY_DIR}/vorbis
|
||||
PREFIX ${LIBS_BINARY_DIR}/vorbis
|
||||
URL ${CMAKE_CURRENT_LIST_DIR}/vorbis
|
||||
BUILD_BYPRODUCTS ${VORBIS_BUNDLED_LIBRARIES}
|
||||
CMAKE_ARGS ${BUNDLED_OGG_VORBIS_CMAKE_ARGS}
|
||||
|
@ -798,7 +802,7 @@ if(BUNDLED_OGG_VORBIS AND BUILD_CLIENT)
|
|||
set(OGG_BUNDLED_LIBRARIES "${CMAKE_CURRENT_BINARY_DIR}/libs/ogg/lib/libogg.a")
|
||||
ExternalProject_Add(
|
||||
bundled_ogg
|
||||
PREFIX ${LIBS_BINARY_DIR}/ogg
|
||||
PREFIX ${LIBS_BINARY_DIR}/ogg
|
||||
URL ${CMAKE_CURRENT_LIST_DIR}/ogg
|
||||
PATCH_COMMAND autoreconf -fiv
|
||||
BUILD_BYPRODUCTS ${OGG_BUNDLED_LIBRARIES}
|
||||
|
@ -821,7 +825,7 @@ if(BUNDLED_OGG_VORBIS AND BUILD_CLIENT)
|
|||
ExternalProject_Add(
|
||||
bundled_ogg_vorbis
|
||||
DEPENDS bundled_ogg
|
||||
PREFIX ${LIBS_BINARY_DIR}/vorbis
|
||||
PREFIX ${LIBS_BINARY_DIR}/vorbis
|
||||
URL ${CMAKE_CURRENT_LIST_DIR}/vorbis
|
||||
#PATCH_COMMAND ./autogen.sh
|
||||
BUILD_BYPRODUCTS ${OGG_VORBIS_BUNDLED_LIBRARIES}
|
||||
|
@ -853,7 +857,7 @@ if(BUNDLED_LUA AND BUILD_MOD)
|
|||
add_library(bundled_lua_int INTERFACE)
|
||||
target_compile_definitions(bundled_lua_int INTERFACE BUNDLED_LUA)
|
||||
|
||||
if (WIN32 OR APPLE)
|
||||
if (WIN32 OR APPLE OR CMAKE_CROSSCOMPILING)
|
||||
set(LUA_LIB "${CMAKE_CURRENT_LIST_DIR}/lua/src")
|
||||
|
||||
FILE(GLOB LUA_LIB_SRC ${LUA_LIB}/*.c)
|
||||
|
@ -934,7 +938,7 @@ if(BUNDLED_SDL AND BUILD_CLIENT)
|
|||
etl_setup_cmake_args(SDL_CMAKE_ARGS
|
||||
-DSDL_RENDER_D3D=OFF -DSDL_RENDER_METAL=OFF -DSDL_RENDER=OFF
|
||||
-DSDL_DUMMYVIDEO=OFF -DSDL_OPENGL=ON -DSDL_VULKAN=OFF -DSDL_KMSDRM=OFF
|
||||
-DSDL_SHARED=OFF -DSDL_SNDIO=OFF -DSDL_LIBC=ON)
|
||||
-DSDL_SHARED=OFF -DSDL_SNDIO=OFF -DSDL_LIBC=ON -DSDL_PIPEWIRE=OFF -DSDL_JACK=OFF)
|
||||
|
||||
# Bye bye X11
|
||||
if(APPLE)
|
||||
|
@ -962,7 +966,7 @@ if(BUNDLED_SDL AND BUILD_CLIENT)
|
|||
ExternalProject_Add(bundled_sdl
|
||||
URL https://github.com/libsdl-org/SDL/archive/release-2.26.4.tar.gz
|
||||
URL_HASH MD5=8b79847e3bd0f279e242d7fccb272f93
|
||||
PREFIX ${LIBS_BINARY_DIR}/sdl2
|
||||
PREFIX ${LIBS_BINARY_DIR}/sdl2
|
||||
PATCH_COMMAND ${SDL_PATCH_COMMAND}
|
||||
BUILD_BYPRODUCTS ${_SDL_OUTPUT}
|
||||
CMAKE_ARGS ${SDL_CMAKE_ARGS}
|
||||
|
@ -1070,12 +1074,12 @@ if(BUNDLED_JPEG AND BUILD_CLIENT)
|
|||
check_include_file(stddef.h HAVE_STDDEF_H)
|
||||
check_include_file(stdlib.h HAVE_STDLIB_H)
|
||||
|
||||
# Set SIZEOF_SIZE_T @SIZE_T@ for 64 or 32 bit
|
||||
if(ETL_64BITS)
|
||||
set(SIZEOF_SIZE_T 8)
|
||||
else()
|
||||
set(SIZEOF_SIZE_T 4)
|
||||
endif()
|
||||
# Set SIZEOF_SIZE_T @SIZE_T@ for 64 or 32 bit
|
||||
if(ETL_64BITS)
|
||||
set(SIZEOF_SIZE_T 8)
|
||||
else()
|
||||
set(SIZEOF_SIZE_T 4)
|
||||
endif()
|
||||
|
||||
set(binary_dir "${LIBS_BINARY_DIR}/jpegturbo")
|
||||
|
||||
|
@ -1170,7 +1174,7 @@ if(BUNDLED_FREETYPE AND BUILD_CLIENT)
|
|||
endif()
|
||||
|
||||
etl_find_lib_path(BUNDLED_FREETYPE_LIBRARIES _FREETYPE_OUTPUT)
|
||||
etl_setup_cmake_args(BUNDLED_FREETYPE_CMAKE_ARGS
|
||||
etl_setup_cmake_args(BUNDLED_FREETYPE_CMAKE_ARGS
|
||||
DCMAKE_DISABLE_FIND_PACKAGE_ZLIB=ON -DCMAKE_DISABLE_FIND_PACKAGE_BZip2=ON -DCMAKE_DISABLE_FIND_PACKAGE_PNG=ON
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=ON -DCMAKE_DISABLE_FIND_PACKAGE_BrotliDec=ON
|
||||
-DFT_WITH_ZLIB=OFF -DFT_WITH_BZIP2=OFF -DFT_WITH_PNG=OFF -DFT_WITH_HARFBUZZ=OFF -DFT_WITH_BROTLI=OFF -DDISABLE_FORCE_DEBUG_POSTFIX=ON
|
||||
|
@ -1178,7 +1182,7 @@ if(BUNDLED_FREETYPE AND BUILD_CLIENT)
|
|||
|
||||
ExternalProject_Add(bundled_freetype
|
||||
URL ${CMAKE_CURRENT_LIST_DIR}/freetype
|
||||
PREFIX ${binary_dir}
|
||||
PREFIX ${binary_dir}
|
||||
BUILD_BYPRODUCTS ${_FREETYPE_OUTPUT}
|
||||
CMAKE_ARGS ${BUNDLED_FREETYPE_CMAKE_ARGS}
|
||||
)
|
||||
|
|
Loading…
Reference in a new issue