From 55b1e553f826e7c6b679c16789818f774d9249c5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jean-Philippe=20Bruy=C3=A8re?= Date: Mon, 10 Jan 2022 21:32:05 +0100 Subject: [PATCH] try obj lib for vkvg sources and shaders --- CMakeLists.txt | 37 +++++++++++++++++++++++++++---------- external/glutess | 2 +- 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 43f645c..d3fb0d5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -202,7 +202,7 @@ IF (VKVG_USE_GLUTESS) ADD_SUBDIRECTORY (external/glutess) ENDIF () -FILE(GLOB VKVG_SRC src/*.c) +FILE(GLOB VKVG_OBJ_SRC src/*.c) SET (VKVG_PUBLIC_HEADERS "include/vkvg.h") IF (VKVG_SVG) @@ -211,12 +211,13 @@ IF (VKVG_SVG) ELSE() SET (VKVG_PUBLIC_HEADERS "${VKVG_PUBLIC_HEADERS};include/vkvg-svg.h") FILE(GLOB NSVG_SRC src/nsvg/*.c) - LIST (APPEND VKVG_SRC ${NSVG_SRC}) + LIST (APPEND VKVG_OBJ_SRC ${NSVG_SRC}) ENDIF() CONFIGURE_FILE(vkvg.pc.in vkvg.pc @ONLY) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/vkvg.pc DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig) + FUNCTION (setup_lib LibName) LIST (APPEND VKVG_TARGETS ${LibName}) @@ -274,9 +275,28 @@ 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 + $<$:${FREETYPE_INCLUDE_DIRS}> + $<$:${HarfBuzz_INCLUDE_DIRS}> + $<$:${Fontconfig_INCLUDE_DIRS}> + $<$>:${CMAKE_CURRENT_SOURCE_DIR}/src/nsvg> + $<$:${CMAKE_CURRENT_SOURCE_DIR}/src/recording> + $<$:${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) + IF (vkvg_has_root_project) IF (VKVG_BUILD_SHARED_LIBS) - ADD_LIBRARY("${PROJECT_NAME}" SHARED ${VKVG_SRC} ${SHADERS} ${SHADERS_H}) + 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) @@ -285,7 +305,7 @@ IF (vkvg_has_root_project) ENDIF() setup_lib ("${PROJECT_NAME}") ELSE() - ADD_LIBRARY("${PROJECT_NAME}" STATIC ${VKVG_SRC} ${SHADERS} ${SHADERS_H} ) + 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) @@ -299,12 +319,12 @@ ELSE() SET_PROPERTY(TARGET glutess PROPERTY POSITION_INDEPENDENT_CODE ON) ENDIF() - ADD_LIBRARY("${PROJECT_NAME}_shared" SHARED ${VKVG_SRC} ${SHADERS} ${SHADERS_H}) + 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} ${SHADERS} ${SHADERS_H} ) + 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") @@ -428,10 +448,7 @@ ELSE() ENDIF() IF (SHADERS_H) - FOREACH(VKVG_TARGET IN ${VKVG_TARGETS}) - MESSAGE(STATUS "TARGETS: ${VKVG_TARGET}") - ADD_DEPENDENCIES("${VKVG_TARGET}" BuildShadersHeader) - ENDFOREACH() + ADD_DEPENDENCIES("${PROJECT_NAME}_obj" BuildShadersHeader) ENDIF () IF (BUILD_SHARED_LIBS) diff --git a/external/glutess b/external/glutess index 1d24544..d8a6dc2 160000 --- a/external/glutess +++ b/external/glutess @@ -1 +1 @@ -Subproject commit 1d24544c4abca8096096cbb016f3c00d0f5a9c0e +Subproject commit d8a6dc21c3365bcb2d14955b1ada32a0d461f1a1 -- 2.47.3