cmake: honor CURL_DISABLE_INSTALL and CURL_ENABLE_EXPORT_TARGET in lib and src

Based on existing code and commit history it appears
`CURL_DISABLE_INSTALL` means to prevent calling `install()`;
`CURL_ENABLE_EXPORT_TARGET` means to prevent calling `export()` and
`install()`s with `EXPORT` in them.

Fix them to also apply to the lib and src directories in that vain:
- lib: honor `CURL_DISABLE_INSTALL`
- src: honor `CURL_DISABLE_INSTALL`
- src: honor `CURL_ENABLE_EXPORT_TARGET`

https://cmake.org/cmake/help/v4.2/command/install.html
https://cmake.org/cmake/help/v4.2/command/export.html

- `CURL_DISABLE_INSTALL` follow-up to:
  aace27b096 #12287
- `CURL_ENABLE_EXPORT_TARGET` follow-up to:
  8698825106 #9638
  643ec29645 #7060

Closes #19144
This commit is contained in:
Viktor Szakats 2025-11-19 23:33:52 +01:00
parent 3d80d37cf0
commit 7e8f36bf8e
No known key found for this signature in database
GPG key ID: B5ABD165E2AEF201
3 changed files with 13 additions and 7 deletions

View file

@ -141,8 +141,13 @@ endif()
################################################################################
install(TARGETS ${EXE_NAME} EXPORT ${TARGETS_EXPORT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
export(TARGETS ${EXE_NAME}
FILE "${PROJECT_BINARY_DIR}/curl-target.cmake"
NAMESPACE ${PROJECT_NAME}::
)
if(CURL_ENABLE_EXPORT_TARGET)
if(NOT CURL_DISABLE_INSTALL)
install(TARGETS ${EXE_NAME} EXPORT ${TARGETS_EXPORT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
endif()
export(TARGETS ${EXE_NAME}
FILE "${PROJECT_BINARY_DIR}/curl-target.cmake"
NAMESPACE ${PROJECT_NAME}::
)
endif()