1
0
Files
BasaltMeter/BasaltPresenter/Shared/CMakeLists.txt
2026-01-09 22:50:24 +08:00

69 lines
1.8 KiB
CMake

add_library(BasaltShared STATIC "")
target_sources(BasaltShared
PRIVATE
# Sources
basalt/pipe_operator.cpp
basalt/math.cpp
basalt/engine.cpp
basalt/deliver.cpp
basalt/object_loader.cpp
basalt/anime_loader.cpp
)
target_sources(BasaltShared
PUBLIC
FILE_SET HEADERS
FILES
# Headers
basalt/char_types.hpp
basalt/export_macro.hpp
basalt/pipe_operator.hpp
basalt/math.hpp
basalt/guid.hpp
basalt/engine.hpp
basalt/deliver.hpp
basalt/object_loader.hpp
basalt/anime_loader.hpp
)
target_include_directories(BasaltShared
PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>"
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
)
target_link_libraries(BasaltShared
PUBLIC
spdlog::spdlog
)
target_compile_definitions(BasaltShared
PUBLIC
$<$<PLATFORM_ID:Windows>:BASALT_OS_WINDOWS>
$<$<NOT:$<PLATFORM_ID:Windows>>:BASALT_OS_POSIX>
PUBLIC
# Use Unicode charset on MSVC
$<$<CXX_COMPILER_ID:MSVC>:UNICODE>
$<$<CXX_COMPILER_ID:MSVC>:_UNICODE>
# Fix MSVC shit
$<$<CXX_COMPILER_ID:MSVC>:_CRT_SECURE_NO_WARNINGS>
$<$<CXX_COMPILER_ID:MSVC>:_CRT_SECURE_NO_DEPRECATE>
$<$<CXX_COMPILER_ID:MSVC>:_CRT_NONSTDC_NO_WARNINGS>
$<$<CXX_COMPILER_ID:MSVC>:_CRT_NONSTDC_NO_DEPRECATE>
# Fix Windows header file shit
$<$<BOOL:${WIN32}>:WIN32_LEAN_AND_MEAN>
$<$<BOOL:${WIN32}>:NOMINMAX>
)
target_compile_options(BasaltShared
PUBLIC
$<$<CXX_COMPILER_ID:MSVC>:/utf-8>
$<$<CXX_COMPILER_ID:MSVC>:/Zc:preprocessor>
$<$<CXX_COMPILER_ID:MSVC>:/Zc:__cplusplus>
)
install(TARGETS BasaltShared
EXPORT BasaltSharedTargets
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
FILE_SET HEADERS DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)