Hi Dr. Stonier,
I'd love a way to customise them too - bit like gentoo with its USE flags. Not really possible at the moment though. Not sure if they have plans in that direction either. Anyway, its not a really big problem. I usually simply fork a package, sometimes even share resources (cmake files) betwen the packages so I'm not creating redundancies. We did this with opencv at our company to create an embedded version of opencv without all the gui components.
If your ode ros package is exporting its headers properly, you shouldn't need to do anything except add ODE as a dependency in your manifest.xml. Just make sure the exports in the ODE package are pointing to the correct place. At the very least that will let you know how to reference drawstuff.
You are building a library and an executable. CMake and RoS are probably using parallel jobs in which case it tries to build the library and the exeuctable at the same time. However on the first run, the library will take longer and so when the executable tries to link, it can't find the library. Note that you won't be seeing this problem if your ROS_PARALLEL_JOBS is set to 1.To fix it, simply add the following line to your cmake and it will make sure it will delay building the executable until after the library has been built.add_dependencies(robot_sim ${PROJECT_NAME})
By the way - are you korean?