diff --git a/Modules/Platform/HP-UX.cmake b/Modules/Platform/HP-UX.cmake index 80896748e..9584cbdbe 100644 --- a/Modules/Platform/HP-UX.cmake +++ b/Modules/Platform/HP-UX.cmake @@ -88,13 +88,19 @@ ELSE(CMAKE_COMPILER_IS_GNUCXX) SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-g") ENDIF(CMAKE_COMPILER_IS_GNUCXX) # set flags for gcc support -IF(CMAKE_SIZEOF_VOID_P EQUAL 4) - LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH /usr/lib/hpux32) -ELSE(CMAKE_SIZEOF_VOID_P EQUAL 4) - LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH /usr/lib/hpux64) -ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 4) INCLUDE(Platform/UnixPaths) +# Look in both 32-bit and 64-bit implict link directories, but tell +# CMake not to pass the paths to the linker. The linker will find the +# library for the proper architecture. In the future we should detect +# which path will be used by the linker. Since the pointer type size +# CMAKE_SIZEOF_VOID_P is not set until after this file executes, we +# would need to append to CMAKE_SYSTEM_LIBRARY_PATH at a later point +# (after CMakeTest(LANG)Compiler.cmake runs for at least one language). +LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH /usr/lib/hpux32) +LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH /usr/lib/hpux64) +LIST(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES + /usr/lib/hpux32 /usr/lib/hpux64) IF(NOT CMAKE_COMPILER_IS_GNUCC) SET (CMAKE_C_CREATE_PREPROCESSED_SOURCE " -E > ")