From: Wheeler, F. W (Research) <wh...@cr...> - 2003-09-18 21:23:14
|
VXLers, Brad King has implemented the basic structure for VXL to support the CMake FIND_PACKAGE(VXL) command. I have also made some changes, and perhaps enhancements, to Brad's work, and I've tested it all pretty thoroughly by getting GE VXL (our local code) to import and use VXL via the FIND_PACKAGE(VXL) command. It all seems pretty stable now. This will make it much easier, and safe, to create applications that use both VXL and, say, ITK or VTK. To see how to use the new FIND_PACKAGE(VXL) command in your own local code, see the files UseVXL.cmake and VXLConfig.cmake.in VXLSRC/config/cmake/Modules. I've also updated Appendix B (Build Systems) of the VXL book, which may be of help. I think that book is built nightly, so you might want to look right at the texinfo file VXLSRC/core/doc/book/appendix_build.texi for now. To upgrade projects, here are the main steps. * See appendix B of the VXL book. * Follow the instructions in UseVXL.cmake concerning using the FIND_PACKAGE(VXL). * In your client package do not use any .cmake file from the VXL modules dir. Look at the exported variables in VXLBLD/VXLConfig.cmake and use those variables as needed in the control structures and commands of your CMakeLists.txt files. * Note that BUILD_TESTING, BUILD_EXAMPLES are not exported anymore (they are exported with a VXL_ prefix). So make your own for your project. * If you are using UseVGUI.cmake or BUILD_VGUI, use VXL_VGUI_FOUND instead. See VXLBLD/VXLConfig.cmake. * You can get some backwards compatibility using this in the client CML.txt file. This may be helpful for dashboard builds that are already up and running using VXL_BINARY_PATH. IF( NOT VXL_DIR ) IF( VXL_BINARY_PATH ) SET( VXL_DIR ${VXL_BINARY_PATH} ) MESSAGE( "Use preferred VXL_DIR in place of VXL_BINARY_PATH" ) ENDIF( VXL_BINARY_PATH ) ENDIF( NOT VXL_DIR ) Hope you find this helpful. Fred Wheeler |