32 lines
863 B
CMake
32 lines
863 B
CMake
cmake_minimum_required(VERSION 3.16)
|
|
|
|
project(cxxLibrary LANGUAGES CXX)
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
|
|
set(SOURCES
|
|
src/tinyxml2.cpp
|
|
)
|
|
|
|
file(GLOB_RECURSE BOOST_SOURCES
|
|
src/boost-src/*.cpp
|
|
src/boost-src/*.hpp
|
|
src/boost-src/*.h
|
|
)
|
|
|
|
add_library(cxxLibrary STATIC ${SOURCES} ${BOOST_SOURCES})
|
|
target_include_directories(cxxLibrary PUBLIC ${CMAKE_CURRENT_LIST_DIR}/include)
|
|
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_SYSTEM_NAME MATCHES "Windows")
|
|
target_link_libraries(cxxLibrary PUBLIC ws2_32 bcrypt ntdll)
|
|
endif()
|
|
target_compile_definitions(cxxLibrary PUBLIC
|
|
BOOST_ALL_NO_LIB
|
|
BOOST_ALL_NO_LIBRARY
|
|
BOOST_FILESYSTEM_NO_CXX20_ATOMIC_REF
|
|
)
|
|
set_target_properties(cxxLibrary PROPERTIES DEBUG_POSTFIX "d"
|
|
# 可选:设置 Release 版本后缀
|
|
# RELEASE_POSTFIX ""
|
|
# RELWITHDEBINFO_POSTFIX "rd"
|
|
# MINSIZEREL_POSTFIX "s"
|
|
)
|