1
0
mirror of https://github.com/ScrelliCopter/VGM-Tools synced 2025-02-21 04:09:25 +11:00

combine all (except spctools) as subprojects

This commit is contained in:
2023-03-21 14:25:14 +11:00
parent 05008f5c47
commit 9946144995
8 changed files with 50 additions and 53 deletions

12
.gitignore vendored
View File

@@ -1 +1,13 @@
.idea/
**/build/
**/cmake-build-*/
*.exe
*.log
*.wav
neotools/**/*.pcm
neotools/**/*.vgm
neotools/**/*.vgz
.DS_Store

10
CMakeLists.txt Normal file
View File

@@ -0,0 +1,10 @@
cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(VGM-Tools LANGUAGES C)
set(WARNINGS
$<$<C_COMPILER_ID:AppleClang,Clang,GNU>:-Wall -Wextra -pedantic -Wno-unused-parameter>
$<$<C_COMPILER_ID:MSVC>:/Wall /wd4100>)
add_subdirectory(common)
add_subdirectory(dsptools)
add_subdirectory(neotools)

8
common/CMakeLists.txt Normal file
View File

@@ -0,0 +1,8 @@
add_library(headers INTERFACE)
add_library(Common::headers ALIAS headers)
target_include_directories(headers INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
add_library(wave endian.h wave.h wave.c wavefile.c)
add_library(Common::wave ALIAS wave)
target_compile_options(wave PRIVATE ${WARNINGS})
target_link_libraries(wave PUBLIC headers)

View File

@@ -1,18 +1,7 @@
cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(dsptools LANGUAGES C)
set(COMMON "${CMAKE_SOURCE_DIR}/../common")
add_subdirectory(libdsptool)
set(HEADERS ${COMMON}/wave.h ${COMMON}/endian.h)
set(SOURCES ${COMMON}/wavefile.c ${COMMON}/wave.c dspdecode.c)
add_executable(dspdecode ${HEADERS} ${SOURCES})
add_executable(dspdecode dspdecode.c)
set_property(TARGET dspdecode PROPERTY C_STANDARD 99)
target_include_directories(dspdecode PRIVATE ${COMMON})
target_link_libraries(dspdecode DspTool::DspTool)
target_compile_options(dspdecode PRIVATE
$<$<C_COMPILER_ID:AppleClang,Clang,GNU>:-Wall -Wextra -pedantic>
$<$<C_COMPILER_ID:MSVC>:/Wall>)
target_link_libraries(dspdecode Common::wave DspTool::DspTool)
target_compile_options(dspdecode PRIVATE ${WARNINGS})

View File

@@ -1,21 +1,18 @@
cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(DspTool LANGUAGES C)
option(DSPTOOL_BUILD_SHARED_LIBS "Build as a Shared Object or DLL" OFF)
option(BUILD_SHARED_LIBS "Build as a Shared Object or DLL" OFF)
set(HEADERS dsptool.h ${COMMON}/util.h)
set(HEADERS dsptool.h)
set(SOURCES math.c decode.c encode.c)
add_library(DspTool ${HEADERS} ${SOURCES})
if (DSPTOOL_BUILD_SHARED_LIBS)
add_library(DspTool SHARED ${HEADERS} ${SOURCES})
target_compile_definitions(DspTool PRIVATE BUILD_SHARED)
else()
add_library(DspTool STATIC ${HEADERS} ${SOURCES})
target_compile_definitions(DspTool PRIVATE BUILD_STATIC)
endif()
add_library(DspTool::DspTool ALIAS DspTool)
set_property(TARGET DspTool PROPERTY C_STANDARD 99)
target_include_directories(DspTool
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
PRIVATE ${COMMON})
if (BUILD_SHARED_LIBS)
target_compile_definitions(DspTool PRIVATE BUILD_SHARED)
endif()
target_compile_options(DspTool PRIVATE
$<$<C_COMPILER_ID:AppleClang,Clang,GNU>:-Wall -Wextra -pedantic -Wno-unused-parameter>
$<$<C_COMPILER_ID:MSVC>:/Wall /wd4100>)
target_include_directories(DspTool PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_compile_options(DspTool PRIVATE ${WARNINGS})
target_link_libraries(DspTool PRIVATE Common::headers)

View File

@@ -14,7 +14,7 @@ extern "C" {
#if defined( _WIN32 ) || defined( __CYGWIN__ )
# ifdef BUILD_SHARED
# define DLLEXPORT __declspec(dllexport)
# elif defined( WHY_ARE_YOU_USING_THIS_AS_A_DLL )
# elif !defined( BUILD_STATIC )
# define DLLEXPORT __declspec(dllimport)
# else
# define DLLEXPORT

10
neotools/.gitignore vendored
View File

@@ -1,10 +0,0 @@
*.exe
*.vgm
*.vgz
*.log
*.pcm
*.wav
.idea/
build/
cmake-build-*/

View File

@@ -1,20 +1,11 @@
project(neoadpcmtools LANGUAGES C)
cmake_minimum_required(VERSION "3.1" FATAL_ERROR)
set(COMMON "${CMAKE_SOURCE_DIR}/../common")
set(WARNINGS
$<$<C_COMPILER_ID:AppleClang,Clang,GNU>:-Wall -Wextra -pedantic -Wno-unused-parameter>
$<$<C_COMPILER_ID:MSVC>:/Wall /wd4100>)
add_executable(adpcm ${COMMON}/util.h ${COMMON}/wave.h ${COMMON}/wave.c ${COMMON}/wavefile.c adpcm.c)
add_executable(adpcm adpcm.c)
set_property(TARGET adpcm PROPERTY C_STANDARD 99)
target_compile_options(adpcm PRIVATE ${WARNINGS})
target_include_directories(adpcm PRIVATE ${COMMON})
target_link_libraries(adpcm $<$<C_COMPILER_ID:Clang,GNU>:m>)
target_link_libraries(adpcm Common::wave $<$<C_COMPILER_ID:Clang,GNU>:m>)
add_executable(adpcmb ${COMMON}/util.h adpcmb.c)
add_executable(adpcmb adpcmb.c)
target_compile_options(adpcmb PRIVATE ${WARNINGS})
target_include_directories(adpcmb PRIVATE ${COMMON})
target_link_libraries(adpcmb Common::headers)
add_executable(neoadpcmextract autoextract.c neoadpcmextract.c)
set_property(TARGET neoadpcmextract PROPERTY C_STANDARD 99)