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:
12
.gitignore
vendored
12
.gitignore
vendored
@@ -1 +1,13 @@
|
||||
.idea/
|
||||
**/build/
|
||||
**/cmake-build-*/
|
||||
|
||||
*.exe
|
||||
*.log
|
||||
*.wav
|
||||
|
||||
neotools/**/*.pcm
|
||||
neotools/**/*.vgm
|
||||
neotools/**/*.vgz
|
||||
|
||||
.DS_Store
|
||||
|
||||
10
CMakeLists.txt
Normal file
10
CMakeLists.txt
Normal 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
8
common/CMakeLists.txt
Normal 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)
|
||||
@@ -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})
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
10
neotools/.gitignore
vendored
@@ -1,10 +0,0 @@
|
||||
*.exe
|
||||
*.vgm
|
||||
*.vgz
|
||||
*.log
|
||||
*.pcm
|
||||
*.wav
|
||||
|
||||
.idea/
|
||||
build/
|
||||
cmake-build-*/
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user