2025-11-27 14:15:20 +08:00
|
|
|
add_library(BasaltShared STATIC "")
|
|
|
|
|
target_sources(BasaltShared
|
|
|
|
|
PRIVATE
|
2026-01-04 16:12:36 +08:00
|
|
|
# Sources
|
2026-01-06 16:27:19 +08:00
|
|
|
basalt/pipe_operator.cpp
|
|
|
|
|
basalt/kernel.cpp
|
|
|
|
|
basalt/math.cpp
|
2026-01-05 16:51:58 +08:00
|
|
|
|
2025-11-27 14:15:20 +08:00
|
|
|
)
|
|
|
|
|
target_sources(BasaltShared
|
|
|
|
|
PUBLIC
|
|
|
|
|
FILE_SET HEADERS
|
|
|
|
|
FILES
|
|
|
|
|
# Headers
|
2026-01-06 16:27:19 +08:00
|
|
|
basalt/char_types.hpp
|
|
|
|
|
basalt/export_macro.hpp
|
|
|
|
|
basalt/pipe_operator.hpp
|
|
|
|
|
basalt/kernel.hpp
|
|
|
|
|
basalt/math.hpp
|
2025-11-27 14:15:20 +08:00
|
|
|
)
|
|
|
|
|
target_include_directories(BasaltShared
|
|
|
|
|
PUBLIC
|
|
|
|
|
"$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>"
|
|
|
|
|
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
|
|
|
|
|
)
|
|
|
|
|
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}
|
|
|
|
|
)
|