CMake Code Cleaning
The big CCC
After !544 (merged) I have looked over the whole CMake code and I propose some modification. This code is quiet hard to read whereas it is really not that complicated.
-
Delete FindGLEW.cmake FindOpenThreads.cmake and use find_package( GLEW ) -
Status of FindAgg, FindICUUC, FindKWStyle, FindLTDL, FindMercurial. Are we still using those? -
Status of DeployQtConf.cmake, DeployQtConfScript.cmake, Qt.conf.in. Those file are not used anymore in OTB. -
Status of MinGWPackage.cmake. Not used in OTB. -
Status of UseSWIGLocal.cmake. Include once but no macro defined in that file is used in OTB. -
Status on CPP check and Mem check, this code seems obsolete. It can be deleted or update to be functional again. -
Status of CtestCustom.cmake.in. Used in OTB for MemCheck and to filter warnings... Not sure if it is helpful or if it hide real problems! -
Status of OTB_GENERATE_PROJECT_XML
andOTB_GENERATE_SUBPROJECTS_CMAKE
in OTBModuleEnablement.cmake. Never set in OTB. -
Status of CreateTestDriver
andCreateTestDriver_SupportBuildInIOFactories
in OTBModuleTest.cmake. Not used in OTB. -
Delete OTB_BUILD_SHARED_LIBS
-
Use cmake_host_system_information. This will make code about flag much lighter, and cleaner (SSE, arch, CFlag, CXXFlag) -
Replace isfile_symlink.cmake by built in CMake functionalities. -
Replace setif_value_in_list.cmake by built in CMake funcitonalities -
Status of Utilities/InstallTest. This folder defines a test never run in OTB. -
Remove the dummy target OTB-Package
. It's okay if packages are created only when installing the project.
Also, something should be done for the Optical Calibration CMakeLists.txt, and I quote:
#FIXME Those tests have performing local copies of header, baselines...They were migrate "as it" for now in version 5.0 but
# something cleaner could be done in the future.
#TODO Rewrite those tests and ban local copy and cmake trickery
Edited by Julien Osman