summaryrefslogtreecommitdiffstats
path: root/Modules/IntelVSImplicitPath
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2011-09-14 17:49:40 (GMT)
committerBrad King <brad.king@kitware.com>2011-09-14 17:49:40 (GMT)
commita7ce26d837b1c6465c995519ee91e3e0d9190826 (patch)
tree85ff53293a37358441ab1f43fbbf1e11444de35a /Modules/IntelVSImplicitPath
parent539a822c8c541143ab954d8d355cb9643235d231 (diff)
downloadCMake-a7ce26d837b1c6465c995519ee91e3e0d9190826.zip
CMake-a7ce26d837b1c6465c995519ee91e3e0d9190826.tar.gz
CMake-a7ce26d837b1c6465c995519ee91e3e0d9190826.tar.bz2
Move IntelVSImplicitPath project to better location
This project is not part of the FortranCInterface module. Make it a sibling instead of a child directory.
Diffstat (limited to 'Modules/IntelVSImplicitPath')
-rw-r--r--Modules/IntelVSImplicitPath/CMakeLists.txt11
-rw-r--r--Modules/IntelVSImplicitPath/extract.cmake12
-rw-r--r--Modules/IntelVSImplicitPath/hello.f0
3 files changed, 23 insertions, 0 deletions
diff --git a/Modules/IntelVSImplicitPath/CMakeLists.txt b/Modules/IntelVSImplicitPath/CMakeLists.txt
new file mode 100644
index 0000000..e2a4b3f
--- /dev/null
+++ b/Modules/IntelVSImplicitPath/CMakeLists.txt
@@ -0,0 +1,11 @@
+cmake_minimum_required (VERSION 2.8)
+project(IntelFortranImplicit Fortran)
+add_custom_command(OUTPUT ${IntelFortranImplicit_BINARY_DIR}/env.txt
+ COMMAND set > ${IntelFortranImplicit_BINARY_DIR}/env.txt)
+add_library(FortranLib hello.f
+ ${IntelFortranImplicit_BINARY_DIR}/env.txt)
+add_custom_target(ExtractLibPath ALL
+ COMMAND ${CMAKE_COMMAND} -P ${IntelFortranImplicit_SOURCE_DIR}/extract.cmake
+ WORKING_DIRECTORY ${IntelFortranImplicit_BINARY_DIR}
+)
+add_dependencies(ExtractLibPath FortranLib)
diff --git a/Modules/IntelVSImplicitPath/extract.cmake b/Modules/IntelVSImplicitPath/extract.cmake
new file mode 100644
index 0000000..055247c
--- /dev/null
+++ b/Modules/IntelVSImplicitPath/extract.cmake
@@ -0,0 +1,12 @@
+file(STRINGS env.txt LIB REGEX "^LIB=.*$")
+string(REPLACE "LIB=" "" LIB "${LIB}" )
+# change LIB from a string to a ; separated list of paths
+set(LIB ${LIB})
+# look at each path and try to find ifconsol.lib
+foreach( dir ${LIB})
+ file(TO_CMAKE_PATH "${dir}" dir)
+ if(EXISTS "${dir}/ifconsol.lib")
+ file(WRITE implict_link.txt ${dir})
+ return()
+ endif()
+endforeach()
diff --git a/Modules/IntelVSImplicitPath/hello.f b/Modules/IntelVSImplicitPath/hello.f
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Modules/IntelVSImplicitPath/hello.f