Switch to CMake build system
This commit is contained in:
parent
de2520a898
commit
aa94489160
10
.gitignore
vendored
10
.gitignore
vendored
@ -1,6 +1,6 @@
|
|||||||
/bin
|
|
||||||
*~
|
*~
|
||||||
*.o
|
/bin
|
||||||
*.obj
|
/CMakeCache.txt
|
||||||
.scon*
|
/CMakeFiles
|
||||||
|
/Makefile
|
||||||
|
/cmake_install.cmake
|
||||||
|
41
CMakeLists.txt
Normal file
41
CMakeLists.txt
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.1)
|
||||||
|
|
||||||
|
project(MC2MT)
|
||||||
|
|
||||||
|
add_executable(${PROJECT_NAME}
|
||||||
|
"${PROJECT_SOURCE_DIR}/src/main.cpp"
|
||||||
|
"${PROJECT_SOURCE_DIR}/src/convert.cpp"
|
||||||
|
"${PROJECT_SOURCE_DIR}/src/threads.cpp"
|
||||||
|
"${PROJECT_SOURCE_DIR}/src/MCMap.cpp"
|
||||||
|
"${PROJECT_SOURCE_DIR}/src/MTMap.cpp"
|
||||||
|
)
|
||||||
|
|
||||||
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/Modules/")
|
||||||
|
|
||||||
|
add_subdirectory(nbt)
|
||||||
|
|
||||||
|
find_package(Threads REQUIRED)
|
||||||
|
find_package(Boost REQUIRED COMPONENTS "filesystem" "system")
|
||||||
|
find_package(SQLite3 REQUIRED)
|
||||||
|
|
||||||
|
target_link_libraries(${PROJECT_NAME}
|
||||||
|
Threads::Threads
|
||||||
|
"nbt"
|
||||||
|
${ZLIB_LIBRARY}
|
||||||
|
${SQLite3_LIBRARY}
|
||||||
|
${Boost_LIBRARIES}
|
||||||
|
)
|
||||||
|
include_directories(
|
||||||
|
"${NBT_SOURCE_DIR}/src"
|
||||||
|
${ZLIB_INCLUDE_DIRS}
|
||||||
|
${Boost_INCLUDE_DIRS}
|
||||||
|
${SQLite3_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
if (MINGW)
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mthreads")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set_target_properties(${PROJECT_NAME} PROPERTIES
|
||||||
|
COMPILE_FLAGS "-std=c++11 -Wall -Wextra -Wpedantic"
|
||||||
|
RUNTIME_OUTPUT_DIRECTORY "bin")
|
34
SConstruct
34
SConstruct
@ -1,34 +0,0 @@
|
|||||||
import os
|
|
||||||
|
|
||||||
vars = Variables(None, ARGUMENTS)
|
|
||||||
|
|
||||||
vars.AddVariables(
|
|
||||||
BoolVariable("debug", "Make a debug build", False)
|
|
||||||
)
|
|
||||||
|
|
||||||
env = Environment(
|
|
||||||
variables = vars,
|
|
||||||
LIBPATH = ["nbt/bin"],
|
|
||||||
CPPPATH = ["src", "nbt/src"],
|
|
||||||
)
|
|
||||||
|
|
||||||
Help(vars.GenerateHelpText(env))
|
|
||||||
|
|
||||||
env.MergeFlags("--std=c++11 -Wall -Wextra -Wpedantic")
|
|
||||||
if env["debug"]:
|
|
||||||
env.MergeFlags("-O0 -g")
|
|
||||||
else:
|
|
||||||
env.MergeFlags("-O3")
|
|
||||||
|
|
||||||
sources = [
|
|
||||||
"src/main.cpp",
|
|
||||||
"src/convert.cpp",
|
|
||||||
"src/threads.cpp",
|
|
||||||
"src/MCMap.cpp",
|
|
||||||
"src/MTMap.cpp",
|
|
||||||
]
|
|
||||||
|
|
||||||
env.Program("bin/MC2MT", sources,
|
|
||||||
LIBS = ["nbt", "z", "boost_filesystem", "boost_system", "sqlite3", "pthread"]
|
|
||||||
)
|
|
||||||
|
|
9
cmake/Modules/FindSQLite3.cmake
Normal file
9
cmake/Modules/FindSQLite3.cmake
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
mark_as_advanced(SQLite3_LIBRARY SQLite3_INCLUDE_DIR)
|
||||||
|
|
||||||
|
find_path(SQLite3_INCLUDE_DIR "sqlite3.h")
|
||||||
|
|
||||||
|
find_library(SQLite3_LIBRARY NAMES "sqlite3")
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(SQLite3 DEFAULT_MSG SQLite3_LIBRARY SQLite3_INCLUDE_DIR)
|
||||||
|
|
2
nbt
2
nbt
@ -1 +1 @@
|
|||||||
Subproject commit af67491f974f9b8bd7db14f9e4c1141aa98c10c3
|
Subproject commit e390874cf010463bf13366523a03761553cf5663
|
Loading…
x
Reference in New Issue
Block a user