chore: change build script to make BMap can be used by CMake
- change script for installing BMap like LibCmo although no one will use it. - move package install command into respective cmake script. - change BMap project layout
This commit is contained in:
@@ -3,21 +3,22 @@ add_library(BMap SHARED "")
|
||||
# Setup sources
|
||||
target_sources(BMap
|
||||
PRIVATE
|
||||
BMap.cpp
|
||||
BMExports.cpp
|
||||
BMap/BMap.cpp
|
||||
BMap/BMExports.cpp
|
||||
)
|
||||
# Setup headers
|
||||
target_sources(BMap
|
||||
PRIVATE
|
||||
PUBLIC
|
||||
FILE_SET HEADERS
|
||||
FILES
|
||||
BMap.hpp
|
||||
BMExports.hpp
|
||||
BMap/BMap.hpp
|
||||
BMap/BMExports.hpp
|
||||
)
|
||||
# Setup header infomation
|
||||
target_include_directories(BMap
|
||||
PRIVATE
|
||||
"${CMAKE_CURRENT_LIST_DIR}"
|
||||
PUBLIC
|
||||
"$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>"
|
||||
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
|
||||
)
|
||||
# Setup linked library infomation
|
||||
target_link_libraries(BMap
|
||||
@@ -31,7 +32,36 @@ PRIVATE
|
||||
BMAP_EXPORTING
|
||||
)
|
||||
|
||||
# Install BMap
|
||||
# Install binary and headers
|
||||
install(TARGETS BMap
|
||||
RUNTIME DESTINATION ${NEMO_INSTALL_BIN_PATH}
|
||||
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
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user