refactor: use CMake for build

Co-authored-by: TaurusXin <i@taurusxin.com>
This commit is contained in:
overwriter
2024-02-07 21:54:56 +08:00
committed by TaurusXin
co-authored by TaurusXin
parent e99f111472
commit b029725c98
115 changed files with 49 additions and 19260 deletions
+39
View File
@@ -0,0 +1,39 @@
cmake_minimum_required(VERSION 3.14)
project(ncmdump LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_BUILD_TYPE Release)
option(BUILD_WIN32_STATIC "Build the program statically on Windows" ON)
FILE(GLOB HEADERS ./*.h)
FILE(GLOB SOURCES ./*.cpp)
add_executable(ncmdump
${HEADERS}
${SOURCES}
)
add_subdirectory(taglib)
target_link_libraries(ncmdump tag)
target_include_directories(ncmdump PRIVATE taglib)
target_include_directories(ncmdump PRIVATE taglib/taglib)
target_include_directories(ncmdump PRIVATE taglib/taglib/toolkit)
target_include_directories(ncmdump PRIVATE taglib/taglib/mpeg/id3v2)
if(WIN32)
if(CMAKE_COMPILER_IS_GNUCXX)
target_link_options(ncmdump PRIVATE -O2 -municode)
if(BUILD_WIN32_STATIC)
target_link_options(ncmdump PRIVATE -static)
endif()
endif()
endif()
include(GNUInstallDirs)
install(TARGETS ncmdump
BUNDLE DESTINATION .
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)