71 lines
2.3 KiB
CMake
71 lines
2.3 KiB
CMake
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "igraph library")
|
|
set(CPACK_PACKAGE_HOMEPAGE_URL "https://igraph.org")
|
|
set(CPACK_PACKAGE_VENDOR "The igraph development team")
|
|
|
|
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")
|
|
|
|
if(TARGET html AND TARGET info)
|
|
# Alias "dist" to "package_source"
|
|
add_custom_target(dist
|
|
COMMAND "${CMAKE_COMMAND}"
|
|
--build "${CMAKE_BINARY_DIR}"
|
|
--target package_source
|
|
VERBATIM
|
|
USES_TERMINAL
|
|
)
|
|
|
|
# Add dependencies to "dist"
|
|
add_dependencies(dist html info)
|
|
else()
|
|
add_custom_target(dist
|
|
COMMAND "${CMAKE_COMMAND}" -E false
|
|
COMMENT
|
|
"Cannot build source tarball since the HTML or the Texinfo documentation was not built."
|
|
VERBATIM
|
|
USES_TERMINAL
|
|
)
|
|
endif()
|
|
|
|
#############################################################################
|
|
## Configuration of the source package
|
|
#############################################################################
|
|
|
|
# Set source package name and format
|
|
set(CPACK_SOURCE_PACKAGE_FILE_NAME "igraph-${PACKAGE_VERSION}")
|
|
set(CPACK_SOURCE_GENERATOR "TGZ")
|
|
|
|
# Declare what to include in the source tarball. Unfortunately we can only
|
|
# declare full directories here, not individual files.
|
|
set(
|
|
CPACK_SOURCE_INSTALLED_DIRECTORIES
|
|
"${CMAKE_SOURCE_DIR}/doc;/doc"
|
|
"${CMAKE_SOURCE_DIR}/etc/cmake;/etc/cmake"
|
|
"${CMAKE_SOURCE_DIR}/examples;/examples"
|
|
"${CMAKE_SOURCE_DIR}/include;/include"
|
|
"${CMAKE_SOURCE_DIR}/interfaces;/interfaces"
|
|
"${CMAKE_SOURCE_DIR}/msvc/include;/msvc/include"
|
|
"${CMAKE_SOURCE_DIR}/src;/src"
|
|
"${CMAKE_SOURCE_DIR}/tests;/tests"
|
|
"${CMAKE_SOURCE_DIR}/vendor;/vendor"
|
|
)
|
|
|
|
# CPack is pretty dumb as it can only copy full directories (sans the ignored
|
|
# files) to the target tarball by default. In some cases it is easier to
|
|
# whitelist files to be copied; we use CPACK_INSTALL_SCRIPT for that.
|
|
set(CPACK_INSTALL_SCRIPT "${CMAKE_SOURCE_DIR}/etc/cmake/cpack_install_script.cmake")
|
|
|
|
# Ignore the build and all hidden folders
|
|
set(
|
|
CPACK_SOURCE_IGNORE_FILES
|
|
"\\\\..*/"
|
|
"\\\\.l$"
|
|
"\\\\.y$"
|
|
"${CMAKE_SOURCE_DIR}/build"
|
|
)
|
|
|
|
#############################################################################
|
|
## Now we can include CPack
|
|
#############################################################################
|
|
|
|
include(CPack)
|