Skip to content

Commit e479bd3

Browse files
authored
Merge pull request #4722 from dbs4261/patch-2
CMake only adds cpack related options when the top level project.
2 parents 90ec7c4 + 119e196 commit e479bd3

1 file changed

Lines changed: 45 additions & 44 deletions

File tree

CMakeLists.txt

Lines changed: 45 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -501,51 +501,52 @@ install(FILES
501501
# "make dist" workalike
502502
################################################################################
503503

504-
set(CPACK_SOURCE_GENERATOR "TGZ;ZIP")
505-
set(CPACK_SOURCE_PACKAGE_FILE_NAME "proj-${PROJ_VERSION}")
506-
set(CPACK_PACKAGE_VENDOR "OSGeo")
507-
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJ_VERSION_MAJOR})
508-
set(CPACK_PACKAGE_VERSION_MINOR ${PROJ_VERSION_MINOR})
509-
set(CPACK_PACKAGE_VERSION_PATCH ${PROJ_VERSION_PATCH})
510-
set(CPACK_VERBATIM_VARIABLES TRUE)
511-
set(CPACK_SOURCE_IGNORE_FILES
512-
/\\..* # any file/directory starting with .
513-
/.*\\.yml
514-
/.*\\.gz
515-
/.*\\.zip
516-
/.*build.*/
517-
\\.deps
518-
/autogen\\.sh
519-
/autom4te\\.cache
520-
/CODE_OF_CONDUCT.md
521-
/CONTRIBUTING.md
522-
/disabled_workflows/
523-
/Dockerfile
524-
/docs/
525-
/Doxyfile
526-
/HOWTO-RELEASE.md
527-
/m4/lt*
528-
/m4/libtool*
529-
/media/
530-
/schemas/
531-
/test/fuzzers/
532-
/test/gigs/.*gie\\.failing
533-
/test/postinstall/
534-
/travis/
535-
${PROJECT_BINARY_DIR}
536-
)
537-
538-
include(CPack)
539-
540-
get_property(_is_multi_config_generator GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
541-
if(NOT _is_multi_config_generator)
542-
add_custom_target(dist
543-
COMMAND ${CMAKE_MAKE_PROGRAM} package_source
504+
if(PROJECT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
505+
set(CPACK_SOURCE_GENERATOR "TGZ;ZIP")
506+
set(CPACK_SOURCE_PACKAGE_FILE_NAME "proj-${PROJ_VERSION}")
507+
set(CPACK_PACKAGE_VENDOR "OSGeo")
508+
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJ_VERSION_MAJOR})
509+
set(CPACK_PACKAGE_VERSION_MINOR ${PROJ_VERSION_MINOR})
510+
set(CPACK_PACKAGE_VERSION_PATCH ${PROJ_VERSION_PATCH})
511+
set(CPACK_VERBATIM_VARIABLES TRUE)
512+
set(CPACK_SOURCE_IGNORE_FILES
513+
/\\..* # any file/directory starting with .
514+
/.*\\.yml
515+
/.*\\.gz
516+
/.*\\.zip
517+
/.*build.*/
518+
\\.deps
519+
/autogen\\.sh
520+
/autom4te\\.cache
521+
/CODE_OF_CONDUCT.md
522+
/CONTRIBUTING.md
523+
/disabled_workflows/
524+
/Dockerfile
525+
/docs/
526+
/Doxyfile
527+
/HOWTO-RELEASE.md
528+
/m4/lt*
529+
/m4/libtool*
530+
/media/
531+
/schemas/
532+
/test/fuzzers/
533+
/test/gigs/.*gie\\.failing
534+
/test/postinstall/
535+
/travis/
536+
${PROJECT_BINARY_DIR}
544537
)
545-
message(STATUS "PROJ: Configured 'dist' target")
546-
endif()
538+
include(CPack)
539+
540+
get_property(_is_multi_config_generator GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
541+
if(NOT _is_multi_config_generator)
542+
add_custom_target(dist
543+
COMMAND ${CMAKE_MAKE_PROGRAM} package_source
544+
)
545+
message(STATUS "PROJ: Configured 'dist' target")
546+
endif()
547547

548-
configure_file(cmake/uninstall.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/proj_uninstall.cmake @ONLY)
549-
add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/proj_uninstall.cmake)
548+
configure_file(cmake/uninstall.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/proj_uninstall.cmake @ONLY)
549+
add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/proj_uninstall.cmake)
550+
endif()
550551

551552
message(STATUS "EMBED_RESOURCE_FILES=${EMBED_RESOURCE_FILES}")

0 commit comments

Comments
 (0)