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

Reply via email to