Test out generating a modern find_package config setup for mmesh
This commit is contained in:
+1
-1
@@ -38,7 +38,7 @@
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
|
||||
# Set CMake project name
|
||||
project(MMESH)
|
||||
project(mmesh VERSION 1.0.0 LANGUAGES C)
|
||||
|
||||
include_directories(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/include
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# mmeshConfig.cmake
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/mmeshTargets.cmake")
|
||||
+32
-6
@@ -1,7 +1,3 @@
|
||||
include_directories(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
set(MMESH_SOURCES
|
||||
cc.c
|
||||
meshdecimation.c
|
||||
@@ -11,17 +7,47 @@ set(MMESH_SOURCES
|
||||
mmcore.c
|
||||
mmhash.c
|
||||
mmthread.c
|
||||
)
|
||||
)
|
||||
|
||||
add_library(mmesh SHARED ${MMESH_SOURCES})
|
||||
target_include_directories(
|
||||
mmesh PUBLIC
|
||||
$<INSTALL_INTERFACE:${INCLUDE_DIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>
|
||||
)
|
||||
target_link_libraries(mmesh PRIVATE ${MM_LIBS})
|
||||
set_property(TARGET mmesh APPEND PROPERTY COMPILE_DEFINITIONS "MMESH_DLL_EXPORTS")
|
||||
set_property(TARGET mmesh APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS "MMESH_DLL_IMPORTS")
|
||||
install(TARGETS mmesh
|
||||
EXPORT mmeshTargets
|
||||
RUNTIME DESTINATION ${BIN_DIR}
|
||||
LIBRARY DESTINATION ${LIB_DIR}
|
||||
ARCHIVE DESTINATION ${LIB_DIR}
|
||||
)
|
||||
INCLUDES DESTINATION ${INCLUDE_DIR}
|
||||
)
|
||||
|
||||
# Export the targets to a file
|
||||
install(EXPORT mmeshTargets
|
||||
FILE mmeshTargets.cmake
|
||||
NAMESPACE mmesh::
|
||||
DESTINATION lib/cmake/mmesh
|
||||
)
|
||||
|
||||
# Generate the version file
|
||||
include(CMakePackageConfigHelpers)
|
||||
write_basic_package_version_file(
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/mmeshConfigVersion.cmake"
|
||||
VERSION ${PROJECT_VERSION}
|
||||
COMPATIBILITY AnyNewerVersion
|
||||
)
|
||||
|
||||
# Install the config and version files
|
||||
install(FILES
|
||||
"${PROJECT_SOURCE_DIR}/cmake/mmeshConfig.cmake"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/mmeshConfigVersion.cmake"
|
||||
DESTINATION lib/cmake/mmesh
|
||||
)
|
||||
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
|
||||
Reference in New Issue
Block a user