1# ============================================================================
2# Copyright (c) 2011-2012 University of Pennsylvania
3# Copyright (c) 2013-2016 Andreas Schuh
4# All rights reserved.
5#
6# See COPYING file for license information or visit
7# https://cmake-basis.github.io/download.html#license
8# ============================================================================
9
10##############################################################################
11# @file  generate_matlab_executable.cmake.in
12# @brief Generate wrapper executable for invocation of MATLAB command.
13#
14# @note This file is generated by BASIS from the template file
15#       generate_matlab_executable.cmake.in which is part of the BASIS installation.
16#
17# This script is configured using CMake's configure_sript() function instead
18# of providing its arguments using the -D option of CMake before the -P option
19# such that the build command can be made dependent on the configured build script.
20##############################################################################
21
22cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR)
23
24include ("@BASIS_MODULE_PATH@/MatlabTools.cmake") # basis_generate_matlab_executable()
25                                                  # basis_write_addpaths_mfile()
26
27# ----------------------------------------------------------------------------
28# configuration
29# ----------------------------------------------------------------------------
30
31# general settings
32set (MATLAB_EXECUTABLE    "@MATLAB_EXECUTABLE@")
33set (MATLAB_COMMAND       "@MATLAB_COMMAND@")
34# settings specific to build tree
35set (OUTPUT_FILE          "@OUTPUT_FILE@")
36set (BUILD_MATLABPATH     "@BUILD_MATLABPATH@")
37set (BUILD_STARTUP_FILE   "@BUILD_STARTUP_FILE@")
38# settings specific to installation
39set (INSTALL_FILE         "@INSTALL_FILE@")
40set (INSTALL_DIR          "@INSTALL_DIR@")
41set (INSTALL_MATLABPATH   "@INSTALL_MATLABPATH@")
42set (INSTALL_STARTUP_FILE "@INSTALL_STARTUP_FILE@")
43set (INSTALL_STARTUP_DIR  "@INSTALL_STARTUP_DIR@")
44
45# ----------------------------------------------------------------------------
46# main
47# ----------------------------------------------------------------------------
48
49# write startup.m file for build tree
50if (BUILD_STARTUP_FILE)
51  file (WRITE "${BUILD_STARTUP_FILE}"
52"% DO NOT edit. This file is generated by BASIS.
53[mfiledir, ~, ~, ~] = fileparts(mfilename('fullpath'));\n")
54  basis_write_addpaths_mfile ("${BUILD_STARTUP_FILE}" APPEND ${BUILD_MATLABPATH})
55  set (BUILD_MATLABPATH)
56endif ()
57# generate executable for use in build tree
58basis_generate_matlab_executable (
59  "${OUTPUT_FILE}"
60  COMMAND    "${MATLAB_COMMAND}"
61  STARTUP    "${BUILD_STARTUP_FILE}"
62  MATLABPATH ${BUILD_MATLABPATH}
63)
64
65if (INSTALL_FILE)
66  # write startup.m file for build installation
67  if (INSTALL_STARTUP_FILE)
68    file (WRITE "${INSTALL_STARTUP_FILE}"
69"% DO NOT edit. This file is generated by BASIS.
70[mfiledir, ~, ~, ~] = fileparts(mfilename('fullpath'));\n")
71    basis_write_addpaths_mfile ("${INSTALL_STARTUP_FILE}" APPEND ${INSTALL_MATLABPATH})
72    set (INSTALL_MATLABPATH)
73  endif ()
74  # generate executable for installation
75  get_filename_component (INSTALL_STARTUP_NAME "${INSTALL_STARTUP_FILE}" NAME)
76  basis_generate_matlab_executable (
77    "${INSTALL_FILE}"
78    COMMAND     "${MATLAB_COMMAND}"
79    STARTUP     "${INSTALL_STARTUP_DIR}/${INSTALL_STARTUP_NAME}"
80    DESTINATION "${INSTALL_DIR}"
81    MATLABPATH  ${INSTALL_MATLABPATH}
82  )
83endif ()
84