omniidl is not found if omniORB is found by pkg-config in a non-standard location
cmake fails to find omniidl as I don't have it set on my PATH
. This is not a problem if I use -DTANGO_OMNI_BASE
as it sets the OMNIIDL_PATH variable. Here is an example where omniORB is being found because it is in my PKG_CONFIG_PATH
:
Example of cmake failing when `OMNIIDL_PATH` is not defined
``` [15:04:18] tri@tango /home/tri/osl/tango/cppTango/build > echo $PKG_CONFIG_PATH /opt/tri/omniORB-4.2.5/lib/pkgconfig/ /usr/local/lib64/pkgconfig [15:04:19] tri@tango /home/tri/osl/tango/cppTango/build > cmake .. ... -- Checking for one of the modules 'tangoidl' -- Checking for one of the modules 'omniORB4>=4.2.2' -- Checking for one of the modules 'omniCOS4>=4.2.2' -- Checking for one of the modules 'omniDynamic4>=4.2.2' Using OMNIIDL_PATH= -- Testing omniidl for bug in generated c++ for IDL union CMake Warning at configure/find_and_check_omniidl.cmake:20 (message): Failed to generate c++ code with omniidl:Call Stack (most recent call first): configure/CMakeLists.txt:78 (include) CMakeLists.txt:76 (include)
... Using IDL=/usr/local/include CMake Error at cppapi/include/tango/idl/CMakeLists.txt:4 (message): Could not find omniidl
-- Configuring incomplete, errors occurred! See also "/home/tri/osl/tango/cppTango/build/CMakeFiles/CMakeOutput.log". See also "/home/tri/osl/tango/cppTango/build/CMakeFiles/CMakeError.log".
</details>
Probably `OMNIIDL_PATH` should be set when using pkg-config to find omniORB.
Edited by Thomas Ives