summaryrefslogtreecommitdiffstats
path: root/Tests/VSGNUFortran
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2011-12-15 15:19:46 (GMT)
committerBrad King <brad.king@kitware.com>2012-02-09 13:34:06 (GMT)
commite4ae038f5d9f0fa14d63f9eaea71e0466dc86619 (patch)
tree05f0de9ddf1038cc168b1f8dcef2ffb3c5cf40d2 /Tests/VSGNUFortran
parent538c3452ad660a45c3d6ca32f8c09ee7c93a8b84 (diff)
downloadCMake-e4ae038f5d9f0fa14d63f9eaea71e0466dc86619.zip
CMake-e4ae038f5d9f0fa14d63f9eaea71e0466dc86619.tar.gz
CMake-e4ae038f5d9f0fa14d63f9eaea71e0466dc86619.tar.bz2
CMakeAddFortranSubdirectory: Allow full paths to directories
Fix the implementation to allow full paths with spaces. Change the interpretation of relative paths to be with respect to the current binary directory. This matches the convention used in ExternalProject. Test both full and relative paths in the VSGNUFortran test.
Diffstat (limited to 'Tests/VSGNUFortran')
-rw-r--r--Tests/VSGNUFortran/CMakeLists.txt22
1 files changed, 12 insertions, 10 deletions
diff --git a/Tests/VSGNUFortran/CMakeLists.txt b/Tests/VSGNUFortran/CMakeLists.txt
index 2e527f9..422350a 100644
--- a/Tests/VSGNUFortran/CMakeLists.txt
+++ b/Tests/VSGNUFortran/CMakeLists.txt
@@ -1,5 +1,10 @@
cmake_minimum_required(VERSION 2.8)
project(VSGNUFortran)
+
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
+
# force the executable to be put out of Debug/Release dir
# because gmake build of fortran will not be in a config
# directory, and for easier testing we want the exe and .dll
@@ -7,14 +12,9 @@ project(VSGNUFortran)
if(CMAKE_CONFIGURATION_TYPES)
foreach(config ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER "${config}" config)
- set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${config}
- "${PROJECT_BINARY_DIR}/bin")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${config}
- "${PROJECT_BINARY_DIR}/bin")
+ ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
endforeach()
-else()
- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
- set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
endif()
include(CMakeAddFortranSubdirectory)
@@ -22,11 +22,13 @@ include(CMakeAddFortranSubdirectory)
# the subdir is fortran, the project is FortranHello
cmake_add_fortran_subdirectory(fortran
PROJECT FortranHello # project name in toplevel CMakeLists.txt
- ARCHIVE_DIR ../bin # .lib location relative to root binary tree
- RUNTIME_DIR ../bin # .dll location relative to root binary tree
+ ARCHIVE_DIR ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
+ RUNTIME_DIR bin # ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
LIBRARIES hello world # target libraries created
- CMAKE_COMMAND_LINE -DEXECUTABLE_OUTPUT_PATH=../bin
- -DLIBRARY_OUTPUT_PATH=../bin
+ CMAKE_COMMAND_LINE
+ -DCMAKE_RUNTIME_OUTPUT_DIRECTORY=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
+ -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
+ -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
LINK_LIBRARIES # link interface libraries
LINK_LIBS hello world # hello needs world to link
)