From 75b8dca0c072ddb8fb8121ef07aff5b194a5cc72 Mon Sep 17 00:00:00 2001 From: Anonymous Maarten Date: Mon, 24 Jun 2024 14:36:32 +0200 Subject: [PATCH] cmake: move 3rd party targets to cmake script in 3rdparty directory --- 3rdparty/CMakeLists.txt | 24 ++++++++++++++++++++++++ 3rdparty/d3drm/CMakeLists.txt | 7 ++----- CMakeLists.txt | 30 ++---------------------------- 3 files changed, 28 insertions(+), 33 deletions(-) create mode 100644 3rdparty/CMakeLists.txt diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt new file mode 100644 index 00000000..5decab28 --- /dev/null +++ b/3rdparty/CMakeLists.txt @@ -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$<$: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$<$:d>") +target_include_directories(libsmacker PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/libsmacker") diff --git a/3rdparty/d3drm/CMakeLists.txt b/3rdparty/d3drm/CMakeLists.txt index 0092e53e..8d2c73ce 100644 --- a/3rdparty/d3drm/CMakeLists.txt +++ b/3rdparty/d3drm/CMakeLists.txt @@ -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 diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b0074cd..ac423663 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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$<$: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$<$: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