aboutsummaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
diff options
context:
space:
mode:
authordan sinclair <dj2@everburning.com>2018-12-10 15:49:25 -0500
committerGitHub <noreply@github.com>2018-12-10 15:49:25 -0500
commit6a03f7936fd3f0af55fef312edcc314ad234f42d (patch)
tree9af12d7c23b602e2c84412d0a90143269ee87516 /src/CMakeLists.txt
parent18f5ae987730381a79b900cdaebcb613362b0410 (diff)
downloadamber-6a03f7936fd3f0af55fef312edcc314ad234f42d.tar.gz
Make spirv-tools, googletest and shaderc build optional (#144)
This CL allows spriv-tools, googletest and shaderc to be disabled at build time. (Disabling spriv-tools will also disable shaderc).
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r--src/CMakeLists.txt44
1 files changed, 27 insertions, 17 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index d4b91ad..6ef2910 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -56,7 +56,15 @@ endif()
add_library(libamber ${AMBER_SOURCES})
amber_default_compile_options(libamber)
set_target_properties(libamber PROPERTIES OUTPUT_NAME "amber")
-target_link_libraries(libamber SPIRV-Tools shaderc SPIRV)
+
+if (${AMBER_ENABLE_SPIRV_TOOLS})
+ target_link_libraries(libamber SPIRV-Tools)
+endif()
+
+if (${AMBER_ENABLE_SHADERC})
+ target_link_libraries(libamber shaderc SPIRV)
+endif()
+
if (NOT MSVC AND NOT ANDROID)
target_link_libraries(libamber pthread)
endif()
@@ -68,7 +76,8 @@ if (${Dawn_FOUND})
target_link_libraries(libamber libamberenginedawn)
endif()
-set(TEST_SRCS
+if (${AMBER_ENABLE_TESTS})
+ set(TEST_SRCS
amberscript/parser_test.cc
amberscript/pipeline_test.cc
amberscript/script_test.cc
@@ -85,24 +94,25 @@ set(TEST_SRCS
vkscript/format_parser_test.cc
vkscript/parser_test.cc
vkscript/section_parser_test.cc
-)
+ )
-if (${Vulkan_FOUND})
+ if (${Vulkan_FOUND})
list(APPEND TEST_SRCS vulkan/bit_copy_test.cc)
-endif()
-if (${Dawn_FOUND})
+ endif()
+ if (${Dawn_FOUND})
list(APPEND TEST_SRCS dawn/pipeline_info_test.cc)
-endif()
+ endif()
-add_executable(amber_unittests ${TEST_SRCS})
+ add_executable(amber_unittests ${TEST_SRCS})
-if (NOT MSVC)
- target_compile_options(amber_unittests PRIVATE
- -Wno-global-constructors)
-endif()
+ if (NOT MSVC)
+ target_compile_options(amber_unittests PRIVATE
+ -Wno-global-constructors)
+ endif()
-target_include_directories(amber_unittests PRIVATE
- ${gmock_SOURCE_DIR}/include)
-target_link_libraries(amber_unittests libamber gmock_main)
-amber_default_compile_options(amber_unittests)
-add_test(NAME amber_unittests COMMAND amber_unittests)
+ target_include_directories(amber_unittests PRIVATE
+ ${gmock_SOURCE_DIR}/include)
+ target_link_libraries(amber_unittests libamber gmock_main)
+ amber_default_compile_options(amber_unittests)
+ add_test(NAME amber_unittests COMMAND amber_unittests)
+endif()