Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
171 views
in Technique[技术] by (71.8m points)

c++ - Is it possible to write a GLOB_RECURSE in cmake that ignores files ending in a certain way?

I have the following GLOB_RECURSE in my cmake config to add to my project all the cpp files

file(GLOB_RECURSE SOURCES CONFIGURE_DEPENDS src/*.cpp)

Will be possible to add some rule to ignore certain files? I will like to ignore files ending with test.cpp in their name.

Maybe there is something like this?

file(GLOB_RECURSE SOURCES CONFIGURE_DEPENDS src/*{!(test),}.cpp)
question from:https://stackoverflow.com/questions/65833543/is-it-possible-to-write-a-glob-recurse-in-cmake-that-ignores-files-ending-in-a-c

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

May be you can try with Negative Look ahead. However it will be easier to do t like this:

file(GLOB_RECURSE FILES CONFIGURE_DEPENDS src/*.cpp)

foreach( FILE ${FILES})
  if (${FILE} MATCHES test.cpp)
    list(APPEND TESTS ${FILE})
  else()
    list(APPEND SOURCES ${FILE})
  endif()
endforeach()

This way you can use sources to compile and you will also have the test list ready.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...