Le sam. 9 mars 2019 à 08:44, workbe...@gmx.at <workbe...@gmx.at> a écrit :
> Hi everyone, > > i've a project setup that looks like this: > > > abc.h > > def.h > > and all my other .cpp and .h files are in the folder intern. Now my > CMakeLists.txt looks like this: > > cmake_minimum_required(VERSION 3.7) > project(BS_Application) > set(SRC > BS_AppTypes.hpp > BS_IEvent.hpp > BS_ISystem.hpp > BS_IWindow.hpp > BS_ITimerTask.hpp > BS_IEventConsumer.hpp > BS_Application.cpp > BS_Button.cpp > BS_ContextSDL.cpp > BS_ISystem.cpp > BS_System.cpp > BS_SystemSDL.cpp > BS_WindowSDL.cpp > BS_ContextSDL.cpp > BS_DisplayManagerSDL.cpp > BS_Button.cpp > BS_EventManager.cpp > BS_EventPrinter.cpp > BS_ModifierKeys.cpp > BS_DisplayManager.cpp > ) > set(INC > intern > ) > include_directories(${INC}) > add_library(BS_Application STATIC ${SRC}) > > Where all files above BS_Application.cpp are in the folder intern but he > is not able to find BS_Application.cpp but i added it to the > include_direcotires, what am i doing wrong here ? > First of all usage of include_directories is a discouraged old-style variable oriented CMake. You should prefer target oriented rule. Namelly target_include_directories(). You can have a look at: https://steveire.wordpress.com/2017/11/05/embracing-modern-cmake/ and/or refered presentation from Daniel Pfeifer or Mathieu Ropert there in. It'll get you a broad view of the "Modern CMake way to go". Now both commands (target_include_directories or include_directories) influence where *header* file are found. So that if you say include_directories(${INC}) add_library(BS_Application STATIC BS_Application.cpp) CMake won't go looking for "BS_Application.cpp" inside ${INC}. You should refer to your source files with the proper path: i.e. add_library(BS_Application STATIC ${INC}/BS_Application.cpp) You may consider having a look at how to use target_source as well. Craig Scott published a nice blog entry about that: https://crascit.com/2016/01/31/enhanced-source-file-handling-with-target_sources/ Regards, Eric > best regards! > > -- > > 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 > -- Eric
-- 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