<div dir="ltr"><p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">Hi</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US"> </span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">I'm
learning how to use hierarchical directories in CMake and am trying to get an
example to work that I saw on YouTube. The example isn't doing what I expect so
I would be grateful for some help in understanding why.</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US"> </span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">I am running
CMake 3.10.2 on Ubuntu 18.04 (Microsoft WSL) and using make.</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US"> </span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">I have a
project called 'cmake-good' that should build library 'libsay-hello.a' and
executable 'cmake-good'.</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US"> </span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">Here's
the directory tree (excluding CMake artifacts which I don't think I need to
show):</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US"> </span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New"">├── CMakeLists.txt</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New"">├── build</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New"">│   ├── CMakeCache.txt</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New"">│   ├── CMakeFiles</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New"">│   ├── Makefile</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New"">│   ├── cmake_install.cmake</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New"">│   ├── hello-exe</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New"">│   │   ├── Makefile</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New"">│   │   ├── cmake-good</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New"">│   └── say-hello</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New"">│      
├── Makefile</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New"">│      
└── libsay-hello.a</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New"">├── hello-exe</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New"">│   ├── CMakeLists.txt</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New"">│   └── main.cpp</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New"">├── say-hello</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New"">   
├── CMakeLists.txt</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New"">   
└── src</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New"">        └── say-hello</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New"">            ├── hello.cpp</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New"">            └── hello.hpp</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New""> </span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">Here are
the CMakeLists.txt files:</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US" style="font-family:"Courier New""> </span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">1) Top
level CMakeLists.txt:</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US"> </span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">cmake_minimum_required(VERSION
3.10)</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">project(MyProject
VERSION 1.0.0)</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">add_subdirectory(say-hello)</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">add_subdirectory(hello-exe)</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US"> </span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">2)
hello_exe/CMakeLists.txt:</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US"> </span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">add_executable(cmake-good
main.cpp )</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">target_link_libraries(cmake-good
PRIVATE say-hello)</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US"> </span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">3) say-hello/CMakeLists.txt:</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US"> </span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">add_library(</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">    say-hello</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">    src/say-hello/hello.hpp</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">    src/say-hello/hello.cpp</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">)</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">target_include_directories(say-hello
PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/src")</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US"> </span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">My
problem is that I expect to see:</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US"> </span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">    hello-exe/cmake-good</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">    say-hello/libsay-hello.a</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US"> </span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">but I
see:</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US"> </span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">    build\hello-exe\cmake-good</span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">    build\say-hello\libsay-hello.a   </span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US"> </span></p>

<p class="gmail-MsoPlainText" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">Why is
that?</span></p></div>