I would like to have some clarification about module and include effective search order:

I am in the following situation:

I use (configure) a project that is overriding some CMake standard Find modules by doing in his main CMakeLists.txt file:

SET(CMAKE_MODULE_PATH "<ProjectModuleFolder>;${CMAKE_MODULE_PATH}")

I would like to being able to override, at configure time the project modules with mine.

Doing:
cmake -DCMAKE_MODULE_PATH:PATH=<myModuleFolder>
does not work (my files are searched AFTER projects files)

Is it safe to just change project CMakeLists.txt to
SET(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};<ProjectModuleFolder>")

Or, on older CMake version this could result in getting standard CMake modules found first?

Otherwise I have to propose a safer patch like:

set(USER_MODULE_PATH "" CACHE PATH "set this to define a folder for module override")
if(USER_MODULE_PATH)
set(CMAKE_MODULE_PATH "${USER_MODULE_PATH};<ProjectModuleFolder>;${CMAKE_MODULE_PATH}")
else(USER_MODULE_PATH)
   set(CMAKE_MODULE_PATH "<ProjectModuleFolder>;${CMAKE_MODULE_PATH}")
endif(USER_MODULE_PATH)


Thanks in advance

Luigi


_______________________________________________
Powered by www.kitware.com

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

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

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

Reply via email to