]> O.S.I.I.S - jp/vkvg.git/commitdiff
try to fix win build
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Mon, 6 Jun 2022 16:54:50 +0000 (18:54 +0200)
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Mon, 6 Jun 2022 16:54:50 +0000 (18:54 +0200)
CMakeLists.txt
include/vkvg.h
vkh

index 53b1735cb5652e928f3b0cf21e2d5bf85d0336b6..04aafc15debcd0f7b1e5cbc231097c6f8c283608 100644 (file)
@@ -223,23 +223,22 @@ IF (VKVG_USE_GLUTESS)
        ADD_SUBDIRECTORY (external/glutess)
 ENDIF ()
 
-FILE(GLOB VKVG_OBJ_SRC src/*.c src/deps/*.c)
-SET (VKVG_PUBLIC_HEADERS "include/vkvg.h")
+FILE(GLOB VKVG_SRC src/*.c src/deps/*.c)
+SET (VKVG_PUBLIC_HEADERS "include/vkvg.h;include/vkvg-svg.h")
 
 IF (VKVG_SVG)
        ADD_DEFINITIONS (-DVKVG_SVG)
-       ADD_SUBDIRECTORY (external/vkvg-svg)
-       LIST (APPEND VKVG_SRC $<TARGET_OBJECTS:vkvg-svg>)
+       FILE(GLOB SVG_SRC external/vkvg-svg/src/*.c)
 ELSE()
-       SET (VKVG_PUBLIC_HEADERS "${VKVG_PUBLIC_HEADERS};include/vkvg-svg.h")
-       FILE(GLOB NSVG_SRC src/nsvg/*.c)
-       LIST (APPEND VKVG_OBJ_SRC ${NSVG_SRC})
+       FILE(GLOB SVG_SRC src/nsvg/*.c)
 ENDIF()
 
+LIST (APPEND VKVG_SRC ${SVG_SRC})
+
 IF (VKVG_RECORDING)
        ADD_DEFINITIONS (-DVKVG_RECORDING)
        FILE(GLOB RECORDING_SRC src/recording/*.c)
-       LIST (APPEND VKVG_OBJ_SRC ${RECORDING_SRC})
+       LIST (APPEND VKVG_SRC ${RECORDING_SRC})
 ENDIF()
 
 CONFIGURE_FILE(vkvg.pc.in vkvg.pc @ONLY)
@@ -295,40 +294,43 @@ FUNCTION (setup_lib LibName)
                        ${Vulkan_LIBRARIES}
                        vkh
        )
+       IF (SHADERS_H)
+               ADD_DEPENDENCIES("${LibName}" BuildShadersHeader)
+       ENDIF()
+
 ENDFUNCTION(setup_lib)
 
 GET_DIRECTORY_PROPERTY (vkvg_has_root_project PARENT_DIRECTORY)
 
-ADD_LIBRARY("${PROJECT_NAME}_obj" OBJECT ${VKVG_OBJ_SRC} ${SHADERS} ${SHADERS_H})
-
-TARGET_INCLUDE_DIRECTORIES("${PROJECT_NAME}_obj"
-       PRIVATE
-               ${CMAKE_CURRENT_SOURCE_DIR}/src
-               ${CMAKE_CURRENT_SOURCE_DIR}/vkh/src
-               $<$<BOOL:${VKVG_USE_FREETYPE}>:${FREETYPE_INCLUDE_DIRS}>
-               $<$<BOOL:${VKVG_USE_HARFBUZZ}>:${HarfBuzz_INCLUDE_DIRS}>
-               $<$<BOOL:${VKVG_USE_FONTCONFIG}>:${Fontconfig_INCLUDE_DIRS}>
-               $<$<NOT:$<BOOL:${VKVG_SVG}>>:${CMAKE_CURRENT_SOURCE_DIR}/src/nsvg>
-               $<$<BOOL:${VKVG_USE_GLUTESS}>:${CMAKE_CURRENT_SOURCE_DIR}/external/glutess/include>
-       PUBLIC
-               ${Vulkan_INCLUDE_DIRS}
-               ${CMAKE_CURRENT_SOURCE_DIR}/include
-               ${CMAKE_CURRENT_SOURCE_DIR}/vkh/include
-)
-SET_PROPERTY(TARGET "${PROJECT_NAME}_obj" PROPERTY POSITION_INDEPENDENT_CODE ON)
+# TARGET_INCLUDE_DIRECTORIES("${PROJECT_NAME}_obj"
+#      PRIVATE
+#              ${CMAKE_CURRENT_SOURCE_DIR}/src
+#              ${CMAKE_CURRENT_SOURCE_DIR}/vkh/src
+#              $<$<BOOL:${VKVG_USE_FREETYPE}>:${FREETYPE_INCLUDE_DIRS}>
+#              $<$<BOOL:${VKVG_USE_HARFBUZZ}>:${HarfBuzz_INCLUDE_DIRS}>
+#              $<$<BOOL:${VKVG_USE_FONTCONFIG}>:${Fontconfig_INCLUDE_DIRS}>
+#              $<$<NOT:$<BOOL:${VKVG_SVG}>>:${CMAKE_CURRENT_SOURCE_DIR}/src/nsvg>
+#              $<$<BOOL:${VKVG_USE_GLUTESS}>:${CMAKE_CURRENT_SOURCE_DIR}/external/glutess/include>
+#      PUBLIC
+#              ${Vulkan_INCLUDE_DIRS}
+#              ${CMAKE_CURRENT_SOURCE_DIR}/include
+#              ${CMAKE_CURRENT_SOURCE_DIR}/vkh/include
+# )
+
+LIST(APPEND ${VKVG_SRC} ${SHADERS} ${SHADERS_H})
 
 IF (vkvg_has_root_project)
-       IF (VKVG_BUILD_SHARED_LIBS)
-               ADD_LIBRARY("${PROJECT_NAME}" SHARED ${VKVG_SRC} $<TARGET_OBJECTS:${PROJECT_NAME}_obj>)
+       IF (VKVG_BUILD_SHARED_LIB)
+               ADD_LIBRARY("${PROJECT_NAME}" SHARED ${VKVG_SRC})
                SET_PROPERTY(TARGET "${PROJECT_NAME}" PROPERTY POSITION_INDEPENDENT_CODE ON)
                SET_PROPERTY(TARGET vkh PROPERTY POSITION_INDEPENDENT_CODE ON)
-               TARGET_COMPILE_DEFINITIONS("${PROJECT_NAME}" PUBLIC -DVKVG_SHARED_BUILD)
+               TARGET_COMPILE_DEFINITIONS("${PROJECT_NAME}" PUBLIC -DVKVG_SHARED_LINKING)
                IF (TARGET glutess)
                        SET_PROPERTY(TARGET glutess PROPERTY POSITION_INDEPENDENT_CODE ON)
                ENDIF()
                setup_lib ("${PROJECT_NAME}")
        ELSE()
-               ADD_LIBRARY("${PROJECT_NAME}" STATIC ${VKVG_SRC} $<TARGET_OBJECTS:${PROJECT_NAME}_obj>)
+               ADD_LIBRARY("${PROJECT_NAME}" STATIC ${VKVG_SRC})
                SET_PROPERTY(TARGET "${PROJECT_NAME}" PROPERTY POSITION_INDEPENDENT_CODE OFF)
                SET_PROPERTY(TARGET vkh PROPERTY POSITION_INDEPENDENT_CODE OFF)
                IF (TARGET glutess)
@@ -342,12 +344,12 @@ ELSE()
                SET_PROPERTY(TARGET glutess PROPERTY POSITION_INDEPENDENT_CODE ON)
        ENDIF()
 
-       ADD_LIBRARY("${PROJECT_NAME}_shared" SHARED ${VKVG_SRC} $<TARGET_OBJECTS:${PROJECT_NAME}_obj>)
+       ADD_LIBRARY("${PROJECT_NAME}_shared" SHARED ${VKVG_SRC})
        SET_PROPERTY(TARGET "${PROJECT_NAME}_shared" PROPERTY POSITION_INDEPENDENT_CODE ON)
        TARGET_COMPILE_DEFINITIONS("${PROJECT_NAME}_shared" PUBLIC -DVKVG_SHARED_BUILD)
        setup_lib ("${PROJECT_NAME}_shared")
 
-       ADD_LIBRARY("${PROJECT_NAME}_static" STATIC ${VKVG_SRC} $<TARGET_OBJECTS:${PROJECT_NAME}_obj>)
+       ADD_LIBRARY("${PROJECT_NAME}_static" STATIC ${VKVG_SRC})
        target_compile_definitions("${PROJECT_NAME}_static" PUBLIC -DVKVG_STATIC_BUILD)
        SET_PROPERTY(TARGET "${PROJECT_NAME}_static" PROPERTY POSITION_INDEPENDENT_CODE OFF)
        setup_lib ("${PROJECT_NAME}_static")
@@ -358,7 +360,6 @@ ELSE()
                ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
                PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
 
-
        IF (VKVG_BUILD_TESTS)
                ADD_SUBDIRECTORY(tests)
        ELSEIF (VKVG_BUILD_OFFSCREEN_TEST)
@@ -470,7 +471,3 @@ ELSE()
        ENDIF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
 
 ENDIF()
-
-IF (SHADERS_H)
-       ADD_DEPENDENCIES("${PROJECT_NAME}_obj" BuildShadersHeader)
-ENDIF()
index c8c715d72c8687077e58832bcadb70ece0e04433..a30d73bd62e6d32ebff1e25b8bed41b55c882268 100644 (file)
@@ -67,15 +67,17 @@ extern "C" {
 #include <stdbool.h>
 
 #ifndef vkvg_public
-       //#ifdef VKVG_SHARED_BUILD
+       #ifdef VKVG_SHARED_BUILD
                #if (defined(_WIN32) || defined(_WIN64))
-                       #define vkvg_public __declspec(dllimport)
+                       #define vkvg_public __declspec(dllexport)
                #else
                        #define vkvg_public __attribute__((visibility("default")))
                #endif
-       /*#else
+       #elif (defined(VKVG_SHARED_LINKING) && (defined(_WIN32) || defined(_WIN64)))
+               #define vkvg_public __declspec(dllimport)
+       #else
                #define vkvg_public 
-       #endif*/
+       #endif
 #endif
 
 
diff --git a/vkh b/vkh
index 677a3547d5a930494177aeb4f9e802922dc975c3..5ce5386f0a0f46b36ec42dd046ef56030ab7a496 160000 (submodule)
--- a/vkh
+++ b/vkh
@@ -1 +1 @@
-Subproject commit 677a3547d5a930494177aeb4f9e802922dc975c3
+Subproject commit 5ce5386f0a0f46b36ec42dd046ef56030ab7a496