Skip to content

Commit

Permalink
ENH: Fix various anaconda packaging issues (#810)
Browse files Browse the repository at this point in the history
Signed-off-by: Michael Jackson <mike.jackson@bluequartz.net>
  • Loading branch information
imikejackson authored Jan 12, 2024
1 parent 91964a5 commit 6eef763
Show file tree
Hide file tree
Showing 7 changed files with 304 additions and 55 deletions.
10 changes: 5 additions & 5 deletions CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -261,23 +261,23 @@
},
"span-lite_DIR": {
"type": "PATH",
"value": "$env{SRC_DIR}/sdk/span-lite/lib/cmake/span-lite"
"value": "$env{PREFIX}/lib/cmake/span-lite"
},
"expected-lite_DIR": {
"type": "PATH",
"value": "$env{SRC_DIR}/sdk/expected-lite/lib/cmake/expected-lite"
"value": "$env{PREFIX}/lib/cmake/expected-lite"
},
"H5Support_DIR": {
"type": "PATH",
"value": "$env{SRC_DIR}/sdk/H5Support/share/H5Support"
"value": "$env{PREFIX}/share/H5Support"
},
"EbsdLib_DIR": {
"type": "PATH",
"value": "$env{SRC_DIR}/sdk/EbsdLib/share/EbsdLib"
"value": "$env{PREFIX}/share/EbsdLib"
},
"nod_DIR": {
"type": "PATH",
"value": "$env{SRC_DIR}/sdk/nod/share/nod"
"value": "$env{PREFIX}/share/nod"
},
"HDF5_NO_FIND_PACKAGE_CONFIG_FILE": {
"type": "BOOL",
Expand Down
130 changes: 104 additions & 26 deletions conda/bld.bat
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,20 @@

mkdir sdk

set lib_prefix=%LIBRARY_PREFIX:\=/%
echo lib_prefix = %lib_prefix%

:: ****************************************************************************
:: Build the H5Support library
:: ****************************************************************************

echo *************************** h5support ******************************************
cd %SRC_DIR%
mkdir h5support_build
cd h5support_build

cmake -S "../H5Support" -B . -G "Ninja" ^
cmake -S "%SRC_DIR%/H5Support" -B . -G "Ninja" ^
-D CMAKE_BUILD_TYPE:STRING=Release ^
-D CMAKE_INSTALL_PREFIX:PATH="%SRC_DIR%/sdk/H5Support" ^
-D CMAKE_INSTALL_PREFIX:PATH="%LIBRARY_PREFIX%" ^
-D CMAKE_SYSTEM_PREFIX_PATH:PATH="%LIBRARY_PREFIX%" ^
-D H5Support_INCLUDE_QT_API:BOOL=OFF ^
-D H5Support_INSTALL_HDF5:BOOL=OFF ^
Expand All @@ -39,15 +43,17 @@ if errorlevel 1 exit 1
cd ..

:: ****************************************************************************
:: Build the EbsdLib library
:: Install the EbsdLibrary into the python build environment so that stubgen
:: has access to it.
:: ****************************************************************************

echo *************************** EbsdLib ******************************************
cd %SRC_DIR%
mkdir ebsdlib_build
cd ebsdlib_build

cmake -S "../EbsdLib" -B . -G "Ninja" ^
cmake -S "%SRC_DIR%/EbsdLib" -B . -G "Ninja" ^
-D CMAKE_BUILD_TYPE:STRING=Release ^
-D CMAKE_INSTALL_PREFIX:PATH="%SRC_DIR%/sdk/EbsdLib" ^
-D CMAKE_INSTALL_PREFIX:PATH="%LIBRARY_PREFIX%" ^
-D CMAKE_SYSTEM_PREFIX_PATH:PATH="%LIBRARY_PREFIX%" ^
-D DREAM3D_ANACONDA:BOOL=ON ^
-D CMP_TBB_ENABLE_COPY_INSTALL:BOOL=OFF ^
Expand All @@ -58,7 +64,7 @@ cmake -S "../EbsdLib" -B . -G "Ninja" ^
-D TBB_STATUS_PRINTED:BOOL=ON ^
-D CMP_HDF5_USE_CONFIG:BOOL=OFF ^
-D GVS_GIT_HASH:STRING="6c0e5ec992472eeae5df9d627de524b59b971fab" ^
-D H5Support_DIR:PATH="%SRC_DIR%/sdk/H5Support/share/H5Support"
-D H5Support_DIR:PATH="%lib_prefix%/share/H5Support"
if errorlevel 1 exit 1

cmake --build . --target all
Expand All @@ -72,13 +78,14 @@ cd ..
:: ****************************************************************************
:: Build the expected-light library
:: ****************************************************************************

echo *************************** expected-light ******************************************
cd %SRC_DIR%
mkdir expected-lite_build
cd expected-lite_build

cmake -S "../expected-lite" -B . -G "Ninja" ^
cmake -S "%SRC_DIR%/expected-lite" -B . -G "Ninja" ^
-D CMAKE_BUILD_TYPE:STRING=Release ^
-D CMAKE_INSTALL_PREFIX:PATH="%SRC_DIR%/sdk/expected-lite" ^
-D CMAKE_INSTALL_PREFIX:PATH="%LIBRARY_PREFIX%" ^
-D CMAKE_SYSTEM_PREFIX_PATH:PATH="%LIBRARY_PREFIX%" ^
-D EXPECTED_LITE_OPT_BUILD_TESTS:BOOL=OFF ^
-D EXPECTED_LITE_OPT_BUILD_EXAMPLES:BOOL=OFF
Expand All @@ -95,13 +102,14 @@ cd ..
:: ****************************************************************************
:: Build the span-light library
:: ****************************************************************************

echo *************************** span-light ******************************************
cd %SRC_DIR%
mkdir span-lite_build
cd span-lite_build

cmake -S "../span-lite" -B . -G "Ninja" ^
cmake -S "%SRC_DIR%/span-lite" -B . -G "Ninja" ^
-D CMAKE_BUILD_TYPE:STRING=Release ^
-D CMAKE_INSTALL_PREFIX:PATH="%SRC_DIR%/sdk/span-lite" ^
-D CMAKE_INSTALL_PREFIX:PATH="%LIBRARY_PREFIX%" ^
-D CMAKE_SYSTEM_PREFIX_PATH:PATH="%LIBRARY_PREFIX%" ^
-D SPAN_LITE_OPT_BUILD_TESTS:BOOL=OFF ^
-D SPAN_LITE_OPT_BUILD_EXAMPLES:BOOL=OFF
Expand All @@ -118,13 +126,14 @@ cd ..
:: ****************************************************************************
:: Build the nod library
:: ****************************************************************************

echo *************************** nod ******************************************
cd %SRC_DIR%
mkdir nod_build
cd nod_build

cmake -S "../nod" -B . -G "Ninja" ^
cmake -S "%SRC_DIR%/nod" -B . -G "Ninja" ^
-D CMAKE_BUILD_TYPE:STRING=Release ^
-D CMAKE_INSTALL_PREFIX:PATH="%SRC_DIR%/sdk/nod" ^
-D CMAKE_INSTALL_PREFIX:PATH="%LIBRARY_PREFIX%" ^
-D CMAKE_SYSTEM_PREFIX_PATH:PATH="%LIBRARY_PREFIX%"
if errorlevel 1 exit 1

Expand All @@ -134,30 +143,95 @@ if errorlevel 1 exit 1
cmake --build . --target install
if errorlevel 1 exit 1

cd ..


:: ****************************************************************************
:: Install the EbsdLibrary into the python build environment so that stubgen
:: has access to it.
:: Build the ITK library
:: ****************************************************************************
cd ..
cd ebsdlib_build
echo *************************** ITK ******************************************
cd %SRC_DIR%
mkdir itk_build
cd itk_build

cmake -S "%SRC_DIR%/itk" -B . -G "Ninja" $CMAKE_ARGS ^
-DCMAKE_BUILD_TYPE:STRING=Release ^
-D CMAKE_INSTALL_PREFIX:PATH="%LIBRARY_PREFIX%" ^
-D CMAKE_SYSTEM_PREFIX_PATH:PATH="%LIBRARY_PREFIX%" ^
-D Eigen3_DIR=%lib_prefix%/share/eigen3/cmake ^
-DBUILD_SHARED_LIBS:STRING=ON ^
-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=11.0 ^
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF ^
-DCMAKE_SKIP_RPATH:BOOL=OFF ^
-DCMAKE_CXX_STANDARD:STRING=17 ^
-DCMAKE_CXX_STANDARD_REQUIRED:BOOL=ON ^
-DBUILD_DOCUMENTATION:BOOL=OFF ^
-DBUILD_EXAMPLES:BOOL=OFF ^
-DBUILD_TESTING:BOOL=OFF ^
-DKWSYS_USE_MD5:BOOL=ON ^
-DITK_LEGACY_REMOVE:BOOL=ON ^
-DITK_FUTURE_LEGACY_REMOVE:BOOL=ON ^
-DITK_LEGACY_SILENT:BOOL=OFF ^
-DITKV4_COMPATIBILITY:BOOL=OFF ^
-DITK_USE_SYSTEM_EIGEN:BOOL=ON ^
-DITK_USE_SYSTEM_HDF5:BOOL=ON ^
-DITKGroup_Core:BOOL=ON ^
-DITKGroup_Filtering:BOOL=ON ^
-DITKGroup_Registration:BOOL=ON ^
-DITKGroup_Segmentation:BOOL=ON ^
-DITK_BUILD_DEFAULT_MODULES:BOOL=OFF ^
-DModule_ITKTestKernel:BOOL=OFF ^
-DModule_ITKReview:BOOL=OFF ^
-DModule_SCIFIO=OFF ^
-DModule_ITKMetricsv4:BOOL=OFF ^
-DModule_ITKOptimizersv4:BOOL=OFF ^
-DModule_ITKRegistrationMethodsv4:BOOL=OFF ^
-DModule_ITKConvolution:BOOL=ON ^
-DModule_ITKDenoising:BOOL=ON ^
-DModule_ITKImageNoise:BOOL=ON ^
-DITKGroup_IO:BOOL=OFF ^
-DITKGroup_Core:BOOL=OFF ^
-DModule_ITKGDCM:BOOL=OFF ^
-DModule_ITKIOBioRad:BOOL=ON ^
-DModule_ITKIOBMP:BOOL=ON ^
-DModule_ITKIOGE:BOOL=ON ^
-DModule_ITKIOGIPL:BOOL=ON ^
-DModule_ITKIOImageBase:BOOL=ON ^
-DModule_ITKIOIPL:BOOL=ON ^
-DModule_ITKIOJPEG:BOOL=ON ^
-DModule_ITKIOMeta:BOOL=ON ^
-DModule_ITKIOMRC:BOOL=ON ^
-DModule_ITKIONIFTI:BOOL=ON ^
-DModule_ITKIONRRD:BOOL=ON ^
-DModule_ITKIOPNG:BOOL=ON ^
-DModule_ITKIOStimulate:BOOL=ON ^
-DModule_ITKIOTIFF:BOOL=ON ^
-DModule_ITKIOVTK:BOOL=ON ^
-DModule_ITKIOTransformBase:BOOL=ON ^
-DITK_SKIP_PATH_LENGTH_CHECKS:BOOL=ON ^
-DITK_CUSTOM_LIBRARY_SUFFIX:STRING="-NX-$ITK_VERSION"

cmake -D CMAKE_INSTALL_PREFIX:PATH="%LIBRARY_PREFIX%" .
if errorlevel 1 exit 1

cmake --build . --target install
cmake --build . --target all
if errorlevel 1 exit 1

cd ..
cmake --build . --target install
if errorlevel 1 exit 1

:: ****************************************************************************
:: Build the simplnx library
:: ****************************************************************************

echo *************************** SIMPLNX ******************************************
cd %SRC_DIR%
mkdir build
cd build

cmake --preset conda-win ../simplnx
cmake --preset conda-win %SRC_DIR%/simplnx ^
-D CMAKE_INSTALL_PREFIX:PATH="%LIBRARY_PREFIX%" ^
-D CMAKE_SYSTEM_PREFIX_PATH:PATH="%LIBRARY_PREFIX%" ^
-D Python3_EXECUTABLE:FILEPATH=%PREFIX%/python.exe

if errorlevel 1 exit 1

cmake --build . --target all
Expand All @@ -166,3 +240,7 @@ if errorlevel 1 exit 1
cmake --build . --target install
if errorlevel 1 exit 1


echo *********************************************************************
echo BUILD COMPLETE
echo *********************************************************************
Loading

0 comments on commit 6eef763

Please sign in to comment.