# add\_library(ALIAS) and target\_include\_directories

**URL:** <https://discourse.cmake.org/t/add-library-alias-and-target-include-directories/1877>\
**Category:** Code\
**Created:** [September 21, 2020, 7:13pm UTC](https://discourse.cmake.org/t/add-library-alias-and-target-include-directories/1877 "2020-09-21T19:13:23Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![davemilter](https://discourse.cmake.org/user_avatar/discourse.cmake.org/davemilter/32/541_2.png) [@davemilter](https://discourse.cmake.org/u/davemilter)\
**Post date:** [September 21, 2020, 7:13pm UTC](https://discourse.cmake.org/t/add-library-alias-and-target-include-directories/1877/1 "2020-09-21T19:13:23Z")

</div>

For linux I use ` find_package(ICU 57.1 COMPONENTS uc i18n data REQUIRED)` all works fine. But for other platforms I want build icu package included as submodule.  
Again all works fine:

```auto
target_include_directories(icuuc PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/common")
target_compile_definitions(icuuc PUBLIC ${DEFS})

target_link_libraries(app PRIVATE icuuc)

```

All works fine again, but now I want merge code for linux and other platforms.  
On linux the name is `ICU::uc` and in other cases `icuuc`.

I try to add `add_library(ICU::uc ALIAS icuuc)` but looks like  
`target_include_directories` and `target_compile_definitions` are lost in case of alias usage. I got error:

```auto
file not found
#include <unicode/uversion.h>

```

But if replace `target_link_libraries(app PRIVATE ICU::uc)` with `target_link_libraries(app PRIVATE icuuc)` all build just fine.

So at least `larget_include_directories` doesn’t work for `ALIAS`,  
is it the bug or I missed something?

I test on Linux/Makefile and macOS/Makefile

---

<div class="post-metadata">

**Author:** ![ben.boeckel](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.cmake.org/u/ben.boeckel)\
**Post date:** [November 22, 2020, 7:20pm UTC](https://discourse.cmake.org/t/add-library-alias-and-target-include-directories/1877/3 "2020-11-22T19:20:51Z")

</div>

Hmm. VTK uses `ALIAS` libraries extensively without any issue. Could you please boil this down to a full example that could be tested on its own? Thanks.
