Thanks, Will
Brad King wrote:
On 05/24/2011 03:04 PM, Will Dicharry wrote:Brad King wrote:Won't this have the same problem? HDF5_FOUND gets set by FindPackageHandleStandardArgs, so the second time find_package(HDF5) gets called on a system with the autoconf HDF5 build we'll take the wrong control path and call get_target_properties on targets that don't exist.Therefore if someone finds HDF5 twice the second time may take the wrong logic path. The proper value to test after the find_package call is HDF5_FOUND to know whether or not the config file was found and loaded.Yes, you're right.That's why I used the INCLUDE_DIR in the first place (forgetting about the backwards compatibility thing at the end). Is there something else I can branch on?The find_package command will set HDF5_DIR to the directory containing the config file. However, there is a different organization we can use. The general form should be something like if(NOT HDF5_FOUND) find_package(HDF5 QUIET NO_MODULE) if(HDF5_FOUND) # ... map hdf5-config values to our outputs endif() endif() if(NOT HDF5_FOUND) # old-style search endif() if(HDF5_FOUND) # Generic logic (if any) when HDF5 is found by either method. # Logic should be safe to run twice or have its own guard. endif() By including the "NOT HDF5_FOUND" guard around each block then it does not matter how many times the module is included. -Brad
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ cmake-developers mailing list cmake-developers@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers