2024-08-15 22:20:51 +08:00
|
|
|
# Create shared library
|
|
|
|
|
add_library(BMap SHARED "")
|
|
|
|
|
# Setup sources
|
|
|
|
|
target_sources(BMap
|
|
|
|
|
PRIVATE
|
2026-01-24 17:30:54 +08:00
|
|
|
BMap/BMap.cpp
|
|
|
|
|
BMap/BMExports.cpp
|
2023-09-25 21:45:53 +08:00
|
|
|
)
|
2024-08-15 22:20:51 +08:00
|
|
|
# Setup headers
|
|
|
|
|
target_sources(BMap
|
2026-01-24 17:30:54 +08:00
|
|
|
PUBLIC
|
2024-08-15 22:20:51 +08:00
|
|
|
FILE_SET HEADERS
|
|
|
|
|
FILES
|
2026-01-24 17:30:54 +08:00
|
|
|
BMap/BMap.hpp
|
|
|
|
|
BMap/BMExports.hpp
|
2023-09-25 21:45:53 +08:00
|
|
|
)
|
2024-08-15 22:20:51 +08:00
|
|
|
# Setup header infomation
|
2023-09-25 21:45:53 +08:00
|
|
|
target_include_directories(BMap
|
2026-01-24 17:30:54 +08:00
|
|
|
PUBLIC
|
|
|
|
|
"$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>"
|
|
|
|
|
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
|
2023-09-25 21:45:53 +08:00
|
|
|
)
|
2024-08-15 22:20:51 +08:00
|
|
|
# Setup linked library infomation
|
|
|
|
|
target_link_libraries(BMap
|
|
|
|
|
PRIVATE
|
|
|
|
|
YYCC::YYCCommonplace
|
|
|
|
|
LibCmo
|
2023-09-25 21:45:53 +08:00
|
|
|
)
|
2024-08-16 22:07:23 +08:00
|
|
|
# Enable export macro
|
2026-01-24 17:13:54 +08:00
|
|
|
target_compile_definitions(BMap
|
2024-08-16 22:07:23 +08:00
|
|
|
PRIVATE
|
|
|
|
|
BMAP_EXPORTING
|
2023-09-25 21:45:53 +08:00
|
|
|
)
|
|
|
|
|
|
2026-01-24 17:30:54 +08:00
|
|
|
# Install binary and headers
|
2024-08-15 22:20:51 +08:00
|
|
|
install(TARGETS BMap
|
2026-01-24 17:30:54 +08:00
|
|
|
EXPORT BMapTargets
|
|
|
|
|
LIBRARY DESTINATION ${NEMO_INSTALL_LIB_PATH}
|
|
|
|
|
ARCHIVE DESTINATION ${NEMO_INSTALL_LIB_PATH}
|
|
|
|
|
INCLUDES DESTINATION ${NEMO_INSTALL_INCLUDE_PATH}
|
|
|
|
|
FILE_SET HEADERS DESTINATION ${NEMO_INSTALL_INCLUDE_PATH}
|
|
|
|
|
)
|
|
|
|
|
# Install target
|
|
|
|
|
install(EXPORT BMapTargets
|
|
|
|
|
FILE BMapTargets.cmake
|
|
|
|
|
NAMESPACE NeMo::
|
|
|
|
|
DESTINATION ${NEMO_INSTALL_LIB_PATH}/cmake/BMap
|
|
|
|
|
)
|
|
|
|
|
# Package configuration file
|
|
|
|
|
write_basic_package_version_file(
|
|
|
|
|
BMapConfigVersion.cmake
|
|
|
|
|
VERSION ${PACKAGE_VERSION}
|
|
|
|
|
COMPATIBILITY SameMinorVersion
|
|
|
|
|
)
|
|
|
|
|
configure_package_config_file(
|
|
|
|
|
${CMAKE_CURRENT_LIST_DIR}/../CMake/BMapConfig.cmake.in
|
|
|
|
|
"${CMAKE_CURRENT_BINARY_DIR}/BMapConfig.cmake"
|
|
|
|
|
INSTALL_DESTINATION ${NEMO_INSTALL_LIB_PATH}/cmake/BMap
|
|
|
|
|
)
|
|
|
|
|
# Copy package files to install destination
|
|
|
|
|
install(
|
|
|
|
|
FILES
|
|
|
|
|
"${CMAKE_CURRENT_BINARY_DIR}/BMapConfig.cmake"
|
|
|
|
|
"${CMAKE_CURRENT_BINARY_DIR}/BMapConfigVersion.cmake"
|
|
|
|
|
DESTINATION
|
|
|
|
|
${NEMO_INSTALL_LIB_PATH}/cmake/BMap
|
2024-08-15 22:20:51 +08:00
|
|
|
)
|