summaryrefslogtreecommitdiffstatsci
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2026-09-03 23:00:40 +0200
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2026-09-04 11:11:43 +0200
commit627f7e6139853f766e88258cd651fb8e5a4cf516 (patch)
tree255ad1bcaa69087c7a28079101870acc31db9933
parent9ba0c9f66c9d3b8dc9a241991d1759c08a908f17 (diff)
refactor visibility and linking
-rw-r--r--CMakeLists.txt26
m---------external/glutess0
-rw-r--r--gunit_tests/drawTestBase.cpp6
-rw-r--r--include/vkvg.h4
-rw-r--r--samples/CMakeLists.txt1
-rw-r--r--tests/CMakeLists.txt2
m---------vkh0
7 files changed, 18 insertions, 21 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9e92cb1..cb4a7db 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,13 +4,6 @@ SET(LANG "C")
SET(CMAKE_${LANG}_STANDARD 11)
SET(CMAKE_${LANG}_EXTENSIONS on)
-set(CMAKE_C_VISIBILITY_PRESET hidden)
-set(CMAKE_CXX_VISIBILITY_PRESET hidden)
-set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
-
-#OPTION (VKVG_BUILD_SHARED_LIB "Build using shared libraries" OFF)
-#SET(BUILD_SHARED_LIBS ${VKVG_BUILD_SHARED_LIB})
-
PROJECT(vkvg VERSION 0.3.0 DESCRIPTION "Vulkan Vector Graphic" LANGUAGES C CXX)
ADD_COMPILE_DEFINITIONS(
@@ -30,13 +23,8 @@ IF(NOT CMAKE_BUILD_TYPE)
SET(CMAKE_BUILD_TYPE Release)
ENDIF()
-
-IF (UNIX)
- ADD_COMPILE_OPTIONS(-lm)
- IF (BUILD_SHARED_LIBS)
- #force PIC for all subproject, even static libs
- ADD_COMPILE_OPTIONS(-fPIC)
- ENDIF()
+IF(BUILD_SHARED_LIBS)
+ ADD_DEFINITIONS (-DVKVG_SHARED_BUILD)
ENDIF()
OPTION(ENABLE_PROFILING "compile with the -pg options..." OFF)
@@ -281,8 +269,13 @@ SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES
C_STANDARD 11
C_STANDARD_REQUIRED ON
C_EXTENSIONS OFF
- LINKER_LANGUAGE C
+
+ POSITION_INDEPENDENT_CODE ${BUILD_SHARED_LIBS}
+
PUBLIC_HEADER "${VKVG_PUBLIC_HEADERS}"
+
+ C_VISIBILITY_PRESET hidden
+ VISIBILITY_INLINES_HIDDEN ON
)
TARGET_INCLUDE_DIRECTORIES("${PROJECT_NAME}"
@@ -319,9 +312,10 @@ IF(VKVG_USE_GLUTESS)
ENDIF()
TARGET_LINK_LIBRARIES("${PROJECT_NAME}"
+ PRIVATE
+ vkh
PUBLIC
${Vulkan_LIBRARIES}
- vkh
)
IF (SHADERS_H)
ADD_DEPENDENCIES("${PROJECT_NAME}" BuildShadersHeader)
diff --git a/external/glutess b/external/glutess
-Subproject 28098202d43453598441f5fbf5c74a6ded11ae1
+Subproject ac7275124d5f6fb5b3127528e2d151e80f9c66b
diff --git a/gunit_tests/drawTestBase.cpp b/gunit_tests/drawTestBase.cpp
index 61ffea3..a91b3b9 100644
--- a/gunit_tests/drawTestBase.cpp
+++ b/gunit_tests/drawTestBase.cpp
@@ -1,8 +1,10 @@
#include "drawTestBase.h"
-// #define STB_IMAGE_IMPLEMENTATION
+#define STBI_ASSERT(x) ((void)0)
+#define STBIW_ASSERT(x) ((void)0)
+#define STB_IMAGE_IMPLEMENTATION
#include "stb_image.h"
-// #define STB_IMAGE_WRITE_IMPLEMENTATION
+#define STB_IMAGE_WRITE_IMPLEMENTATION
#include "stb_image_write.h"
DrawTestBase::DrawTestBase() {
diff --git a/include/vkvg.h b/include/vkvg.h
index fd2226b..4deef25 100644
--- a/include/vkvg.h
+++ b/include/vkvg.h
@@ -104,7 +104,7 @@ extern "C" {
#define VKVG_LOG_INFO 0x00008000 //(VKVG_LOG_INFO_PTS|VKVG_LOG_INFO_PATH|VKVG_LOG_INFO_CMD|VKVG_LOG_INFO_VAO)
#ifdef DEBUG
-extern uint32_t vkvg_log_level;
+vkvg_public extern uint32_t vkvg_log_level;
#ifdef VKVG_WIRED_DEBUG
typedef enum {
vkvg_wired_debug_mode_normal = 0x01,
@@ -113,7 +113,7 @@ typedef enum {
vkvg_wired_debug_mode_both = vkvg_wired_debug_mode_points | vkvg_wired_debug_mode_lines,
vkvg_wired_debug_mode_all = 0xFFFFFFFF
} vkvg_wired_debug_mode;
-extern vkvg_wired_debug_mode vkvg_wired_debug;
+vkvg_public extern vkvg_wired_debug_mode vkvg_wired_debug;
#endif
#endif
diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt
index ab4f883..0bb888a 100644
--- a/samples/CMakeLists.txt
+++ b/samples/CMakeLists.txt
@@ -35,6 +35,7 @@ target_include_directories("${PROJECT_NAME}" PRIVATE
)
target_link_libraries("${PROJECT_NAME}" PRIVATE
vkvg
+ vkh
${Vulkan_LIBRARIES}
${GLFW3_LIBRARY}
argparse
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 20124e9..315a001 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -37,7 +37,7 @@ FUNCTION (buildtest TEST_FILE)
${GLFW3_LIBRARY}
Threads::Threads
)
- TARGET_LINK_LIBRARIES(${TEST_NAME} PRIVATE vkvg)
+ TARGET_LINK_LIBRARIES(${TEST_NAME} PRIVATE vkvg vkh)
ENDFUNCTION (buildtest)
diff --git a/vkh b/vkh
-Subproject 01fa911d6a07c3048ac6e10b199b6c67156d841
+Subproject ba02c80d67bd98ed2186fd618d24a8c300189b8