cmake: Prevent redefinition of uninstall target
authorKarl Schultz <karl@lunarg.com>
Tue, 12 Jun 2018 21:10:23 +0000 (15:10 -0600)
committerKarl Schultz <karl@lunarg.com>
Tue, 12 Jun 2018 21:10:23 +0000 (15:10 -0600)
Allows for this repo to be included as a submodule of another
repo that defines its own uninstall target.  The uninstall target
is best defined at the top-level repo.

CMakeLists.txt

index 5aec276f1fce5d98b9db0b1e856319abbb909121..127e6ab0a7ad1c6340c705557d2d342760a739a7 100644 (file)
@@ -172,12 +172,14 @@ endif()
 install(FILES "${CMAKE_CURRENT_BINARY_DIR}/vk_layer_dispatch_table.h" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/vulkan")
 
 # uninstall target
-configure_file(
-    "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
-    "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
-    IMMEDIATE @ONLY)
-add_custom_target(uninstall
-    COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
+if(NOT TARGET uninstall)
+    configure_file(
+        "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
+        "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
+        IMMEDIATE @ONLY)
+    add_custom_target(uninstall
+        COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
+endif()
 
 add_definitions(-DAPI_NAME="Vulkan")