From: Jean-Philippe Bruyère Date: Mon, 27 Dec 2021 04:41:12 +0000 (+0100) Subject: use cmake_dependant_option, add offscreen test build option if not build tests X-Git-Tag: v0.3.0-beta~63 X-Git-Url: https://git.osiis.dedyn.io/?a=commitdiff_plain;h=ed3d993f511ab71b6575c65c9d309ec8aac96598;p=jp%2Fvkvg.git use cmake_dependant_option, add offscreen test build option if not build tests --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 397581b..a425f77 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -76,8 +76,6 @@ IF (NOT TARGET vkh_static) ADD_SUBDIRECTORY (vkh) ENDIF() -#SET(ENABLE_VALIDATION OFF CACHE BOOL "Enable vulkan validation layer") - IF (ENABLE_VALIDATION) ADD_DEFINITIONS (-DVKVG_USE_VALIDATION) OPTION(ENABLE_RENDERDOC "enable renderdoc" OFF) @@ -88,52 +86,34 @@ ENDIF () IF (ENABLE_WIRED_FILL) ADD_DEFINITIONS (-DVKVG_WIRED_DEBUG) ENDIF () -IF (ENABLE_DBG_UTILS) - ADD_DEFINITIONS (-DVKVG_DBG_UTILS) -ENDIF () FIND_PACKAGE(Vulkan REQUIRED) FIND_PACKAGE(Freetype) -IF (Freetype_FOUND) - OPTION(VKVG_USE_FREETYPE "use freetype to load and render font glyphs" ON) -ELSE () - OPTION(VKVG_USE_FREETYPE "use freetype to load and render font glyphs" OFF) - UNSET(VKVG_USE_FREETYPE CACHE) +FIND_PACKAGE(Fontconfig) +FIND_PACKAGE(HarfBuzz) +FIND_PACKAGE(GLFW3) +FIND_PACKAGE(Doxygen) +CMAKE_DEPENDENT_OPTION(VKVG_USE_FREETYPE "use freetype to load and render font glyphs" ON "Freetype_FOUND" OFF) +CMAKE_DEPENDENT_OPTION(VKVG_USE_FONTCONFIG "use FontConfig to resolve font names" ON "Fontconfig_FOUND" OFF) +CMAKE_DEPENDENT_OPTION(VKVG_USE_HARFBUZZ "use Harbuzz for text layouting" ON "HarfBuzz_FOUND" OFF) +CMAKE_DEPENDENT_OPTION(VKVG_BUILD_TESTS "build tests with glfw" ON "GLFW3_FOUND" OFF) +CMAKE_DEPENDENT_OPTION(VKVG_BUILD_OFFSCREEN_TEST "build offscreen test" ON "NOT VKVG_BUILD_TESTS" OFF) +CMAKE_DEPENDENT_OPTION(VKVG_BUILD_DOCS "build documentation" OFF "DOXYGEN_FOUND" OFF) + +IF (ENABLE_DBG_UTILS) + ADD_DEFINITIONS (-DVKVG_DBG_UTILS) ENDIF () IF (VKVG_USE_FREETYPE) ADD_DEFINITIONS (-DVKVG_USE_FREETYPE) ENDIF () - -FIND_PACKAGE(Fontconfig) -IF (Fontconfig_FOUND) - OPTION(VKVG_USE_FONTCONFIG "use FontConfig to resolve font names" ON) -ELSE () - OPTION(VKVG_USE_FONTCONFIG "use FontConfig to resolve font names" OFF) - UNSET(VKVG_USE_FONTCONFIG CACHE) -ENDIF () IF (VKVG_USE_FONTCONFIG) ADD_DEFINITIONS (-DVKVG_USE_FONTCONFIG) ENDIF () - -FIND_PACKAGE(HarfBuzz) -IF (HarfBuzz_FOUND) - OPTION(VKVG_USE_HARFBUZZ "use Harbuzz for text layouting" ON) -ELSE () - OPTION(VKVG_USE_HARFBUZZ "use Harbuzz for text layouting" OFF) - UNSET(VKVG_USE_HARFBUZZ CACHE) -ENDIF () IF (VKVG_USE_HARFBUZZ) ADD_DEFINITIONS (-DVKVG_USE_HARFBUZZ) ENDIF () -FIND_PACKAGE(GLFW3) -FIND_PACKAGE(Doxygen) - -CMAKE_DEPENDENT_OPTION(VKVG_BUILD_TESTS "build tests with glfw" ON "GLFW3_FOUND" OFF) - -CMAKE_DEPENDENT_OPTION(VKVG_BUILD_DOCS "build documentation" OFF "DOXYGEN_FOUND" OFF) - #Freetype lcd font filtering #CHECK_SYMBOL_EXISTS (FT_CONFIG_OPTION_SUBPIXEL_RENDERING "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/config/ftoption.h" FT_HAS_SUBPIXEL_RENDERING) #IF (FT_HAS_SUBPIXEL_RENDERING) @@ -273,6 +253,15 @@ ENDIF () IF (VKVG_BUILD_TESTS) ADD_SUBDIRECTORY(tests) +ELSEIF (VKVG_BUILD_OFFSCREEN_TEST) + ADD_EXECUTABLE(test_offscreen "${CMAKE_CURRENT_SOURCE_DIR}/tests/offscreen.c") + TARGET_INCLUDE_DIRECTORIES(test_offscreen PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/include + ) + TARGET_LINK_LIBRARIES(test_offscreen + ${Vulkan_LIBRARIES} + vkvg_static + ) ENDIF (VKVG_BUILD_TESTS) IF (VKVG_BUILD_DOCS)