使用cmake與ROS,一個可以結束了一個目錄樹是這樣的:查找源根目錄中的CMake的ROS
+src
-CMakeLists.txt (symbolic link to toplevel.cmake)
-CMakeExtras.txt (I want to use this)
+computing
+perception
+per1
-CMakeLists.txt
+per2
-CMakeLists.txt
+detection
+det1
-CMakeLists.txt
+sensing
+dev1
-CMakeLists.txt
在CMakeExtras.txt
我想成立CMake的變量,加載通用包剛一旦等例如像:
set(CMAKE_CXX_FLAGS "-O3 -Wall ${CMAKE_CXX_FLAGS}")
find_package(Boost REQUIRED COMPONENTS thread)
我怎樣才能做到這一點? INCLUDE()
命令是顯而易見的,但我無法編輯根級別CMakeLists.txt
,似乎沒有一個變量可以允許類似INCLUDE("${OVERALL_SRC_DIR}/CMakeExtras.txt)
之類的變量。我想:
catkin_make -DOVERALL_SRC_DIR=~/project/src
會是一個解決方案,但有沒有更好的方法?
不太熟悉ROS,所以你的問題聽起來有點不清楚。如果你不能編輯頂級的'CMakeLists.txt',你想在哪裏放置'include($ {OVERALL_SRC_DIR} /CMakeExtras.txt)?或者你可以? – Massimiliano
儘管我擁有107個東西,但我仍然可以手動將其放入每個'CMakeLists.txt'中。不過,我想避免爲每個文件定製路徑。編寫自定義規則也可能是另一種方法? –