function(PrConfigTarget TGT_NAME)
    target_compile_definitions(${TGT_NAME}
        PUBLIC
            $<$<CONFIG:Debug>:PR_CONFIG_DEBUG>
            $<$<CONFIG:Editor>:PR_CONFIG_DEBUG>
            $<$<BOOL:${PR_IS_EDITOR}>:PR_IS_EDITOR>
            $<$<PLATFORM_ID:Windows>:PR_PLAT_WINDOWS>
            $<$<PLATFORM_ID:Android>:PR_PLAT_ANDROID>
            $<$<PLATFORM_ID:Linux>:PR_PLAT_LINUX>
            $<$<STREQUAL:${PR_GRAPHICS_API},GL>:PR_GFX_USE_GL>
            $<$<STREQUAL:${PR_GRAPHICS_API},VK>:PR_GFX_USE_VK>
        )
    if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
        set_target_properties(${TGT_NAME} PROPERTIES CXX_VISIBILITY_PRESET hidden)
    endif()
endfunction()