From a7e2cf152ecdd4f38794e593343cb05616bd4305 Mon Sep 17 00:00:00 2001 From: mocabe Date: Wed, 29 Jan 2020 15:12:22 +0900 Subject: [PATCH] CMake: Add SAMPLES_BUILD_ONLY_DYNAMIC option --- samples/01_InitInstance/CMakeLists.txt | 38 ++++++++++--------- samples/CMakeLists.txt | 7 +++- .../CreateDebugUtilsMessenger/CMakeLists.txt | 38 ++++++++++--------- .../CMakeLists.txt | 38 ++++++++++--------- .../CMakeLists.txt | 38 ++++++++++--------- .../InstanceLayerProperties/CMakeLists.txt | 38 ++++++++++--------- samples/InstanceVersion/CMakeLists.txt | 38 ++++++++++--------- 7 files changed, 131 insertions(+), 104 deletions(-) diff --git a/samples/01_InitInstance/CMakeLists.txt b/samples/01_InitInstance/CMakeLists.txt index d623e5c..c7bf0a3 100644 --- a/samples/01_InitInstance/CMakeLists.txt +++ b/samples/01_InitInstance/CMakeLists.txt @@ -14,22 +14,26 @@ cmake_minimum_required(VERSION 3.2) -project(01_InitInstance) +if(NOT SAMPLES_BUILD_ONLY_DYNAMIC) -set(HEADERS -) + project(01_InitInstance) + + set(HEADERS + ) + + set(SOURCES + 01_InitInstance.cpp + ) + + source_group(headers FILES ${HEADERS}) + source_group(sources FILES ${SOURCES}) + + add_executable(01_InitInstance + ${HEADERS} + ${SOURCES} + ) + + set_target_properties(01_InitInstance PROPERTIES FOLDER "Samples") + target_link_libraries(01_InitInstance "${Vulkan_LIBRARIES}") -set(SOURCES - 01_InitInstance.cpp -) - -source_group(headers FILES ${HEADERS}) -source_group(sources FILES ${SOURCES}) - -add_executable(01_InitInstance - ${HEADERS} - ${SOURCES} -) - -set_target_properties(01_InitInstance PROPERTIES FOLDER "Samples") -target_link_libraries(01_InitInstance "${Vulkan_LIBRARIES}") +endif() \ No newline at end of file diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt index cc68cde..5cb7d4f 100644 --- a/samples/CMakeLists.txt +++ b/samples/CMakeLists.txt @@ -14,11 +14,14 @@ cmake_minimum_required(VERSION 3.2) -find_package(Vulkan REQUIRED) - project(Vulkan-Hpp_Samples) option (SAMPLES_BUILD_WITH_LOCAL_VULKAN_HPP "Build with local Vulkan headers" OFF) +option (SAMPLES_BUILD_ONLY_DYNAMIC "Build only dynamic" OFF) + +if(NOT (SAMPLES_BUILD_ONLY_DYNAMIC AND SAMPLES_BUILD_WITH_LOCAL_VULKAN_HPP)) + find_package(Vulkan REQUIRED) +endif() if (CMAKE_SYSTEM_NAME MATCHES "Windows") add_definitions(-DNOMINMAX -DVK_USE_PLATFORM_WIN32_KHR) diff --git a/samples/CreateDebugUtilsMessenger/CMakeLists.txt b/samples/CreateDebugUtilsMessenger/CMakeLists.txt index e6a202f..bea7d31 100644 --- a/samples/CreateDebugUtilsMessenger/CMakeLists.txt +++ b/samples/CreateDebugUtilsMessenger/CMakeLists.txt @@ -14,22 +14,26 @@ cmake_minimum_required(VERSION 3.2) -project(CreateDebugUtilsMessenger) +if(NOT SAMPLES_BUILD_ONLY_DYNAMIC) -set(HEADERS -) + project(CreateDebugUtilsMessenger) + + set(HEADERS + ) + + set(SOURCES + CreateDebugUtilsMessenger.cpp + ) + + source_group(headers FILES ${HEADERS}) + source_group(sources FILES ${SOURCES}) + + add_executable(CreateDebugUtilsMessenger + ${HEADERS} + ${SOURCES} + ) + + set_target_properties(CreateDebugUtilsMessenger PROPERTIES FOLDER "Samples") + target_link_libraries(CreateDebugUtilsMessenger "${Vulkan_LIBRARIES}") -set(SOURCES - CreateDebugUtilsMessenger.cpp -) - -source_group(headers FILES ${HEADERS}) -source_group(sources FILES ${SOURCES}) - -add_executable(CreateDebugUtilsMessenger - ${HEADERS} - ${SOURCES} -) - -set_target_properties(CreateDebugUtilsMessenger PROPERTIES FOLDER "Samples") -target_link_libraries(CreateDebugUtilsMessenger PUBLIC "${Vulkan_LIBRARIES}") +endif() \ No newline at end of file diff --git a/samples/InstanceExtensionProperties/CMakeLists.txt b/samples/InstanceExtensionProperties/CMakeLists.txt index 474703f..fc0d811 100644 --- a/samples/InstanceExtensionProperties/CMakeLists.txt +++ b/samples/InstanceExtensionProperties/CMakeLists.txt @@ -14,22 +14,26 @@ cmake_minimum_required(VERSION 3.2) -project(InstanceExtensionProperties) +if(NOT SAMPLES_BUILD_ONLY_DYNAMIC) -set(HEADERS -) + project(InstanceExtensionProperties) + + set(HEADERS + ) + + set(SOURCES + InstanceExtensionProperties.cpp + ) + + source_group(headers FILES ${HEADERS}) + source_group(sources FILES ${SOURCES}) + + add_executable(InstanceExtensionProperties + ${HEADERS} + ${SOURCES} + ) + + set_target_properties(InstanceExtensionProperties PROPERTIES FOLDER "Samples") + target_link_libraries(InstanceExtensionProperties "${Vulkan_LIBRARIES}") -set(SOURCES - InstanceExtensionProperties.cpp -) - -source_group(headers FILES ${HEADERS}) -source_group(sources FILES ${SOURCES}) - -add_executable(InstanceExtensionProperties - ${HEADERS} - ${SOURCES} -) - -set_target_properties(InstanceExtensionProperties PROPERTIES FOLDER "Samples") -target_link_libraries(InstanceExtensionProperties PUBLIC "${Vulkan_LIBRARIES}") +endif() \ No newline at end of file diff --git a/samples/InstanceLayerExtensionProperties/CMakeLists.txt b/samples/InstanceLayerExtensionProperties/CMakeLists.txt index 12990cf..2653770 100644 --- a/samples/InstanceLayerExtensionProperties/CMakeLists.txt +++ b/samples/InstanceLayerExtensionProperties/CMakeLists.txt @@ -14,22 +14,26 @@ cmake_minimum_required(VERSION 3.2) -project(InstanceLayerExtensionProperties) +if(NOT SAMPLES_BUILD_ONLY_DYNAMIC) -set(HEADERS -) + project(InstanceLayerExtensionProperties) + + set(HEADERS + ) + + set(SOURCES + InstanceLayerExtensionProperties.cpp + ) + + source_group(headers FILES ${HEADERS}) + source_group(sources FILES ${SOURCES}) + + add_executable(InstanceLayerExtensionProperties + ${HEADERS} + ${SOURCES} + ) + + set_target_properties(InstanceLayerExtensionProperties PROPERTIES FOLDER "Samples") + target_link_libraries(InstanceLayerExtensionProperties "${Vulkan_LIBRARIES}") -set(SOURCES - InstanceLayerExtensionProperties.cpp -) - -source_group(headers FILES ${HEADERS}) -source_group(sources FILES ${SOURCES}) - -add_executable(InstanceLayerExtensionProperties - ${HEADERS} - ${SOURCES} -) - -set_target_properties(InstanceLayerExtensionProperties PROPERTIES FOLDER "Samples") -target_link_libraries(InstanceLayerExtensionProperties PUBLIC "${Vulkan_LIBRARIES}") +endif() \ No newline at end of file diff --git a/samples/InstanceLayerProperties/CMakeLists.txt b/samples/InstanceLayerProperties/CMakeLists.txt index 1274745..a5121dd 100644 --- a/samples/InstanceLayerProperties/CMakeLists.txt +++ b/samples/InstanceLayerProperties/CMakeLists.txt @@ -14,22 +14,26 @@ cmake_minimum_required(VERSION 3.2) -project(InstanceLayerProperties) +if(NOT SAMPLES_BUILD_ONLY_DYNAMIC) -set(HEADERS -) + project(InstanceLayerProperties) + + set(HEADERS + ) + + set(SOURCES + InstanceLayerProperties.cpp + ) + + source_group(headers FILES ${HEADERS}) + source_group(sources FILES ${SOURCES}) + + add_executable(InstanceLayerProperties + ${HEADERS} + ${SOURCES} + ) + + set_target_properties(InstanceLayerProperties PROPERTIES FOLDER "Samples") + target_link_libraries(InstanceLayerProperties "${Vulkan_LIBRARIES}") -set(SOURCES - InstanceLayerProperties.cpp -) - -source_group(headers FILES ${HEADERS}) -source_group(sources FILES ${SOURCES}) - -add_executable(InstanceLayerProperties - ${HEADERS} - ${SOURCES} -) - -set_target_properties(InstanceLayerProperties PROPERTIES FOLDER "Samples") -target_link_libraries(InstanceLayerProperties "${Vulkan_LIBRARIES}") +endif() \ No newline at end of file diff --git a/samples/InstanceVersion/CMakeLists.txt b/samples/InstanceVersion/CMakeLists.txt index b98dfd2..90dce4f 100644 --- a/samples/InstanceVersion/CMakeLists.txt +++ b/samples/InstanceVersion/CMakeLists.txt @@ -14,22 +14,26 @@ cmake_minimum_required(VERSION 3.2) -project(InstanceVersion) +if(NOT SAMPLES_BUILD_ONLY_DYNAMIC) -set(HEADERS -) + project(InstanceVersion) + + set(HEADERS + ) + + set(SOURCES + InstanceVersion.cpp + ) + + source_group(headers FILES ${HEADERS}) + source_group(sources FILES ${SOURCES}) + + add_executable(InstanceVersion + ${HEADERS} + ${SOURCES} + ) + + set_target_properties(InstanceVersion PROPERTIES FOLDER "Samples") + target_link_libraries(InstanceVersion "${Vulkan_LIBRARIES}") -set(SOURCES - InstanceVersion.cpp -) - -source_group(headers FILES ${HEADERS}) -source_group(sources FILES ${SOURCES}) - -add_executable(InstanceVersion - ${HEADERS} - ${SOURCES} -) - -set_target_properties(InstanceVersion PROPERTIES FOLDER "Samples") -target_link_libraries(InstanceVersion PUBLIC "${Vulkan_LIBRARIES}") +endif() \ No newline at end of file