From: Jean-Philippe Bruyère Date: Mon, 24 Jan 2022 01:43:38 +0000 (+0000) Subject: add target include dirs to vkh_obj X-Git-Url: https://git.osiis.dedyn.io/?a=commitdiff_plain;h=9bbc6569e4a3cf9bc2454d1af1f6161012ad0afb;p=jp%2Fvkhelpers.git add target include dirs to vkh_obj --- diff --git a/CMakeLists.txt b/CMakeLists.txt index a645ad2..34ad335 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,12 +3,12 @@ CMAKE_MINIMUM_REQUIRED(VERSION 3.16) OPTION (VKH_BUILD_SHARED_LIB "Build using shared libraries" OFF) OPTION(VKH_ENABLE_VMA "enable Vulkan Memory Allocator" ON) -if (VKH_ENABLE_VMA) - SET(LANG "CXX") -ELSE() +#if (VKH_ENABLE_VMA) +# SET(LANG "CXX") +#ELSE() SET(LANG "C") -ENDIF() -SET(CMAKE_CXX_STANDARD 11) +#ENDIF() +SET(CMAKE_${LANG}_STANDARD 11) PROJECT(vkh VERSION 0.1.0 DESCRIPTION "Vulkan helpers library" LANGUAGES ${LANG}) @@ -49,6 +49,7 @@ endif () IF (VKH_ENABLE_VMA) ADD_DEFINITIONS (-DUSE_VMA) ENDIF () + IF (ENABLE_VALIDATION) ADD_DEFINITIONS (-DVKH_USE_VALIDATION) ENDIF () @@ -58,9 +59,6 @@ FIND_PACKAGE(Vulkan REQUIRED) INCLUDE(GNUInstallDirs) FILE(GLOB VKH_SRC src/*.c) -if (VKH_ENABLE_VMA) - LIST(APPEND VKH_SRC src/VmaUsage.cpp) -ENDIF() CONFIGURE_FILE(vkh.pc.in vkh.pc @ONLY) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/vkh.pc DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig) @@ -94,22 +92,37 @@ ENDFUNCTION(setup_lib) GET_DIRECTORY_PROPERTY (vkh_has_root_project PARENT_DIRECTORY) +if (VKH_ENABLE_VMA) + ADD_LIBRARY(libVMA OBJECT src/VmaUsage.cpp) + SET_PROPERTY(TARGET libVMA PROPERTY POSITION_INDEPENDENT_CODE ON) +ENDIF() + +ADD_LIBRARY(vkh_obj OBJECT ${VKH_SRC}) +SET_PROPERTY(TARGET vkh_obj PROPERTY POSITION_INDEPENDENT_CODE ON) +TARGET_INCLUDE_DIRECTORIES(vkh_obj + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/src + PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR}/include + ${Vulkan_INCLUDE_DIRS} +) + IF (vkh_has_root_project) IF (VKH_BUILD_SHARED_LIBS) - ADD_LIBRARY("${PROJECT_NAME}" SHARED ${VKH_SRC}) + ADD_LIBRARY("${PROJECT_NAME}" SHARED $ $) TARGET_COMPILE_DEFINITIONS("${PROJECT_NAME}" PUBLIC -DVKH_SHARED_BUILD) setup_lib ("${PROJECT_NAME}") ELSE() - ADD_LIBRARY("${PROJECT_NAME}" STATIC ${VKH_SRC}) + ADD_LIBRARY("${PROJECT_NAME}" STATIC $ $) setup_lib ("${PROJECT_NAME}") ENDIF() ELSE() - ADD_LIBRARY("${PROJECT_NAME}_shared" SHARED ${VKH_SRC}) + ADD_LIBRARY("${PROJECT_NAME}_shared" SHARED $ $) SET_PROPERTY(TARGET "${PROJECT_NAME}_shared" PROPERTY POSITION_INDEPENDENT_CODE ON) TARGET_COMPILE_DEFINITIONS("${PROJECT_NAME}_shared" PUBLIC -DVKH_SHARED_BUILD) setup_lib ("${PROJECT_NAME}_shared") - ADD_LIBRARY("${PROJECT_NAME}_static" STATIC ${VKH_SRC}) + ADD_LIBRARY("${PROJECT_NAME}_static" STATIC $ $) target_compile_definitions("${PROJECT_NAME}_static" PUBLIC -DVKH_STATIC_BUILD) SET_PROPERTY(TARGET "${PROJECT_NAME}_static" PROPERTY POSITION_INDEPENDENT_CODE OFF) setup_lib ("${PROJECT_NAME}_static")