diff options
author | Alexander Neundorf <neundorf@kde.org> | 2007-05-21 14:15:42 (GMT) |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2007-05-21 14:15:42 (GMT) |
commit | 3b4aa3bf3581dc81fbdd307b9ed432a8a306a514 (patch) | |
tree | e05b2dfe3fe0083091afaeb93adfc0ed78a957af /Modules/CMakeFindBinUtils.cmake | |
parent | a7a1e40afadc4e464053da7b604ed707889919d3 (diff) | |
download | CMake-3b4aa3bf3581dc81fbdd307b9ed432a8a306a514.zip CMake-3b4aa3bf3581dc81fbdd307b9ed432a8a306a514.tar.gz CMake-3b4aa3bf3581dc81fbdd307b9ed432a8a306a514.tar.bz2 |
BUG: always search for ar, ranlib, etc. except under MSVC -> this should fix the mingw fortran test
-also generate the fortran test with the kdevelop generator
Alex
Diffstat (limited to 'Modules/CMakeFindBinUtils.cmake')
-rw-r--r-- | Modules/CMakeFindBinUtils.cmake | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/Modules/CMakeFindBinUtils.cmake b/Modules/CMakeFindBinUtils.cmake index 8eb1fa2..0527397 100644 --- a/Modules/CMakeFindBinUtils.cmake +++ b/Modules/CMakeFindBinUtils.cmake @@ -15,7 +15,22 @@ # CMAKE_INSTALL_NAME_TOOL # on UNIX, cygwin and mingw -IF(UNIX OR CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) + + +# if it's the MS C/CXX compiler, search for link +IF("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC" OR "${CMAKE_C_COMPILER_ID}" MATCHES "MSVC") + FIND_PROGRAM(CMAKE_LINKER NAMES link PATHS ${_CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH) + FIND_PROGRAM(CMAKE_LINKER NAMES link) + + IF(NOT CMAKE_LINKER) + MESSAGE(FATAL_ERROR "Could not find link, please check your installation.") + ENDIF(NOT CMAKE_LINKER) + + MARK_AS_ADVANCED(CMAKE_LINKER) + +# in all other cases search for ar, ranlib, etc. +ELSE("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC" OR "${CMAKE_C_COMPILER_ID}" MATCHES "MSVC") + FIND_PROGRAM(CMAKE_AR NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ar PATHS ${_CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH) FIND_PROGRAM(CMAKE_AR NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ar) @@ -32,9 +47,10 @@ IF(UNIX OR CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) FIND_PROGRAM(CMAKE_LINKER NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ld) MARK_AS_ADVANCED(CMAKE_AR CMAKE_RANLIB CMAKE_STRIP CMAKE_LINKER) +ENDIF("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC" OR "${CMAKE_C_COMPILER_ID}" MATCHES "MSVC") -ENDIF(UNIX OR CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) +# on Apple there really should be install_name_tool IF(APPLE) FIND_PROGRAM(CMAKE_INSTALL_NAME_TOOL NAMES install_name_tool PATHS ${_CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH) FIND_PROGRAM(CMAKE_INSTALL_NAME_TOOL NAMES install_name_tool) @@ -46,15 +62,3 @@ IF(APPLE) MARK_AS_ADVANCED(CMAKE_INSTALL_NAME_TOOL) ENDIF(APPLE) -IF("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC" OR "${CMAKE_C_COMPILER_ID}" MATCHES "MSVC") - FIND_PROGRAM(CMAKE_LINKER NAMES link PATHS ${_CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH) - FIND_PROGRAM(CMAKE_LINKER NAMES link) - - IF(NOT CMAKE_LINKER) - MESSAGE(FATAL_ERROR "Could not find link, please check your installation.") - ENDIF(NOT CMAKE_LINKER) - - MARK_AS_ADVANCED(CMAKE_LINKER) -ENDIF("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC" OR "${CMAKE_C_COMPILER_ID}" MATCHES "MSVC") - -# maybe check for more tools ? |