2023-03-01 10:48:50 +08:00
|
|
|
cmake_minimum_required(VERSION 3.12)
|
|
|
|
project(LibCmo LANGUAGES CXX)
|
|
|
|
|
|
|
|
# find packages
|
|
|
|
find_package(ZLIB REQUIRED)
|
|
|
|
find_package(Iconv REQUIRED)
|
|
|
|
|
|
|
|
# set standard
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
|
|
|
|
|
|
set(libcmo_headers ".")
|
2023-08-31 10:20:10 +08:00
|
|
|
|
|
|
|
set(libcmo_vt_src
|
2023-03-01 10:48:50 +08:00
|
|
|
VTUtils.cpp
|
2023-08-31 10:20:10 +08:00
|
|
|
VTEncoding.cpp
|
|
|
|
)
|
|
|
|
set(libcmo_ck2_src
|
|
|
|
CK2/CKContext.cpp
|
|
|
|
CK2/CKFileOthers.cpp
|
|
|
|
CK2/CKFileReader.cpp
|
|
|
|
CK2/CKFileWriter.cpp
|
|
|
|
CK2/CKGlobals.cpp
|
|
|
|
CK2/CKStateChunk.cpp
|
|
|
|
)
|
|
|
|
set(libcmo_ck2_mgr_src
|
|
|
|
CK2/MgrImpls/CKBaseManager.cpp
|
|
|
|
)
|
|
|
|
set(libcmo_ck2_obj_src
|
|
|
|
CK2/ObjImpls/CKObject.cpp
|
2023-03-01 10:48:50 +08:00
|
|
|
)
|
2023-08-31 10:20:10 +08:00
|
|
|
set(libcmo_vxmath_src
|
|
|
|
VxMath/VxMemoryMappedFile.cpp
|
2023-03-01 10:48:50 +08:00
|
|
|
)
|
2023-08-31 10:20:10 +08:00
|
|
|
set(libcmo_xcontainer_src
|
2023-03-01 10:48:50 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
# create static library
|
|
|
|
add_library(LibCmo
|
|
|
|
STATIC
|
2023-08-31 10:20:10 +08:00
|
|
|
${libcmo_vt_src}
|
|
|
|
${libcmo_ck2_src}
|
|
|
|
${libcmo_ck2_mgr_src}
|
|
|
|
${libcmo_ck2_obj_src}
|
|
|
|
${libcmo_vxmath_src}
|
|
|
|
${libcmo_xcontainer_src}
|
2023-03-01 10:48:50 +08:00
|
|
|
)
|
|
|
|
target_link_libraries(LibCmo
|
|
|
|
PRIVATE
|
|
|
|
${ZLIB_LIBRARIES}
|
|
|
|
${Iconv_LIBRARIES}
|
|
|
|
)
|
|
|
|
target_include_directories(LibCmo
|
|
|
|
PUBLIC
|
|
|
|
${libcmo_headers}
|
|
|
|
PRIVATE
|
|
|
|
${ZLIB_INCLUDE_DIRS}
|
|
|
|
${Iconv_INCLUDE_DIRS}
|
|
|
|
)
|
|
|
|
|