Hi


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.



I am running CMake 3.10.2 on Ubuntu 18.04 (Microsoft WSL) and using make.



I have a project called 'cmake-good' that should build library
'libsay-hello.a' and executable 'cmake-good'.



Here's the directory tree (excluding CMake artifacts which I don't think I
need to show):



├── CMakeLists.txt

├── build

│   ├── CMakeCache.txt

│   ├── CMakeFiles

│   ├── Makefile

│   ├── cmake_install.cmake

│   ├── hello-exe

│   │   ├── Makefile

│   │   ├── cmake-good

│   └── say-hello

│       ├── Makefile

│       └── libsay-hello.a

├── hello-exe

│   ├── CMakeLists.txt

│   └── main.cpp

├── say-hello

    ├── CMakeLists.txt

    └── src

        └── say-hello

            ├── hello.cpp

            └── hello.hpp



Here are the CMakeLists.txt files:



1) Top level CMakeLists.txt:



cmake_minimum_required(VERSION 3.10)

project(MyProject VERSION 1.0.0)

add_subdirectory(say-hello)

add_subdirectory(hello-exe)



2) hello_exe/CMakeLists.txt:



add_executable(cmake-good main.cpp )

target_link_libraries(cmake-good PRIVATE say-hello)



3) say-hello/CMakeLists.txt:



add_library(

    say-hello

    src/say-hello/hello.hpp

    src/say-hello/hello.cpp

)

target_include_directories(say-hello PUBLIC
"${CMAKE_CURRENT_SOURCE_DIR}/src")



My problem is that I expect to see:



    hello-exe/cmake-good

    say-hello/libsay-hello.a



but I see:



    build\hello-exe\cmake-good

    build\say-hello\libsay-hello.a



Why is that?
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake

Reply via email to