]> O.S.I.I.S - jp/vkvg.git/commitdiff
use cmake_dependant_option, add offscreen test build option if not build tests
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Mon, 27 Dec 2021 04:41:12 +0000 (05:41 +0100)
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Mon, 27 Dec 2021 04:41:12 +0000 (05:41 +0100)
CMakeLists.txt

index 397581be84a2e620985252262512cac87a4436a4..a425f775a12374fb7c1b754d1a47af9d4b7c595d 100644 (file)
@@ -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)