cmake: move 3rd party targets to cmake script in 3rdparty directory

This commit is contained in:
Anonymous Maarten 2024-06-24 14:36:32 +02:00
parent 6cb0b2fad5
commit 75b8dca0c0
3 changed files with 28 additions and 33 deletions

24
3rdparty/CMakeLists.txt vendored Normal file
View File

@ -0,0 +1,24 @@
add_library(miniaudio STATIC
miniaudio/extras/miniaudio_split/miniaudio.c
)
target_include_directories(miniaudio PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/miniaudio/extras/miniaudio_split")
set_property(TARGET miniaudio PROPERTY ARCHIVE_OUTPUT_NAME "miniaudio$<$<CONFIG:Debug>:d>")
# Disable most features since we don't need them.
target_compile_definitions(miniaudio PUBLIC
MA_ENABLE_ONLY_SPECIFIC_BACKENDS
MA_NO_DECODING
MA_NO_ENCODING
MA_NO_WAV
MA_NO_FLAC
MA_NO_MP3
MA_NO_DEVICE_IO
MA_NO_RESOURCE_MANAGER
MA_NO_GENERATION
MA_NO_THREADING
)
add_library(libsmacker STATIC
libsmacker/smacker.c
)
set_property(TARGET libsmacker PROPERTY ARCHIVE_OUTPUT_NAME "libsmacker$<$<CONFIG:Debug>:d>")
target_include_directories(libsmacker PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/libsmacker")

View File

@ -1,9 +1,6 @@
project(wine_d3drm LANGUAGES C)
enable_language(C)
enable_language(RC)
add_library(d3drm-wine SHARED
add_library(d3drm-wine SHARED EXCLUDE_FROM_ALL
d3drm.c
d3drm_main.c
d3drm_private.h

View File

@ -95,6 +95,8 @@ function(add_cxx_warning WARNING)
endif()
endfunction()
add_subdirectory(3rdparty EXCLUDE_FROM_ALL)
message(STATUS "MSVC for decompilation: ${MSVC_FOR_DECOMP}")
option(ISLE_WERROR "Treat warnings as errors" OFF)
@ -116,34 +118,6 @@ add_subdirectory(3rdparty/d3drm)
add_library(Vec::Vec INTERFACE IMPORTED)
target_include_directories(Vec::Vec INTERFACE "${CMAKE_SOURCE_DIR}/3rdparty/vec")
add_library(libsmacker STATIC
3rdparty/libsmacker/smacker.c
)
register_lego1_target(libsmacker)
set_property(TARGET libsmacker PROPERTY ARCHIVE_OUTPUT_NAME "libsmacker$<$<CONFIG:Debug>:d>")
set_property(TARGET libsmacker PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_SOURCE_DIR}/3rdparty/libsmacker")
target_include_directories(libsmacker PRIVATE "${CMAKE_SOURCE_DIR}/3rdparty/libsmacker")
add_library(miniaudio STATIC
3rdparty/miniaudio/extras/miniaudio_split/miniaudio.c
)
register_lego1_target(miniaudio)
set_property(TARGET miniaudio PROPERTY ARCHIVE_OUTPUT_NAME "miniaudio$<$<CONFIG:Debug>:d>")
set_property(TARGET miniaudio PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_SOURCE_DIR}/3rdparty/miniaudio/extras/miniaudio_split")
target_include_directories(miniaudio PRIVATE "${CMAKE_SOURCE_DIR}/3rdparty/miniaudio/extras/miniaudio_split")
# Disable most features since we don't need them.
target_compile_definitions(miniaudio PUBLIC
MA_ENABLE_ONLY_SPECIFIC_BACKENDS
MA_NO_DECODING
MA_NO_ENCODING
MA_NO_WAV
MA_NO_FLAC
MA_NO_MP3
MA_NO_DEVICE_IO
MA_NO_RESOURCE_MANAGER
MA_NO_GENERATION
MA_NO_THREADING
)
add_library(tglrl STATIC
LEGO1/tgl/d3drm/camera.cpp