The problem is that CMake does not call the linker. It invokes the linker by calling the compiler and passing flags through it.
In the module, Darwin.cmake, you find: SET(CMAKE_C_LINK_FLAGS "-Wl,-headerpad_max_install_names") SET(CMAKE_CXX_LINK_FLAGS "-Wl,-headerpad_max_install_names") But in Darwin-icc.cmake, you find: SET(CMAKE_C_LINK_FLAGS "-headerpad_max_install_names") SET(CMAKE_CXX_LINK_FLAGS "-headerpad_max_install_names") Changing the latter to match the former should fix the issue. However, IMHO, a correct implementation would either call the linker directly or "escape" the flags (with the "-Wl," prefix) so that they get passed correctly. On Dec 22, 2010, at 2:03 PM, Cochran, Bill wrote: > I was wondering if anyone has seen a problem like this before. It appears > cmake is not passing arguments to the linker correctly. > > > =============== > Configuring AMP > =============== > -- The C compiler identification is GNU > -- The CXX compiler identification is GNU > -- Checking whether C compiler has -isysroot > -- Checking whether C compiler has -isysroot - yes > -- Checking whether C compiler supports OSX deployment target flag > -- Checking whether C compiler supports OSX deployment target flag - yes > -- Check for working C compiler: /opt/openmpi-1.3.2-gcc-4.6-debug/bin/mpicc > -- Check for working C compiler: > /opt/openmpi-1.3.2-gcc-4.6-debug/bin/mpicc -- broken > CMake Error at /:opt:cmake/CMake > 2.8-3.app/Contents/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:52 > (MESSAGE): > The C compiler "/opt/openmpi-1.3.2-gcc-4.6-debug/bin/mpicc" is not able > to > compile a simple test program. > It fails with the following output: > Change Dir: /Users/zfw/repository/amp/build/debug/CMakeFiles/CMakeTmp > Run Build Command:/usr/bin/make "cmTryCompileExec/fast" > > - Ignored: > /usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make > CMakeFiles/cmTryCompileExec.dir/build > > "/:opt:cmake/CMake 2.8-3.app/Contents/bin/cmake" -E cmake_progress_report > /Users/zfw/repository/amp/build/debug/CMakeFiles/CMakeTmp/CMakeFiles 1 > > Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o > > /opt/openmpi-1.3.2-gcc-4.6-debug/bin/mpicc -o > CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c > /Users/zfw/repository/amp/build/debug/CMakeFiles/CMakeTmp/testCCompiler.c > > Linking C executable cmTryCompileExec > > "/:opt:cmake/CMake 2.8-3.app/Contents/bin/cmake" -E cmake_link_script > CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 > > /opt/openmpi-1.3.2-gcc-4.6-debug/bin/mpicc -Wl,-search_paths_first > -headerpad_max_install_names > CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec > > gcc: error: unrecognized option '-h' > > make[1]: *** [cmTryCompileExec] Error 1 > > make: *** [cmTryCompileExec/fast] Error 2 > > > > > > CMake will not be able to correctly generate this project. > Call Stack (most recent call first): > CMakeLists.txt:17 (PROJECT) > > > -- Configuring incomplete, errors occurred! > > > For some reason, the linker flag ?headerpad_max_install_names is not being > prefixed with ?Wl,. Any thoughts? > > Bill > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the CMake FAQ at: > http://www.cmake.org/Wiki/CMake_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.cmake.org/mailman/listinfo/cmake _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake