Squashed commit of the following:
- add submodule update scripts
- remove auto-setup scripts, they don't work anymore
- copy zmusic.dll into build folder (this may need to be also done on Linux sometime)
mirror changes from commit '194fb9e' at https://github.com/dpjudas/vkdoom
- fix for case sensitive systems
This commit is contained in:
parent
054baa3b5e
commit
34c2d4f917
8 changed files with 15 additions and 326 deletions
|
|
@ -408,7 +408,7 @@ if( ZMUSIC_FOUND AND NOT FORCE_INTERNAL_ZMUSIC )
|
|||
message( STATUS "Using system zmusic library, includes found at ${ZMUSIC_INCLUDE_DIR}" )
|
||||
else()
|
||||
message( STATUS "Using internal zmusic library" )
|
||||
add_subdirectory( libraries/zmusic )
|
||||
add_subdirectory( libraries/ZMusic )
|
||||
set( ZMUSIC_ROOT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/libraries/zmusic" )
|
||||
set( ZMUSIC_INCLUDE_DIR ${ZMUSIC_ROOT_PATH}/include )
|
||||
set( ZMUSIC_LIBRARIES zmusic )
|
||||
|
|
|
|||
|
|
@ -1,104 +0,0 @@
|
|||
#!/bin/bash
|
||||
#**
|
||||
#** auto-setup-linux.sh
|
||||
#** Automatic (easy) setup and build script for Linux
|
||||
#**
|
||||
#** Note that this script assumes you have both 'git' and 'cmake' installed properly and in your PATH!
|
||||
#** This script also assumes you have installed a build system that cmake can automatically detect.
|
||||
#** Such as GCC or Clang. Requires appropriate supporting libraries installed too!
|
||||
#** Without these items, this script will FAIL! So make sure you have your build environment properly
|
||||
#** set up in order for this script to succeed.
|
||||
#**
|
||||
#** The purpose of this script is to get someone easily going with a full working compile of GZDoom.
|
||||
#** This allows anyone to make simple changes or tweaks to the engine as they see fit and easily
|
||||
#** compile their own copy without having to follow complex instructions to get it working.
|
||||
#** Every build environment is different, and every computer system is different - this should work
|
||||
#** in most typical systems under Windows but it may fail under certain types of systems or conditions.
|
||||
#** Not guaranteed to work and your mileage will vary.
|
||||
#**
|
||||
#** Prerequisite Packages used in testing (from Linux Mint-XFCE):
|
||||
#** nasm autoconf libtool libsystemd-dev clang-15 libx11-dev libsdl2-dev libgtk-3-dev
|
||||
#**
|
||||
#**---------------------------------------------------------------------------
|
||||
#** Copyright 2024 Rachael Alexanderson and the GZDoom team
|
||||
#** All rights reserved.
|
||||
#**
|
||||
#** 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.
|
||||
#** 3. The name of the author may not be used to endorse or promote products
|
||||
#** derived from this software without specific prior written permission.
|
||||
#**
|
||||
#** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
#** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
#** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
#** IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
#** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
#** NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
#** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
#** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
#** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
#** THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#**---------------------------------------------------------------------------
|
||||
#**
|
||||
|
||||
# -- Always operate within the build folder
|
||||
BUILDFOLDER=$(dirname "$0")/build
|
||||
|
||||
if [ ! -d "$BUILDFOLDER" ]; then
|
||||
mkdir "$BUILDFOLDER"
|
||||
fi
|
||||
cd "$BUILDFOLDER"
|
||||
|
||||
if [ -d "vcpkg" ]; then
|
||||
git -C ./vcpkg pull
|
||||
fi
|
||||
if [ ! -d "vcpkg" ]; then
|
||||
git clone https://github.com/microsoft/vcpkg
|
||||
fi
|
||||
if [ -d "zmusic" ]; then
|
||||
git -C ./zmusic fetch
|
||||
fi
|
||||
if [ ! -d "zmusic" ]; then
|
||||
git clone https://github.com/zdoom/zmusic
|
||||
fi
|
||||
if [ -d "zmusic" ]; then
|
||||
git -C ./zmusic checkout 1.1.12
|
||||
fi
|
||||
|
||||
if [ ! -d "zmusic/build" ]; then
|
||||
mkdir zmusic/build
|
||||
fi
|
||||
if [ ! -d "vcpkg_installed" ]; then
|
||||
mkdir vcpkg_installed
|
||||
fi
|
||||
|
||||
cmake -S ./zmusic -B ./zmusic/build \
|
||||
-DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake \
|
||||
-DVCPKG_LIBSNDFILE=1 \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DVCPKG_INSTALLLED_DIR=../vcpkg_installed/
|
||||
pushd ./zmusic/build
|
||||
make -j $(nproc)
|
||||
popd
|
||||
|
||||
cmake -S .. -B . \
|
||||
-DCMAKE_TOOLCHAIN_FILE=./vcpkg/scripts/buildsystems/vcpkg.cmake \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DVCPKG_INSTALLLED_DIR=./vcpkg_installed/
|
||||
make -j $(nproc); rc=$?
|
||||
|
||||
# -- If successful, show the build
|
||||
if [ $rc -eq 0 ]; then
|
||||
if [ -f gzdoom ]; then
|
||||
xdg-open .
|
||||
fi
|
||||
fi
|
||||
|
||||
exit $rc
|
||||
|
|
@ -1,89 +0,0 @@
|
|||
@echo off
|
||||
goto aftercopyright
|
||||
|
||||
**
|
||||
** auto-setup-windows-arm.cmd
|
||||
** Automatic (easy) setup and build script for Windows ARM (cross compiling on x64) - please have a
|
||||
** build of x64 in your build folder ready before executing this script!
|
||||
**
|
||||
** Note that this script assumes you have both 'git' and 'cmake' installed properly and in your PATH!
|
||||
** This script also assumes you have installed a build system that cmake can automatically detect.
|
||||
** Such as Visual Studio Community. Requires appropriate SDK installed too!
|
||||
** Without these items, this script will FAIL! So make sure you have your build environment properly
|
||||
** set up in order for this script to succeed.
|
||||
**
|
||||
** The purpose of this script is to get someone easily going with a full working compile of GZDoom.
|
||||
** This allows anyone to make simple changes or tweaks to the engine as they see fit and easily
|
||||
** compile their own copy without having to follow complex instructions to get it working.
|
||||
** Every build environment is different, and every computer system is different - this should work
|
||||
** in most typical systems under Windows but it may fail under certain types of systems or conditions.
|
||||
** Not guaranteed to work and your mileage will vary.
|
||||
**
|
||||
**---------------------------------------------------------------------------
|
||||
** Copyright 2024 Rachael Alexanderson and the GZDoom team
|
||||
** All rights reserved.
|
||||
**
|
||||
** 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.
|
||||
** 3. The name of the author may not be used to endorse or promote products
|
||||
** derived from this software without specific prior written permission.
|
||||
**
|
||||
** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
** IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
** NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
** THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
**---------------------------------------------------------------------------
|
||||
**
|
||||
|
||||
:aftercopyright
|
||||
|
||||
|
||||
setlocal
|
||||
rem -- Always operate within the build-arm folder
|
||||
if not exist "%~dp0\build-arm" mkdir "%~dp0\build-arm"
|
||||
pushd "%~dp0\build-arm"
|
||||
|
||||
if exist ..\build\vcpkg if exist ..\build\vcpkg\* git -C ../build/vcpkg pull
|
||||
if not exist ..\build\vcpkg goto :nobuild
|
||||
|
||||
if exist zmusic if exist zmusic\* git -C ./zmusic pull
|
||||
if not exist zmusic git clone https://github.com/zdoom/zmusic
|
||||
|
||||
mkdir "%~dp0\build-arm\zmusic\build"
|
||||
mkdir "%~dp0\build-arm\vcpkg_installed"
|
||||
|
||||
cmake -A ARM64 -S ./zmusic -B ./zmusic/build ^
|
||||
-DCMAKE_TOOLCHAIN_FILE=../../build/vcpkg/scripts/buildsystems/vcpkg.cmake ^
|
||||
-DVCPKG_LIBSNDFILE=1 ^
|
||||
-DVCPKG_INSTALLLED_DIR=../vcpkg_installed/ ^
|
||||
-DCMAKE_CROSSCOMPILING=TRUE
|
||||
cmake --build ./zmusic/build --config Release -- -maxcpucount -verbosity:minimal
|
||||
|
||||
cmake -A ARM64 -S .. -B . ^
|
||||
-DCMAKE_TOOLCHAIN_FILE=../build/vcpkg/scripts/buildsystems/vcpkg.cmake ^
|
||||
-DZMUSIC_INCLUDE_DIR=./zmusic/include ^
|
||||
-DZMUSIC_LIBRARIES=./zmusic/build/source/Release/zmusic.lib ^
|
||||
-DVCPKG_INSTALLLED_DIR=./vcpkg_installed/ ^
|
||||
-DFORCE_CROSSCOMPILE=TRUE ^
|
||||
-DIMPORT_EXECUTABLES=../build/ImportExecutables.cmake
|
||||
cmake --build . --config RelWithDebInfo -- -maxcpucount -verbosity:minimal
|
||||
|
||||
rem -- If successful, show the build
|
||||
if exist RelWithDebInfo\gzdoom.exe explorer.exe RelWithDebInfo
|
||||
|
||||
goto :eof
|
||||
:nobuild
|
||||
echo Please use auto-setup-windows.cmd to create an x64 build first!
|
||||
|
|
@ -1,82 +0,0 @@
|
|||
@echo off
|
||||
goto aftercopyright
|
||||
|
||||
**
|
||||
** auto-setup-windows.cmd
|
||||
** Automatic (easy) setup and build script for Windows
|
||||
**
|
||||
** Note that this script assumes you have both 'git' and 'cmake' installed properly and in your PATH!
|
||||
** This script also assumes you have installed a build system that cmake can automatically detect.
|
||||
** Such as Visual Studio Community. Requires appropriate SDK installed too!
|
||||
** Without these items, this script will FAIL! So make sure you have your build environment properly
|
||||
** set up in order for this script to succeed.
|
||||
**
|
||||
** The purpose of this script is to get someone easily going with a full working compile of GZDoom.
|
||||
** This allows anyone to make simple changes or tweaks to the engine as they see fit and easily
|
||||
** compile their own copy without having to follow complex instructions to get it working.
|
||||
** Every build environment is different, and every computer system is different - this should work
|
||||
** in most typical systems under Windows but it may fail under certain types of systems or conditions.
|
||||
** Not guaranteed to work and your mileage will vary.
|
||||
**
|
||||
**---------------------------------------------------------------------------
|
||||
** Copyright 2023-2024 Rachael Alexanderson and the GZDoom team
|
||||
** All rights reserved.
|
||||
**
|
||||
** 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.
|
||||
** 3. The name of the author may not be used to endorse or promote products
|
||||
** derived from this software without specific prior written permission.
|
||||
**
|
||||
** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
** IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
** NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
** THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
**---------------------------------------------------------------------------
|
||||
**
|
||||
|
||||
:aftercopyright
|
||||
|
||||
setlocal enableextensions
|
||||
|
||||
rem -- Always operate within the build folder
|
||||
if not exist "%~dp0\build" mkdir "%~dp0\build"
|
||||
pushd "%~dp0\build"
|
||||
|
||||
if exist vcpkg if exist vcpkg\* git -C ./vcpkg pull
|
||||
if not exist vcpkg git clone https://github.com/microsoft/vcpkg
|
||||
|
||||
if exist zmusic if exist vcpkg\* git -C ./zmusic pull
|
||||
if not exist zmusic git clone https://github.com/zdoom/zmusic
|
||||
|
||||
if not exist "%~dp0\build\zmusic\build" mkdir "%~dp0\build\zmusic\build"
|
||||
if not exist "%~dp0\build\vcpkg_installed" mkdir "%~dp0\build\vcpkg_installed"
|
||||
|
||||
cmake -A x64 -S ./zmusic -B ./zmusic/build ^
|
||||
-DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake ^
|
||||
-DVCPKG_LIBSNDFILE=1 ^
|
||||
-DVCPKG_INSTALLLED_DIR=../vcpkg_installed/
|
||||
cmake --build ./zmusic/build --config Release -- -maxcpucount -verbosity:minimal
|
||||
|
||||
cmake -A x64 -S .. -B . ^
|
||||
-DCMAKE_TOOLCHAIN_FILE=./vcpkg/scripts/buildsystems/vcpkg.cmake ^
|
||||
-DZMUSIC_INCLUDE_DIR=./zmusic/include ^
|
||||
-DZMUSIC_LIBRARIES=./zmusic/build/source/Release/zmusic.lib ^
|
||||
-DVCPKG_INSTALLLED_DIR=./vcpkg_installed/
|
||||
cmake --build . --config RelWithDebInfo -- -maxcpucount -verbosity:minimal
|
||||
|
||||
rem -- If successful, show the build
|
||||
if not errorlevel 1 if exist RelWithDebInfo\gzdoom.exe explorer.exe RelWithDebInfo
|
||||
|
||||
|
|
@ -242,12 +242,6 @@ else()
|
|||
endif()
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
set(CXX_WARNING_FLAGS /W3)
|
||||
else()
|
||||
set(CXX_WARNING_FLAGS -Wall -Wpedantic)
|
||||
endif()
|
||||
|
||||
add_library(zwidget STATIC ${ZWIDGET_SOURCES} ${ZWIDGET_INCLUDES})
|
||||
target_compile_options(zwidget PRIVATE ${ZWIDGET_COMPILE_OPTIONS})
|
||||
target_compile_definitions(zwidget PRIVATE ${ZWIDGET_DEFINES})
|
||||
|
|
@ -255,51 +249,7 @@ target_include_directories(zwidget PRIVATE ${ZWIDGET_INCLUDE_DIRS})
|
|||
target_link_options(zwidget PRIVATE ${ZWIDGET_LINK_OPTIONS})
|
||||
target_link_libraries(zwidget ${ZWIDGET_LIBS})
|
||||
set_target_properties(zwidget PROPERTIES CXX_STANDARD 17)
|
||||
target_compile_options(zwidget PRIVATE ${CXX_WARNING_FLAGS})
|
||||
|
||||
if(MSVC)
|
||||
set_property(TARGET zwidget PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||
endif()
|
||||
|
||||
option(ZWIDGET_BUILD_EXAMPLE "Build the zwidget example application" ON)
|
||||
|
||||
if(ZWIDGET_BUILD_EXAMPLE)
|
||||
if (UNIX AND NOT APPLE)
|
||||
find_package(SDL2 REQUIRED)
|
||||
endif()
|
||||
|
||||
add_executable(zwidget_example WIN32
|
||||
example/example.cpp
|
||||
example/picopng.cpp
|
||||
example/picopng.h
|
||||
)
|
||||
target_compile_options(zwidget_example PRIVATE ${CXX_WARNING_FLAGS})
|
||||
|
||||
add_custom_command(
|
||||
TARGET zwidget_example POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/example/banner.png"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/banner.png"
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/example/OpenSans.ttf"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/OpenSans.ttf"
|
||||
)
|
||||
|
||||
target_include_directories(zwidget_example PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/example)
|
||||
target_link_libraries(zwidget_example PRIVATE zwidget)
|
||||
|
||||
if(WIN32)
|
||||
target_compile_definitions(zwidget_example PRIVATE UNICODE _UNICODE)
|
||||
target_link_libraries(zwidget_example PRIVATE gdi32 user32 shell32 comdlg32)
|
||||
elseif(APPLE)
|
||||
target_link_libraries(zwidget_example PRIVATE "-framework Cocoa -framework OpenGL")
|
||||
else()
|
||||
target_link_libraries(zwidget_example PRIVATE ${ZWIDGET_LIBS} SDL2::SDL2)
|
||||
endif()
|
||||
|
||||
set_target_properties(zwidget_example PROPERTIES CXX_STANDARD 17)
|
||||
|
||||
if(MSVC)
|
||||
set_property(TARGET zwidget_example PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -1416,6 +1416,14 @@ add_custom_command(TARGET zdoom POST_BUILD
|
|||
${CMAKE_SOURCE_DIR}/fm_banks/gs-by-papiezak-and-sneakernets.wopn $<TARGET_FILE_DIR:zdoom>/fm_banks/gs-by-papiezak-and-sneakernets.wopn
|
||||
)
|
||||
|
||||
if ( NOT APPLE )
|
||||
# bring zmusic in
|
||||
add_custom_command(TARGET zdoom POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:zmusic> $<TARGET_FILE_DIR:zdoom>
|
||||
DEPENDS zmusic )
|
||||
endif()
|
||||
|
||||
|
||||
if (VCPKG_TOOLCHAIN)
|
||||
x_vcpkg_install_local_dependencies(TARGETS zdoom DESTINATION ".")
|
||||
endif()
|
||||
|
|
|
|||
3
update-subtrees.cmd
Normal file
3
update-subtrees.cmd
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
@echo off
|
||||
git subtree pull --prefix=libraries/ZWidget https://github.com/dpjudas/ZWidget master --squash
|
||||
git subtree pull --prefix=libraries/ZMusic https://github.com/ZDoom/ZMusic master --squash
|
||||
3
update-subtrees.sh
Executable file
3
update-subtrees.sh
Executable file
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
git subtree pull --prefix=libraries/ZWidget https://github.com/dpjudas/ZWidget master --squash
|
||||
git subtree pull --prefix=libraries/ZMusic https://github.com/ZDoom/ZMusic master --squash
|
||||
Loading…
Add table
Add a link
Reference in a new issue