cmake: build fixes on unix

This commit is contained in:
Jacker 2024-01-31 00:57:02 +02:00
parent 0236312e99
commit c21b128ba6
No known key found for this signature in database
GPG key ID: 1ACCC1587C75F319

View file

@ -564,9 +564,9 @@ endif()
#-----------------------------------------------------------------
if(BUNDLED_OPENAL AND BUILD_CLIENT)
add_library(bundled_openal_int INTERFACE)
set(binary_dir "${LIBS_BINARY_DIR}/openal")
if (WIN32)
set(binary_dir "${LIBS_BINARY_DIR}/openal")
if(VSTUDIO)
set(OPENAL_BUNDLED_LIBRARIES optimized "${binary_dir}/Release/OpenAL32${CMAKE_STATIC_LIBRARY_SUFFIX}" debug "${binary_dir}/Debug/OpenAL32${CMAKE_STATIC_LIBRARY_SUFFIX}")
elseif(VS_BUILD)
@ -577,10 +577,9 @@ if(BUNDLED_OPENAL AND BUILD_CLIENT)
etl_find_lib_path(OPENAL_BUNDLED_LIBRARIES _OPENAL_OUTPUT)
etl_setup_cmake_args(BUNDLED_OPENAL_CMAKE_ARGS
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} -DCMAKE_INSTALL_PREFIX=${PROJECT_BINARY_DIR}/openal
-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
-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
)
ExternalProject_Add(bundled_openal
@ -600,14 +599,12 @@ if(BUNDLED_OPENAL AND BUILD_CLIENT)
elseif(UNIX)
set(OPENAL_BUNDLED_LIBRARIES "${CMAKE_CURRENT_BINARY_DIR}/libs/openal/libopenal.a")
etl_setup_cmake_args(BUNDLED_OPENAL_CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${PROJECT_BINARY_DIR}/openal -DLIBTYPE=STATIC
-DALSOFT_UTILS=OFF -DALSOFT_NO_CONFIG_UTIL=ON -DALSOFT_EXAMPLES=OFF -DALSOFT_TESTS=OFF
-DLIBTYPE=STATIC -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_BACKEND_SNDIO=OFF
)
ExternalProject_Add(bundled_openal
PREFIX ${binary_dir}
URL ${CMAKE_CURRENT_LIST_DIR}/openal
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/openal
BINARY_DIR ${LIBS_BINARY_DIR}/openal
BUILD_BYPRODUCTS ${OPENAL_BUNDLED_LIBRARIES}
CMAKE_ARGS ${BUNDLED_OPENAL_CMAKE_ARGS}
@ -810,7 +807,6 @@ if(BUNDLED_OGG_VORBIS AND BUILD_CLIENT)
BUILD_BYPRODUCTS ${OGG_BUNDLED_LIBRARIES}
CONFIGURE_COMMAND ./configure --prefix=<INSTALL_DIR> ${LIBS_COMPILE_FLAGS}
--enable-silent-rules --disable-dependency-tracking --enable-shared=no
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/libs/ogg
BUILD_COMMAND ${MAKE} -j -C <SOURCE_DIR>
INSTALL_COMMAND ${MAKE} -C <SOURCE_DIR> install
BUILD_IN_SOURCE 1
@ -905,7 +901,7 @@ if(BUNDLED_LUA AND BUILD_MOD)
ExternalProject_Add(
bundled_lua
PREFIX "${LIBS_DOWNLOAD_SRC_DIR}/lua"
PREFIX "${LIBS_BINARY_DIR}/lua"
URL "${CMAKE_CURRENT_LIST_DIR}/lua"
BUILD_BYPRODUCTS ${LUA_BUNDLED_LIBRARIES}
CONFIGURE_COMMAND ${MAKE} -C <SOURCE_DIR> clean
@ -941,8 +937,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
-DCMAKE_INSTALL_PREFIX=${LIBS_BINARY_DIR}/sdl2)
-DSDL_SHARED=OFF -DSDL_SNDIO=OFF -DSDL_LIBC=ON)
# Bye bye X11
if(APPLE)
@ -968,16 +963,12 @@ if(BUNDLED_SDL AND BUILD_CLIENT)
etl_find_lib_path(SDL2_BUNDLED_LIBRARIES _SDL_OUTPUT)
ExternalProject_Add(bundled_sdl
# SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/sdl2
DOWNLOAD_DIR ${LIBS_DOWNLOAD_DIR}
SOURCE_DIR "${LIBS_DOWNLOAD_SRC_DIR}/sdl2"
URL https://github.com/libsdl-org/SDL/archive/release-2.26.4.tar.gz
URL_HASH MD5=8b79847e3bd0f279e242d7fccb272f93
PREFIX ${LIBS_BINARY_DIR}/sdl2
PATCH_COMMAND ${SDL_PATCH_COMMAND}
BINARY_DIR ${LIBS_BINARY_DIR}/sdl2
BUILD_BYPRODUCTS ${_SDL_OUTPUT}
CMAKE_ARGS ${SDL_CMAKE_ARGS}
PREFIX ${LIBS_BINARY_DIR}/sdl2
)
set_target_properties(bundled_sdl PROPERTIES FOLDER ${BUNDLED_TARGETS_FOLDER})
@ -1082,22 +1073,22 @@ 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(binary_dir "${LIBS_BINARY_DIR}/jpegturbo")
if(VSTUDIO)
set(JPEG_BUNDLED_LIBRARIES optimized "${binary_dir}/Release/turbojpeg-static${CMAKE_STATIC_LIBRARY_SUFFIX}" debug "${binary_dir}/Debug/turbojpeg-static${CMAKE_STATIC_LIBRARY_SUFFIX}")
elseif(VS_BUILD)
set(JPEG_BUNDLED_LIBRARIES "${binary_dir}/turbojpeg-static${CMAKE_STATIC_LIBRARY_SUFFIX}")
set(JPEG_BUNDLED_LIBRARIES "${binary_dir}/lib/turbojpeg-static${CMAKE_STATIC_LIBRARY_SUFFIX}")
else()
set(JPEG_BUNDLED_LIBRARIES "${binary_dir}/lib/libturbojpeg${CMAKE_STATIC_LIBRARY_SUFFIX}")
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(JPEG_LIB "${CMAKE_CURRENT_LIST_DIR}/jpegturbo")
# configure_file(${JPEG_LIB}/jconfig.h.cmake ${JPEG_LIB}/jconfig.h)
@ -1107,7 +1098,7 @@ if(BUNDLED_JPEG AND BUILD_CLIENT)
etl_setup_cmake_args(bundled_jpeg_cmake_args
-DENABLE_SHARED=OFF -DENABLE_STATIC=ON -DREQUIRE_SIMD=OFF -DWITH_12BIT=OFF
-DWITH_ARITH_DEC=ON -DWITH_ARITH_ENC=ON -DWITH_JAVA=OFF -DWITH_JPEG7=OFF -DWITH_JPEG8=ON
-DWITH_MEM_SRCDST=ON -DWITH_SIMD=OFF -DWITH_TURBOJPEG=ON
-DWITH_MEM_SRCDST=ON -DWITH_SIMD=OFF -DWITH_TURBOJPEG=ON -DCMAKE_INSTALL_LIBDIR=<INSTALL_DIR>/lib
)
ExternalProject_Add(bundled_jpeg
@ -1168,8 +1159,6 @@ if(BUNDLED_PNG AND BUILD_CLIENT)
ExternalProject_Add(bundled_png
URL ${CMAKE_CURRENT_LIST_DIR}/libpng
DOWNLOAD_DIR ${LIBS_DOWNLOAD_DIR}
SOURCE_DIR ${LIBS_DOWNLOAD_SRC_DIR}/libpng
BINARY_DIR ${LIBS_BINARY_DIR}/libpng
BUILD_BYPRODUCTS ${_PNG_OUTPUT}
PREFIX ${LIBS_BINARY_DIR}/libpng
@ -1193,13 +1182,13 @@ if(BUNDLED_FREETYPE AND BUILD_CLIENT)
if(VSTUDIO)
set(BUNDLED_FREETYPE_LIBRARIES optimized "${binary_dir}/Release/freetype${CMAKE_STATIC_LIBRARY_SUFFIX}" debug "${binary_dir}/Debug/freetype${CMAKE_STATIC_LIBRARY_SUFFIX}")
elseif(VS_BUILD)
set(BUNDLED_FREETYPE_LIBRARIES "${binary_dir}/freetype${CMAKE_STATIC_LIBRARY_SUFFIX}")
set(BUNDLED_FREETYPE_LIBRARIES "${binary_dir}/lib/freetype${CMAKE_STATIC_LIBRARY_SUFFIX}")
else()
set(BUNDLED_FREETYPE_LIBRARIES "${binary_dir}/libfreetype${CMAKE_STATIC_LIBRARY_SUFFIX}")
set(BUNDLED_FREETYPE_LIBRARIES "${binary_dir}/lib/libfreetype${CMAKE_STATIC_LIBRARY_SUFFIX}")
endif()
etl_find_lib_path(BUNDLED_FREETYPE_LIBRARIES _FREETYPE_OUTPUT)
etl_find_lib_path(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
@ -1207,17 +1196,14 @@ if(BUNDLED_FREETYPE AND BUILD_CLIENT)
ExternalProject_Add(bundled_freetype
URL ${CMAKE_CURRENT_LIST_DIR}/freetype
DOWNLOAD_DIR ${LIBS_DOWNLOAD_DIR}
SOURCE_DIR ${LIBS_DOWNLOAD_SRC_DIR}/freetype
BINARY_DIR ${binary_dir}
PREFIX ${binary_dir}
BUILD_BYPRODUCTS ${_FREETYPE_OUTPUT}
CMAKE_ARGS ${BUNDLED_FREETYPE_CMAKE_ARGS}
INSTALL_COMMAND ""
)
set_target_properties(bundled_freetype PROPERTIES FOLDER ${BUNDLED_TARGETS_FOLDER})
add_dependencies(bundled_freetype_int bundled_freetype)
target_include_directories(bundled_freetype_int INTERFACE "${LIBS_DOWNLOAD_SRC_DIR}/freetype/include")
target_include_directories(bundled_freetype_int INTERFACE "${binary_dir}/include/freetype2")
target_link_libraries(bundled_freetype_int INTERFACE ${BUNDLED_FREETYPE_LIBRARIES})
endif()