Skip to content

Commit 7e5bfe7

Browse files
Configure envsirf.PS1 for Powershell
1 parent 68a7650 commit 7e5bfe7

File tree

4 files changed

+59
-2
lines changed

4 files changed

+59
-2
lines changed

CMakeLists.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919
#
2020
#=========================================================================
2121
if (WIN32)
22-
cmake_minimum_required( VERSION 3.16.2 FATAL_ERROR)
22+
# need really recent CMake, for instance for cmake_path
23+
cmake_minimum_required( VERSION 3.20.0 FATAL_ERROR)
2324
else()
2425
cmake_minimum_required( VERSION 3.16.2 FATAL_ERROR)
2526
endif()

SuperBuild.cmake

+25
Original file line numberDiff line numberDiff line change
@@ -409,12 +409,37 @@ endif()
409409

410410
configure_file(env_sirf.sh.in ${SyneRBI_INSTALL}/bin/env_sirf.sh)
411411
configure_file(env_sirf.csh.in ${SyneRBI_INSTALL}/bin/env_sirf.csh)
412+
if (WIN32)
413+
# first translate CMake paths (with /) to native paths (with \)
414+
cmake_path(NATIVE_PATH SyneRBI_INSTALL WIN_SyneRBI_INSTALL)
415+
if (Boost_LIBRARY_DIR_RELEASE)
416+
cmake_path(NATIVE_PATH Boost_LIBRARY_DIR_RELEASE WIN_BOOST_PATH)
417+
endif()
418+
if (FFTW3_INSTALL_DIR)
419+
cmake_path(NATIVE_PATH FFTW3_INSTALL_DIR WIN_FFTW_PATH)
420+
endif()
421+
if (Matlab_FOUND)
422+
cmake_path(NATIVE_PATH MATLAB_DEST WIN_MATLAB_DEST)
423+
if (SPM_DIR)
424+
cmake_path(NATIVE_PATH SPM_DIR WIN_SPM_DIR)
425+
endif()
426+
cmake_path(NATIVE_PATH Matlab_MAIN_PROGRAM WIN_Matlab_MAIN_PROGRAM)
427+
endif()
428+
if (PYTHONINTERP_FOUND)
429+
cmake_path(NATIVE_PATH PYTHON_DEST WIN_PYTHON_DEST)
430+
cmake_path(NATIVE_PATH PYTHON_EXECUTABLE WIN_PYTHON_EXECUTABLE)
431+
endif()
432+
configure_file(env_sirf.PS1.in ${SyneRBI_INSTALL}/bin/env_sirf.PS1)
433+
endif()
412434

413435
if (${CMAKE_VERSION} VERSION_LESS "3.14" OR WIN32)
414436
# CREATE_LINK has been introduced in CMake 3.14
415437
# we create a copy instead.
416438
configure_file(env_sirf.sh.in ${SyneRBI_INSTALL}/bin/env_ccppetmr.sh)
417439
configure_file(env_sirf.csh.in ${SyneRBI_INSTALL}/bin/env_ccppetmr.csh)
440+
if (WIN32)
441+
configure_file(env_sirf.PS1.in ${SyneRBI_INSTALL}/bin/env_ccppetmr.PS1)
442+
endif()
418443
else ()
419444
file(CREATE_LINK ${SyneRBI_INSTALL}/bin/env_sirf.sh ${SyneRBI_INSTALL}/bin/env_ccppetmr.sh SYMBOLIC)
420445
file(CREATE_LINK ${SyneRBI_INSTALL}/bin/env_sirf.csh ${SyneRBI_INSTALL}/bin/env_ccppetmr.csh SYMBOLIC)

SuperBuild/External_Boost.cmake

+2-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ if(NOT ( DEFINED "USE_SYSTEM_${externalProjName}" AND "${USE_SYSTEM_${externalPr
8585

8686
else()
8787
if(${USE_SYSTEM_${externalProjName}})
88-
find_package(${proj} ${${externalProjName}_REQUIRED_VERSION} REQUIRED)
88+
# Note: include at least one component, such that Boost_LIBRARY_DIR_RELEASE is set
89+
find_package(${proj} ${${externalProjName}_REQUIRED_VERSION} COMPONENTS system REQUIRED)
8990
set(Boost_CMAKE_ARGS -DBOOST_INCLUDEDIR:PATH=${Boost_INCLUDE_DIR})
9091
if (Boost_LIBRARY_DIR_RELEASE)
9192
# TODO might need to use Boost_LIBRARY_DIR_Debug for Debug builds

env_sirf.PS1.in

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# This file sets environment variables for the CCP SyneRBI software for PowerShell
2+
# Use it like this
3+
# . /path/to/whereever/env_sirf.ps1
4+
# Preferably add this line to your .profile
5+
6+
# need to be forward slashes, as otherwise cannot find files
7+
$Env:SIRF_PATH = "@SIRF_SOURCE_DIR@"
8+
9+
# Where all binaries are installed
10+
$Env:SIRF_INSTALL_PATH="@WIN_SyneRBI_INSTALL@"
11+
12+
$Env:Path = "$Env:SIRF_INSTALL_PATH\bin" + ";" + $Env:Path
13+
if ("@WIN_FFTW_PATH@")
14+
{ $Env:Path += ";@WIN_FFTW_PATH@" }
15+
if ("@WIN_BOOST_PATH@")
16+
{ $Env:Path += ";@WIN_BOOST_PATH@" }
17+
18+
##### Environment variables for Python
19+
if ("@WIN_PYTHON_DEST@")
20+
{
21+
$Env:PYTHONPATH="@WIN_PYTHON_DEST@" + ";" + $Env:PYTHONPATH
22+
$Env:SIRF_PYTHON_EXECUTABLE="@WIN_PYTHON_EXECUTABLE@"
23+
}
24+
25+
##### Environment variables for Matlab
26+
if ("@WIN_MATLAB_DEST@")
27+
{
28+
Env:MATLABPATH="@WIN_MATLAB_DEST@";"@WIN_SPM_DIR@;" + $Env:MATLABPATH
29+
$Env:SIRF_MATLAB_EXECUTABLE="@WIN_Matlab_MAIN_PROGRAM@"
30+
}

0 commit comments

Comments
 (0)