summaryrefslogtreecommitdiffstats
path: root/Modules/Compiler
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-08-21 13:54:42 (GMT)
committerBrad King <brad.king@kitware.com>2009-08-21 13:54:42 (GMT)
commit2ce6a7d0fbbd70c33592a98d204d8db7fad9a895 (patch)
treec8c015c0894c56a2ce5742a49dcf754ea96099d8 /Modules/Compiler
parent8f84ec9ad7fe76e3767b3b3351a8b46f46b199a3 (diff)
downloadCMake-2ce6a7d0fbbd70c33592a98d204d8db7fad9a895.zip
CMake-2ce6a7d0fbbd70c33592a98d204d8db7fad9a895.tar.gz
CMake-2ce6a7d0fbbd70c33592a98d204d8db7fad9a895.tar.bz2
Split Intel compiler information files
This moves platform-independent Intel compiler flags into separate "Compiler/Intel-<lang>.cmake" modules. Platform-specific flags are left untouched.
Diffstat (limited to 'Modules/Compiler')
-rw-r--r--Modules/Compiler/Intel-C.cmake16
-rw-r--r--Modules/Compiler/Intel-CXX.cmake16
-rw-r--r--Modules/Compiler/Intel-Fortran.cmake20
-rw-r--r--Modules/Compiler/Intel.cmake11
4 files changed, 63 insertions, 0 deletions
diff --git a/Modules/Compiler/Intel-C.cmake b/Modules/Compiler/Intel-C.cmake
index abf384a..57637b9 100644
--- a/Modules/Compiler/Intel-C.cmake
+++ b/Modules/Compiler/Intel-C.cmake
@@ -1 +1,17 @@
+INCLUDE(Compiler/Intel)
+IF(XIAR)
+ SET(CMAKE_C_CREATE_STATIC_LIBRARY
+ "${XIAR} cr <TARGET> <LINK_FLAGS> <OBJECTS> "
+ "${XIAR} -s <TARGET> ")
+ENDIF(XIAR)
+
SET(CMAKE_C_VERBOSE_FLAG "-v")
+
+SET(CMAKE_C_FLAGS_INIT "")
+SET(CMAKE_C_FLAGS_DEBUG_INIT "-g")
+SET(CMAKE_C_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
+SET(CMAKE_C_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
+SET(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
+
+SET(CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+SET(CMAKE_C_CREATE_ASSEMBLY_SOURCE "<CMAKE_C_COMPILER> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
diff --git a/Modules/Compiler/Intel-CXX.cmake b/Modules/Compiler/Intel-CXX.cmake
index f3c6b5f..d1ee60f 100644
--- a/Modules/Compiler/Intel-CXX.cmake
+++ b/Modules/Compiler/Intel-CXX.cmake
@@ -1 +1,17 @@
+INCLUDE(Compiler/Intel)
+IF(XIAR)
+ SET(CMAKE_CXX_CREATE_STATIC_LIBRARY
+ "${XIAR} cr <TARGET> <LINK_FLAGS> <OBJECTS> "
+ "${XIAR} -s <TARGET> ")
+ENDIF(XIAR)
+
SET(CMAKE_CXX_VERBOSE_FLAG "-v")
+
+SET(CMAKE_CXX_FLAGS_INIT "")
+SET(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
+SET(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
+SET(CMAKE_CXX_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
+SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
+
+SET(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+SET(CMAKE_CXX_CREATE_ASSEMBLY_SOURCE "<CMAKE_CXX_COMPILER> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
diff --git a/Modules/Compiler/Intel-Fortran.cmake b/Modules/Compiler/Intel-Fortran.cmake
index 7f7c128..f0db1a8 100644
--- a/Modules/Compiler/Intel-Fortran.cmake
+++ b/Modules/Compiler/Intel-Fortran.cmake
@@ -1 +1,21 @@
+INCLUDE(Compiler/Intel)
+IF(XIAR)
+ SET(CMAKE_Fortran_CREATE_STATIC_LIBRARY
+ "${XIAR} cr <TARGET> <LINK_FLAGS> <OBJECTS> "
+ "${XIAR} -s <TARGET> ")
+ENDIF(XIAR)
+
+SET(CMAKE_SHARED_LIBRARY_Fortran_FLAGS "-fPIC")
+SET(CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS "-shared")
+SET(CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS "-i_dynamic")
+SET(CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG "-Wl,-rpath,")
+SET(CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG_SEP ":")
+SET(CMAKE_SHARED_LIBRARY_SONAME_Fortran_FLAG "-Wl,-soname,")
+
+SET(CMAKE_Fortran_FLAGS_INIT "")
+SET(CMAKE_Fortran_FLAGS_DEBUG_INIT "-g")
+SET(CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "-Os")
+SET(CMAKE_Fortran_FLAGS_RELEASE_INIT "-O3")
+SET(CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
+SET(CMAKE_Fortran_MODDIR_FLAG "-module ")
SET(CMAKE_Fortran_VERBOSE_FLAG "-v")
diff --git a/Modules/Compiler/Intel.cmake b/Modules/Compiler/Intel.cmake
new file mode 100644
index 0000000..030f2c0
--- /dev/null
+++ b/Modules/Compiler/Intel.cmake
@@ -0,0 +1,11 @@
+if(NOT XIAR)
+ set(_intel_xair_hints)
+ foreach(lang C CXX Fortran)
+ if(IS_ABSOLUTE "${CMAKE_${lang}_COMPILER}")
+ get_filename_component(_hint "${CMAKE_${lang}_COMPILER}" PATH)
+ list(APPEND _intel_xair_hints ${_hint})
+ endif()
+ endforeach()
+ find_program(XIAR NAMES xiar HINTS ${_intel_xair_hints})
+ mark_as_advanced(XIAR)
+endif(NOT XIAR)