On 24 June 2017 at 05:06, Sean Wayland <seanwayl...@gmail.com> wrote: > Hi all, > I am having trouble getting an application to build. > I keep getting this error "cannot find source file" > > > /Users/seanwayland/Desktop/CATSMAT-masterfri/catsmat/catsmat/Analysis/src/*.cpp > > This is the first folder containing sources and when it doesn't find > anything here it stops. > > There are indeed .cpp files in that directory. > I tried putting a ./ at the start of the directory tree but it didn't help. > > My cmake file is below .. I am using CLION 2017.1.1 and OSX 10.12.1 > > Can anyone shed any light ??
My high level comment would be to not glob for source files. This an anti-pattern and will break your incremental builds. For example if you add a new source files say "foo.cpp" and then run "make" (or whatever your CMake generator is) the build will fail if "foo.cpp" is actually needed because CMake will not know it needs to re-configure to discover "foo.cpp" and so will not try to build "foo.cpp". By listing source files manually in "CMakeLists.txt" files you will force CMake to re-configure when you add/remove source files from the build. I also note you are setting a very old minimum CMake version and are using the old style condition syntax (condition appears in `endif()` and `else()`). I'd really advise you don't use that syntax and set a high minimum CMake version so you get some of the useful new features in CMake unless you have a specific reason for supporting such an old version of CMake. As for your globbing problem * This is definitely wrong ``` set (CATSMAT_DIR ./Users/seanwayland/Desktop/CATSMAT-masterfri/catsmat/catsmat/ ) ``` The leading `.` means current directory and I doubt there's a `Users` folder in your current directory. Also hard coding paths like is very bad style and is not portable. * This doesn't make sense ``` file (GLOB CORESRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${SRC}) ``` "${SRC}" is a list of absolute paths but then you tell the `file()` command to assume the paths are relative to `${CMAKE_CURRENT_SOURCE_DIR}`. -- 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: http://public.kitware.com/mailman/listinfo/cmake