DrTimothyAldenDavis / SuiteSparse

The official SuiteSparse library: a suite of sparse matrix algorithms authored or co-authored by Tim Davis, Texas A&M University.
https://people.engr.tamu.edu/davis/suitesparse.html
Other
1.15k stars 259 forks source link

Fix blas #698

Closed whuaegeanse closed 8 months ago

whuaegeanse commented 8 months ago

When building SuiteSparse (linking to openblas), msvc will report a link error, prompting that it cannot find blas functions, such as dtrsm, strsm, etc.

cholmod_l_super_numeric.obj : error LNK2019: 无法解析的外部符号 dtrsm,函数 rd_cholmod_super_numeric_worker 中引用了该符号 [F:\Libs\suitesparse\SuiteSparse-my-dev2-x64\CHOLMOD\build\C
HOLMOD.vcxproj]
cholmod_l_super_solve.obj : error LNK2001: 无法解析的外部符号 dtrsm [F:\Libs\suitesparse\SuiteSparse-my-dev2-x64\CHOLMOD\build\CHOLMOD.vcxproj]
cholmod_super_numeric.obj : error LNK2001: 无法解析的外部符号 dtrsm [F:\Libs\suitesparse\SuiteSparse-my-dev2-x64\CHOLMOD\build\CHOLMOD.vcxproj]
cholmod_super_solve.obj : error LNK2001: 无法解析的外部符号 dtrsm [F:\Libs\suitesparse\SuiteSparse-my-dev2-x64\CHOLMOD\build\CHOLMOD.vcxproj]
cholmod_l_super_numeric.obj : error LNK2019: 无法解析的外部符号 strsm,函数 rs_cholmod_super_numeric_worker 中引用了该符号 [F:\Libs\suitesparse\SuiteSparse-my-dev2-x64\CHOLMOD\build\C
HOLMOD.vcxproj]
cholmod_l_super_solve.obj : error LNK2001: 无法解析的外部符号 strsm [F:\Libs\suitesparse\SuiteSparse-my-dev2-x64\CHOLMOD\build\CHOLMOD.vcxproj]
cholmod_super_numeric.obj : error LNK2001: 无法解析的外部符号 strsm [F:\Libs\suitesparse\SuiteSparse-my-dev2-x64\CHOLMOD\build\CHOLMOD.vcxproj]
cholmod_super_solve.obj : error LNK2001: 无法解析的外部符号 strsm [F:\Libs\suitesparse\SuiteSparse-my-dev2-x64\CHOLMOD\build\CHOLMOD.vcxproj]

This PR fix this issue. Add a option -DBLAS_UNDERSCORE=ON to cmake command.

mmuetzel commented 8 months ago

I'm not sure if this is the correct solution.

By default, the build system tries to determine the Fortran name mangling from the installed Fortran compiler. If no Fortran compiler is installed, it falls back to the following: https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/b4ef87db10a8acdcd495d8793d2928549ec54f67/SuiteSparse_config/cmake_modules/SuiteSparsePolicy.cmake#L290-L299

If that doesn't match the Fortran name mangling used in the BLAS library you are linking to, configure with, e.g., -DSUITESPARSE_C_TO_FORTRAN="(name,NAME) name##_" to override those default values.

mmuetzel commented 8 months ago

Just out of interest: Where did you get that OpenBLAS library from? Do you know which compiler was used to build it?

whuaegeanse commented 8 months ago

Just out of interest: Where did you get that OpenBLAS library from? Do you know which compiler was used to build it?

vcpkg. openblas is built by vcpkg using Vistual Studio 2022.

mmuetzel commented 8 months ago

Just out of interest: Where did you get that OpenBLAS library from? Do you know which compiler was used to build it?

vcpkg

It looks like they are (explicitly) forcing OpenBLAS to append the underscore for some reason: https://github.com/microsoft/vcpkg/blob/45c8b198b7647b6a68235353a00839082c910914/ports/openblas/portfile.cmake#L46-L53

So, you'd need to configure SuiteSparse with -DSUITESPARSE_C_TO_FORTRAN="(name,NAME) name##_" to be able to link to that library.

Edit: Maybe, that's only for their MinGW target? Are you using the MinGW version of that library?

whuaegeanse commented 8 months ago

So, you'd need to configure SuiteSparse with -DSUITESPARSE_C_TO_FORTRAN="(name,NAME) name##_" to be able to link to that library.

Thanks. I will try.

whuaegeanse commented 8 months ago

I'm not sure if this is the correct solution.

The CI use this

Edit: Maybe, that's only for their MinGW target? Are you using the MinGW version of that library?

No.
Edit: Vistual Studio 2022.

whuaegeanse commented 8 months ago

So, you'd need to configure SuiteSparse with -DSUITESPARSE_C_TO_FORTRAN="(name,NAME) name##_" to be able to link to that library.

SUITESPARSE_C_TO_FORTRAN is not used in anywhere except SuiteSparsePolicy.cmake. So how does this work?

whuaegeanse commented 8 months ago

So, you'd need to configure SuiteSparse with -DSUITESPARSE_C_TO_FORTRAN="(name,NAME) name##_" to be able to link to that library.

Thanks. I will try.

Edit: It works with "-DSUITESPARSE_C_TOFORTRAN=(name,NAME) name##"

mmuetzel commented 8 months ago

SUITESPARSE_C_TO_FORTRAN is not used in anywhere except SuiteSparsePolicy.cmake. So how does this work?

It is used to set FortranCInterface_GLOBAL__MACRO here: https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/b4ef87db10a8acdcd495d8793d2928549ec54f67/SuiteSparse_config/CMakeLists.txt#L51-L53

That in turn is used to generate the corresponding preprocessor macro: https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/b4ef87db10a8acdcd495d8793d2928549ec54f67/SuiteSparse_config/Config/SuiteSparse_config.h.in#L495-L497

mmuetzel commented 8 months ago

If you have a Fortran compiler, but it uses a different name mangling than what is needed for linking to that OpenBLAS library, you might need to explicitly disable the automatic detection of the Fortran name mangling. For that, configure with -DSUITESPARSE_USE_FORTRAN=OFF.

whuaegeanse commented 8 months ago

@mmuetzel The comments in SuiteSparse_config.h are as following.

// These two macros are created by the CMake module, FortranCInterface.cmake,
// which is then used by CMake to configure this file.

// The CMAKE decision can be superceded by setting -DBLAS_NO_UNDERSCORE, so
// that "dgemm" remains "dgemm" (for MS Visual Studio for example).  Setting
// -DBLAS_UNDERSCORE changes "dgemm" to "dgemm_", the common case for Mac and
// Linux.
mmuetzel commented 8 months ago

Correct. You could also set CFLAGS="/DBLAS_UNDERSCORE" CXXFLAGS="/DBLAS_UNDERSCORE" before configuring with CMake.

Edit: Or configure with -DCMAKE_C_FLAGS="/DBLAS_UNDERSCORE" -DCMAKE_CXX_FLAGS="/DBLAS_UNDERSCORE". (I don't know the quoting rules for the Windows cmd shell. So, you might need to quote those strings differently...)

whuaegeanse commented 8 months ago

Correct. You could also set CFLAGS="-DBLAS_UNDERSCORE" CXXFLAGS="-DBLAS_UNDERSCORE" before configuring with CMake.

So there may be two ways here to solve the openblas link problem.

  1. Configuring SuiteSparse with "-DSUITESPARSE_C_TOFORTRAN=(name,NAME) name##", mentioned by @mmuetzel.
  2. Setting CFLAGS="-DBLAS_UNDERSCORE" CXXFLAGS="-DBLAS_UNDERSCORE" before configuring SuiteSparse, mentioned by @mmuetzel. 3.Appling this PR and adding "-DBLAS_UNDERSCORE=ON" to cmake command.
mmuetzel commented 8 months ago

Correct. You could also set CFLAGS="-DBLAS_UNDERSCORE" CXXFLAGS="-DBLAS_UNDERSCORE" before configuring with CMake.

So there may be three ways here to solve the openblas link problem.

  1. Configuring SuiteSparse with "-DSUITESPARSE_C_TOFORTRAN=(name,NAME) name##", mentioned by @mmuetzel.
  2. Setting CFLAGS="-DBLAS_UNDERSCORE" CXXFLAGS="-DBLAS_UNDERSCORE" before configuring SuiteSparse, mentioned by @mmuetzel.
  3. Appling this PR and adding "-DBLAS_UNDERSCORE=ON" to cmake command.

Imho, we don't need a third way to achieve the same thing.

mmuetzel commented 8 months ago

@DrTimothyAldenDavis: It looks like the Fortran libraries that are distributed, e.g., by vcpkg for MSVC users use the same name mangling that is also common for most other targets (including Linux, macOS, MinGW). Do you recall why there is a different fallback for Fortran name mangling for MSVC? https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/b4ef87db10a8acdcd495d8793d2928549ec54f67/SuiteSparse_config/cmake_modules/SuiteSparsePolicy.cmake#L290-L299

Maybe, that was different in the past? Should the special case for MSVC be removed now?

DrTimothyAldenDavis commented 8 months ago

@DrTimothyAldenDavis: It looks like the Fortran libraries that are distributed, e.g., by vcpkg for MSVC users use the same name mangling that is also common for most other targets (including Linux, macOS, MinGW). Do you recall why there is a different fallback for Fortran name mangling for MSVC?

Yes, at least in the past, the MSVC names for the BLAS had no underscore after them, from the MSVC Fortran Compiler.

But MSVC is a complete dumpster fire of a compiler: breaking C99/C11 standards, not supporting OpenMP 4, requiring silly things like __declspec (import), and so on, so it not surprise me if they broke or changed something else.

In any case, the SUITESPARSE_C_TO_FORTRAN variable is a fallback, in case there is no Fortran compiler. So if the MSVC Fortran compiler is present, the SuiteSparsePolicy.cmake will figure it out, and not use SUITESPARSE_C_TO_FORTRAN at all.

I've added a message to the SuiteSparse_config/CMakeLists.txt in the latest commit to dev2, to report on how C calls Fortran. I'll look at the CI to see what MSVC reports:

https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/6c2d12b24005bc6fae9d2de6c3115844b76695b4/SuiteSparse_config/CMakeLists.txt#L56-L59

DrTimothyAldenDavis commented 8 months ago

I'm very reluctant to add this change to the SuiteSparsePolicy.cmake. It can cause confusion, and in particular the name exposed to the cmake end user (BLAS_UNDERSCORE) is not a good idea. cmake already uses BLA_whatever, and this name is too close to that. I got feedback from linux distro maintainers (or spack, I can't recall) saying that all the cmake variables seen in the cache should be SUITESPARSE_something or PACKAGE_something for PACKAGE = UMFPACK, AMD, COLAMD, etc.

And I also already have a way to control how Fortran is called by C.

BLAS_UNDERSCORE is a legacy flag, from an older version of SuiteSparse. I still support it from the C command line, for backward compatibility, but I haven't ever exposed it to cmake.

whuaegeanse commented 8 months ago

Correct. You could also set CFLAGS="-DBLAS_UNDERSCORE" CXXFLAGS="-DBLAS_UNDERSCORE" before configuring with CMake.

So there may be two ways here to solve the openblas link problem.

  1. Configuring SuiteSparse with "-DSUITESPARSE_C_TOFORTRAN=(name,NAME) name##", mentioned by @mmuetzel.
  2. Setting CFLAGS="-DBLAS_UNDERSCORE" CXXFLAGS="-DBLAS_UNDERSCORE" before configuring SuiteSparse, mentioned by @mmuetzel. 3.Appling this PR and adding "-DBLAS_UNDERSCORE=ON" to cmake command.

After many more careful tests, the following conclusions were reached.

The best way is the second one.

mmuetzel commented 8 months ago

The first method probably didn't work with your Python script because you didn't correctly escape the quotes in the "assignment".

Edit: Like pointed out in https://github.com/DrTimothyAldenDavis/SuiteSparse/pull/698#issuecomment-1877388043, that configuration flag needs to be set like this: -DSUITESPARSE_C_TO_FORTRAN="(name,NAME) name##_" (including the double quotes). That means, you might need to escape them if you'd like to set that with a double-quoted Python string. Something like this might work as a double-quoted string literal inside a Python script: "-DSUITESPARSE_C_TO_FORTRAN=\"(name,NAME) name##_\""

whuaegeanse commented 8 months ago

The first method probably didn't work with your Python script because you didn't correctly escape the quotes in the "assignment".

Edit: Like pointed out in #698 (comment), that configuration flag needs to be set like this: -DSUITESPARSE_C_TO_FORTRAN="(name,NAME) name##_" (including the double quotes). That means, you might need to escape them if you'd like to set that with a double-quoted Python string. Something like this might work as a double-quoted string literal inside a Python script: "-DSUITESPARSE_C_TO_FORTRAN=\"(name,NAME) name##_\""

The first way is applied in my Python script.

    if args.blas_underscore:
        # args.cmake_config_args.append("-DCMAKE_C_FLAGS=/DBLAS_UNDERSCORE")
        # args.cmake_config_args.append("-DCMAKE_CXX_FLAGS=/DBLAS_UNDERSCORE")
        args.cmake_config_args.append("-DSUITESPARSE_C_TO_FORTRAN=\"name,NAME) name##_\"")

I print the cmake commands.

cmake -S F:/Libs/suitesparse/SuiteSparse/SuiteSparse_config -B F:/Libs/suitesparse/SuiteSparse-my-dev2-x64/SuiteSparse_config/build -DCMAKE_PREFIX_PATH=F:/Install/SuiteSparse-my-dev2 -DCMAKE_INSTALL_PREFIX=F:/Install/SuiteSparse-my-dev2 -DSUITESPARSE_LOCAL_INSTALL=OFF -DCMAKE_TOOLCHAIN_FILE=F:/Install/vcpkg/vcpkg-export-20230809-232109/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_GENERATOR_PLATFORM=x64 -DBLA_VENDOR=All -DSUITESPARSE_C_TO_FORTRAN="name,NAME) name##_" -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF -DSUITESPARSE_CUDA_ARCHITECTURES=52;75;80 -DSUITESPARSE_USE_CUDA=ON -DSUITESPARSE_USE_FORTRAN=OFF -DSUITESPARSE_DEMOS=ON

The log of cmake.

-- Building for: Visual Studio 17 2022
-- Building SuiteSparse_config version: v7.5.0 (Jan XX, 2024)
-- Selecting Windows SDK version 10.0.22000.0 to target Windows 10.0.22631.
-- The C compiler identification is MSVC 19.38.33130.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: D:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.38.33130/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Source:           F:/Libs/suitesparse/SuiteSparse/SuiteSparse_config
-- Build:            F:/Libs/suitesparse/SuiteSparse-my-dev2-x64/SuiteSparse_config/build
-- Install lib:      lib
-- Install include:  include/suitesparse
-- Install bin:      bin
-- Install pkg-file: lib
-- Install rpath:    $ORIGIN
-- Build   rpath:
-- Build type:       Release
-- Fortran:          not enabled
-- Looking for a CUDA compiler
-- Looking for a CUDA compiler - C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/bin/nvcc.exe
-- Found CUDAToolkit: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include (found version "11.6.55") 
-- CUDA toolkit :    TRUE
-- CUDA toolkit ver: 11.6.55
-- CUDA toolkit inc: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include
-- CUDA toolkit lib: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64
-- The CUDA compiler identification is NVIDIA 11.6.55
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/bin/nvcc.exe - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
-- CUDA:             enabled
CMake Warning at CMakeLists.txt:61 (message):
  NOTE: CUDA on MSVC has only recently been revised.  It appears to be
  functional but has not been as rigorously tested as I would like (I have
  limited resources for testing CUDA on Windows).  If you encounter issues,
  set the cmake option SUITESPARSE_USE_CUDA to OFF and post an issue on
  GitHub.

-- Found OpenMP_C: -openmp (found version "2.0") 
-- Found OpenMP: TRUE (found version "2.0") found components: C
-- SuiteSparse has OpenMP:        ON
-- SuiteSparse_config has OpenMP: ON
-- Looking for 32-BLAS: All
-- Looking for sgemm_
-- Looking for sgemm_ - not found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - not found
-- Found Threads: TRUE
-- Looking for sgemm_
-- Looking for sgemm_ - found
-- Found BLAS: F:/Install/vcpkg/vcpkg-export-20230809-232109/installed/x64-windows/lib/openblas.lib
-- Found All 32-bit BLAS
-- Specific BLAS: All found: TRUE
-- BLAS integer size: 4
-- Looking for fmax
-- Looking for fmax - found
-- OpenMP C libraries:
-- OpenMP C include:
-- OpenMP C flags:          -openmp
-- BLAS libraries:      F:/Install/vcpkg/vcpkg-export-20230809-232109/installed/x64-windows/lib/openblas.lib
-- BLAS linker flags:
-- BLAS include:
-- ------------------------------------------------------------------------
-- SuiteSparse CMAKE report for: SuiteSparseConfig
-- ------------------------------------------------------------------------
-- inside common SuiteSparse root:  OFF
-- install in SuiteSparse/lib and SuiteSparse/include: OFF
-- build type:           Release
-- BUILD_SHARED_LIBS:    ON
-- BUILD_STATIC_LIBS:    OFF
-- C compiler:           D:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.38.33130/bin/Hostx64/x64/cl.exe
-- C flags:              /DWIN32 /D_WINDOWS
-- C++ compiler:
-- C++ flags:
-- C Flags release:      /O2 /Ob2 /DNDEBUG
-- C++ Flags release:
-- Fortran compiler:     none
-- compile definitions:  _CRT_SECURE_NO_WARNINGS;BLAS_All
-- BLAS integer:         int32_t
-- CUDA architectures:   52;75;80
-- ------------------------------------------------------------------------
-- Configuring done (25.5s)
-- Generating done (0.0s)
-- Build files have been written to: F:/Libs/suitesparse/SuiteSparse-my-dev2-x64/SuiteSparse_config/build
CMake install commands: cmake --build F:/Libs/suitesparse/SuiteSparse-my-dev2-x64/SuiteSparse_config/build --target install --config Release -- /maxcpucount:16
适用于 .NET Framework MSBuild 版本 17.8.3+195e7f5a3

  Checking Build System
  Building Custom Rule F:/Libs/suitesparse/SuiteSparse/SuiteSparse_config/CMakeLists.txt
  SuiteSparse_config.c
F:\Libs\suitesparse\SuiteSparse\SuiteSparse_config\SuiteSparse_config.h(496,32): error C2008: “"”: 宏定义中的意外 [F:\Libs\suitesparse\SuiteSparse-my-dev2-x64\SuiteSparse_
config\build\SuiteSparseConfig.vcxproj]
  (编译源文件“../../../SuiteSparse/SuiteSparse_config/SuiteSparse_config.c”)

F:\Libs\suitesparse\SuiteSparse\SuiteSparse_config\SuiteSparse_config.h(497,33): error C2008: “"”: 宏定义中的意外 [F:\Libs\suitesparse\SuiteSparse-my-dev2-x64\SuiteSparse_
config\build\SuiteSparseConfig.vcxproj]
  (编译源文件“../../../SuiteSparse/SuiteSparse_config/SuiteSparse_config.c”)

Command failed: cmake --build F:/Libs/suitesparse/SuiteSparse-my-dev2-x64/SuiteSparse_config/build --target install --config Release -- /maxcpucount:16

The related code in SuiteSparse_config.h is changed from

#if defined ( BLAS_NO_UNDERSCORE )

    // no name mangling, use lower case
    #define SUITESPARSE_FORTRAN(name,NAME)  name
    #define SUITESPARSE__FORTRAN(name,NAME) name

#elif defined ( BLAS_UNDERSCORE )

    // append an underscore, use lower case
    #define SUITESPARSE_FORTRAN(name,NAME)  name ## _
    #define SUITESPARSE__FORTRAN(name,NAME) name ## _

#else

    // let CMake decide how C calls Fortran
    #define SUITESPARSE_FORTRAN(name,NAME) name##_
    #define SUITESPARSE__FORTRAN(name,NAME) name##_

#endif

to

#if defined ( BLAS_NO_UNDERSCORE )

    // no name mangling, use lower case
    #define SUITESPARSE_FORTRAN(name,NAME)  name
    #define SUITESPARSE__FORTRAN(name,NAME) name

#elif defined ( BLAS_UNDERSCORE )

    // append an underscore, use lower case
    #define SUITESPARSE_FORTRAN(name,NAME)  name ## _
    #define SUITESPARSE__FORTRAN(name,NAME) name ## _

#else

    // let CMake decide how C calls Fortran
    #define SUITESPARSE_FORTRAN"name,NAME) name##_"
    #define SUITESPARSE__FORTRAN"name,NAME) name##_"

#endif
mmuetzel commented 8 months ago

It's most likely related to your Python script. Try running that configuration command directly from a CMD shell (might be called "x64 Native Tools Command Prompt for VS 2022" or something similar):

cmake -S F:/Libs/suitesparse/SuiteSparse/SuiteSparse_config -B F:/Libs/suitesparse/SuiteSparse-my-dev2-x64/SuiteSparse_config/build -DCMAKE_PREFIX_PATH=F:/Install/SuiteSparse-my-dev2 -DCMAKE_INSTALL_PREFIX=F:/Install/SuiteSparse-my-dev2 -DSUITESPARSE_LOCAL_INSTALL=OFF -DCMAKE_TOOLCHAIN_FILE=F:/Install/vcpkg/vcpkg-export-20230809-232109/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_GENERATOR_PLATFORM=x64 -DBLA_VENDOR=All -DSUITESPARSE_C_TO_FORTRAN="(name,NAME) name##_" -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF -DSUITESPARSE_CUDA_ARCHITECTURES=52;75;80 -DSUITESPARSE_USE_CUDA=ON -DSUITESPARSE_USE_FORTRAN=OFF -DSUITESPARSE_DEMOS=ON

Then, check what you see in SuiteSparse_config.h.

Edit: Fixed your typo (missing opening parenthesis).

whuaegeanse commented 8 months ago

Edit: Fixed your typo (missing opening parenthesis).

The first way is applied in my Python script.

    if args.blas_underscore:
        # args.cmake_config_args.append("-DCMAKE_C_FLAGS=/DBLAS_UNDERSCORE")
        # args.cmake_config_args.append("-DCMAKE_CXX_FLAGS=/DBLAS_UNDERSCORE")
        args.cmake_config_args.append("-DSUITESPARSE_C_TO_FORTRAN=\"(name,NAME) name##_\"")

I print the cmake commands.

cmake -S F:/Libs/suitesparse/SuiteSparse/SuiteSparse_config -B F:/Libs/suitesparse/SuiteSparse-my-dev2-x64/SuiteSparse_config/build -DCMAKE_PREFIX_PATH=F:/Install/SuiteSparse-my-dev2 -DCMAKE_INSTALL_PREFIX=F:/Install/SuiteSparse-my-dev2 -DSUITESPARSE_LOCAL_INSTALL=OFF -DCMAKE_TOOLCHAIN_FILE=F:/Install/vcpkg/vcpkg-export-20230809-232109/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_GENERATOR_PLATFORM=x64 -DBLA_VENDOR=All -DSUITESPARSE_C_TO_FORTRAN="(name,NAME) name##_" -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF -DSUITESPARSE_CUDA_ARCHITECTURES=52;75;80 -DSUITESPARSE_USE_CUDA=ON -DSUITESPARSE_USE_FORTRAN=OFF -DSUITESPARSE_DEMOS=ON

The log of cmake.

-- Building for: Visual Studio 17 2022
-- Building SuiteSparse_config version: v7.5.0 (Jan XX, 2024)
-- Selecting Windows SDK version 10.0.22000.0 to target Windows 10.0.22631.
-- The C compiler identification is MSVC 19.38.33130.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: D:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.38.33130/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Source:           F:/Libs/suitesparse/SuiteSparse/SuiteSparse_config
-- Build:            F:/Libs/suitesparse/SuiteSparse-my-dev2-x64/SuiteSparse_config/build
-- Install lib:      lib
-- Install include:  include/suitesparse
-- Install bin:      bin
-- Install pkg-file: lib
-- Install rpath:    $ORIGIN
-- Build   rpath:
-- Build type:       Release
-- Fortran:          not enabled
-- Looking for a CUDA compiler
-- Looking for a CUDA compiler - C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/bin/nvcc.exe
-- Found CUDAToolkit: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include (found version "11.6.55") 
-- CUDA toolkit :    TRUE
-- CUDA toolkit ver: 11.6.55
-- CUDA toolkit inc: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include
-- CUDA toolkit lib: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64
-- The CUDA compiler identification is NVIDIA 11.6.55
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/bin/nvcc.exe - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
-- CUDA:             enabled
CMake Warning at CMakeLists.txt:61 (message):
  NOTE: CUDA on MSVC has only recently been revised.  It appears to be
  functional but has not been as rigorously tested as I would like (I have
  limited resources for testing CUDA on Windows).  If you encounter issues,
  set the cmake option SUITESPARSE_USE_CUDA to OFF and post an issue on
  GitHub.

-- Found OpenMP_C: -openmp (found version "2.0") 
-- Found OpenMP: TRUE (found version "2.0") found components: C
-- SuiteSparse has OpenMP:        ON
-- SuiteSparse_config has OpenMP: ON
-- Looking for 32-BLAS: All
-- Looking for sgemm_
-- Looking for sgemm_ - not found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - not found
-- Found Threads: TRUE
-- Looking for sgemm_
-- Looking for sgemm_ - found
-- Found BLAS: F:/Install/vcpkg/vcpkg-export-20230809-232109/installed/x64-windows/lib/openblas.lib
-- Found All 32-bit BLAS
-- Specific BLAS: All found: TRUE
-- BLAS integer size: 4
-- Looking for fmax
-- Looking for fmax - found
-- OpenMP C libraries:
-- OpenMP C include:
-- OpenMP C flags:          -openmp
-- BLAS libraries:      F:/Install/vcpkg/vcpkg-export-20230809-232109/installed/x64-windows/lib/openblas.lib
-- BLAS linker flags:
-- BLAS include:
-- ------------------------------------------------------------------------
-- SuiteSparse CMAKE report for: SuiteSparseConfig
-- ------------------------------------------------------------------------
-- inside common SuiteSparse root:  OFF
-- install in SuiteSparse/lib and SuiteSparse/include: OFF
-- build type:           Release
-- BUILD_SHARED_LIBS:    ON
-- BUILD_STATIC_LIBS:    OFF
-- C compiler:           D:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.38.33130/bin/Hostx64/x64/cl.exe
-- C flags:              /DWIN32 /D_WINDOWS
-- C++ compiler:
-- C++ flags:
-- C Flags release:      /O2 /Ob2 /DNDEBUG
-- C++ Flags release:
-- Fortran compiler:     none
-- compile definitions:  _CRT_SECURE_NO_WARNINGS;BLAS_All
-- BLAS integer:         int32_t
-- CUDA architectures:   52;75;80
-- ------------------------------------------------------------------------
-- Configuring done (25.4s)
-- Generating done (0.1s)
-- Build files have been written to: F:/Libs/suitesparse/SuiteSparse-my-dev2-x64/SuiteSparse_config/build
CMake install commands: cmake --build F:/Libs/suitesparse/SuiteSparse-my-dev2-x64/SuiteSparse_config/build --target install --config Release -- /maxcpucount:16
适用于 .NET Framework MSBuild 版本 17.8.3+195e7f5a3

  Checking Build System
  Building Custom Rule F:/Libs/suitesparse/SuiteSparse/SuiteSparse_config/CMakeLists.txt
  SuiteSparse_config.c
F:\Libs\suitesparse\SuiteSparse\SuiteSparse_config\SuiteSparse_config.h(496,32): error C2008: “"”: 宏定义中的意外 [F:\Libs\suitesparse\SuiteSparse-my-dev2-x64\SuiteSparse_
config\build\SuiteSparseConfig.vcxproj]
  (编译源文件“../../../SuiteSparse/SuiteSparse_config/SuiteSparse_config.c”)

F:\Libs\suitesparse\SuiteSparse\SuiteSparse_config\SuiteSparse_config.h(497,33): error C2008: “"”: 宏定义中的意外 [F:\Libs\suitesparse\SuiteSparse-my-dev2-x64\SuiteSparse_
config\build\SuiteSparseConfig.vcxproj]
  (编译源文件“../../../SuiteSparse/SuiteSparse_config/SuiteSparse_config.c”)

Command failed: cmake --build F:/Libs/suitesparse/SuiteSparse-my-dev2-x64/SuiteSparse_config/build --target install --config Release -- /maxcpucount:16

The related code in SuiteSparse_config.h is changed from

#if defined ( BLAS_NO_UNDERSCORE )

    // no name mangling, use lower case
    #define SUITESPARSE_FORTRAN(name,NAME)  name
    #define SUITESPARSE__FORTRAN(name,NAME) name

#elif defined ( BLAS_UNDERSCORE )

    // append an underscore, use lower case
    #define SUITESPARSE_FORTRAN(name,NAME)  name ## _
    #define SUITESPARSE__FORTRAN(name,NAME) name ## _

#else

    // let CMake decide how C calls Fortran
    #define SUITESPARSE_FORTRAN(name,NAME) name##_
    #define SUITESPARSE__FORTRAN(name,NAME) name##_

#endif

to

#if defined ( BLAS_NO_UNDERSCORE )

    // no name mangling, use lower case
    #define SUITESPARSE_FORTRAN(name,NAME)  name
    #define SUITESPARSE__FORTRAN(name,NAME) name

#elif defined ( BLAS_UNDERSCORE )

    // append an underscore, use lower case
    #define SUITESPARSE_FORTRAN(name,NAME)  name ## _
    #define SUITESPARSE__FORTRAN(name,NAME) name ## _

#else

    // let CMake decide how C calls Fortran
    #define SUITESPARSE_FORTRAN"(name,NAME) name##_"
    #define SUITESPARSE__FORTRAN"(name,NAME) name##_"

#endif
mmuetzel commented 8 months ago

Don't use your Python script (for a test). Instead run that command directly.

Edit: If that works (and I guess it will), you need to figure out how to correctly quote parts of the command that you are calling out of your Python script. Maybe something like the following works better?

    if args.blas_underscore:
        args.cmake_config_args.append('-DSUITESPARSE_C_TO_FORTRAN="(name,NAME) name##_"')
whuaegeanse commented 8 months ago

Don't use your Python script (for a test). Instead run that command directly.

It works.

The commands

F:\Libs\suitesparse\SuiteSparse-Scripts\dev3>cmake -S F:/Libs/suitesparse/SuiteSparse/SuiteSparse_config -B F:/Libs/suitesparse/SuiteSparse-my-dev2-x64/SuiteSparse_config/build -DCMAKE_PREFIX_PATH=F:/Install/SuiteSparse-my-dev2 -DCMAKE_INSTALL_PREFIX=F:/Install/SuiteSparse-my-dev2 -DSUITESPARSE_LOCAL_INSTALL=OFF -DCMAKE_TOOLCHAIN_FILE=F:/Install/vcpkg/vcpkg-export-20230809-232109/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_GENERATOR_PLATFORM=x64 -DBLA_VENDOR=All -DSUITESPARSE_C_TO_FORTRAN="(name,NAME) name##_" -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF -DSUITESPARSE_CUDA_ARCHITECTURES=52;75;80 -DSUITESPARSE_USE_CUDA=ON -DSUITESPARSE_USE_FORTRAN=OFF -DSUITESPARSE_DEMOS=ON
-- Building for: Visual Studio 17 2022
-- Building SuiteSparse_config version: v7.5.0 (Jan XX, 2024)
-- Selecting Windows SDK version 10.0.22000.0 to target Windows 10.0.22631.
-- The C compiler identification is MSVC 19.38.33130.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: D:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.38.33130/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Source:           F:/Libs/suitesparse/SuiteSparse/SuiteSparse_config
-- Build:            F:/Libs/suitesparse/SuiteSparse-my-dev2-x64/SuiteSparse_config/build
-- Install lib:      lib
-- Install include:  include/suitesparse
-- Install bin:      bin
-- Install pkg-file: lib
-- Install rpath:    $ORIGIN
-- Build   rpath:
-- Build type:       Release
-- Fortran:          not enabled
-- Looking for a CUDA compiler
-- Looking for a CUDA compiler - C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/bin/nvcc.exe
-- Found CUDAToolkit: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include (found version "11.6.55")
-- CUDA toolkit :    TRUE
-- CUDA toolkit ver: 11.6.55
-- CUDA toolkit inc: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include
-- CUDA toolkit lib: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64
-- The CUDA compiler identification is NVIDIA 11.6.55
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/bin/nvcc.exe - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
-- CUDA:             enabled
CMake Warning at CMakeLists.txt:61 (message):
  NOTE: CUDA on MSVC has only recently been revised.  It appears to be
  functional but has not been as rigorously tested as I would like (I have
  limited resources for testing CUDA on Windows).  If you encounter issues,
  set the cmake option SUITESPARSE_USE_CUDA to OFF and post an issue on
  GitHub.

-- Found OpenMP_C: -openmp (found version "2.0") 
-- Found OpenMP: TRUE (found version "2.0") found components: C
-- SuiteSparse has OpenMP:        ON
-- SuiteSparse_config has OpenMP: ON
-- Looking for 32-BLAS: All
-- Looking for sgemm_
-- Looking for sgemm_ - not found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - not found
-- Found Threads: TRUE
-- Looking for sgemm_
-- Looking for sgemm_ - found
-- Found BLAS: F:/Install/vcpkg/vcpkg-export-20230809-232109/installed/x64-windows/lib/openblas.lib
-- Found All 32-bit BLAS
-- Specific BLAS: All found: TRUE
-- BLAS integer size: 4
-- Looking for fmax
-- Looking for fmax - found
-- OpenMP C libraries:
-- OpenMP C include:
-- OpenMP C flags:          -openmp
-- BLAS libraries:      F:/Install/vcpkg/vcpkg-export-20230809-232109/installed/x64-windows/lib/openblas.lib
-- BLAS linker flags:
-- BLAS include:
-- ------------------------------------------------------------------------
-- SuiteSparse CMAKE report for: SuiteSparseConfig
-- ------------------------------------------------------------------------
-- inside common SuiteSparse root:  OFF
-- install in SuiteSparse/lib and SuiteSparse/include: OFF
-- build type:           Release
-- BUILD_SHARED_LIBS:    ON
-- BUILD_STATIC_LIBS:    OFF
-- C compiler:           D:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.38.33130/bin/Hostx64/x64/cl.exe
-- C flags:              /DWIN32 /D_WINDOWS
-- C++ compiler:
-- C++ flags:
-- C Flags release:      /O2 /Ob2 /DNDEBUG
-- C++ Flags release:
-- Fortran compiler:     none
-- compile definitions:  _CRT_SECURE_NO_WARNINGS;BLAS_All
-- BLAS integer:         int32_t
-- CUDA architectures:   52;75;80
-- ------------------------------------------------------------------------
-- Configuring done (22.4s)
-- Generating done (0.0s)
-- Build files have been written to: F:/Libs/suitesparse/SuiteSparse-my-dev2-x64/SuiteSparse_config/build

F:\Libs\suitesparse\SuiteSparse-Scripts\dev3>cmake --build F:/Libs/suitesparse/SuiteSparse-my-dev2-x64/SuiteSparse_config/build --target install --config Release -- /maxcpucount:1
适用于 .NET Framework MSBuild 版本 17.8.3+195e7f5a3

  Checking Build System
  Building Custom Rule F:/Libs/suitesparse/SuiteSparse/SuiteSparse_config/CMakeLists.txt
  SuiteSparse_config.c
  Auto build dll exports
    正在创建库 F:/Libs/suitesparse/SuiteSparse-my-dev2-x64/SuiteSparse_config/build/Release/suitesparseconfig.lib 和对象 F:/Libs/suitesparse/SuiteSparse-my-dev2-x64/
  SuiteSparse_config/build/Release/suitesparseconfig.exp
  SuiteSparseConfig.vcxproj -> F:\Libs\suitesparse\SuiteSparse-my-dev2-x64\SuiteSparse_config\build\Release\suitesparseconfig.dll
  Building Custom Rule F:/Libs/suitesparse/SuiteSparse/SuiteSparse_config/CMakeLists.txt
  -- Install configuration: "Release"
  -- Installing: F:/Install/SuiteSparse-my-dev2/lib/suitesparseconfig.lib
  -- Installing: F:/Install/SuiteSparse-my-dev2/bin/suitesparseconfig.dll
  -- Installing: F:/Install/SuiteSparse-my-dev2/include/suitesparse/SuiteSparse_config.h
  -- Installing: F:/Install/SuiteSparse-my-dev2/lib/cmake/SuiteSparse/SuiteSparseBLAS.cmake
  -- Installing: F:/Install/SuiteSparse-my-dev2/lib/cmake/SuiteSparse/SuiteSparseBLAS32.cmake
  -- Installing: F:/Install/SuiteSparse-my-dev2/lib/cmake/SuiteSparse/SuiteSparseBLAS64.cmake
  -- Installing: F:/Install/SuiteSparse-my-dev2/lib/cmake/SuiteSparse/SuiteSparseLAPACK.cmake
  -- Installing: F:/Install/SuiteSparse-my-dev2/lib/cmake/SuiteSparse/SuiteSparsePolicy.cmake
  -- Installing: F:/Install/SuiteSparse-my-dev2/lib/cmake/SuiteSparse/SuiteSparseReport.cmake
  -- Installing: F:/Install/SuiteSparse-my-dev2/lib/cmake/SuiteSparse/SuiteSparse__thread.cmake
  -- Installing: F:/Install/SuiteSparse-my-dev2/lib/cmake/SuiteSparse_config/SuiteSparse_configTargets.cmake
  -- Installing: F:/Install/SuiteSparse-my-dev2/lib/cmake/SuiteSparse_config/SuiteSparse_configTargets-release.cmake
  -- Installing: F:/Install/SuiteSparse-my-dev2/lib/cmake/SuiteSparse_config/SuiteSparse_configConfig.cmake
  -- Installing: F:/Install/SuiteSparse-my-dev2/lib/cmake/SuiteSparse_config/SuiteSparse_configConfigVersion.cmake

Tthe CMakeCache file.


# This is the CMakeCache file.
# For build in directory: f:/Libs/suitesparse/SuiteSparse-my-dev2-x64/SuiteSparse_config/build
# It was generated by CMake: C:/Program Files/CMake/bin/cmake.exe
# You can edit this file to change values found and used by cmake.
# If you do not want to change any of the values, simply exit the editor.
# If you do want to change a value, simply edit, save, and exit the editor.
# The syntax for the file is as follows:
# KEY:TYPE=VALUE
# KEY is the name of a variable in the cache.
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
# VALUE is the current value for the KEY.

########################
# EXTERNAL cache entries
########################

//Path to a library.
BLAS_flexiblas_LIBRARY:FILEPATH=BLAS_flexiblas_LIBRARY-NOTFOUND

//Path to a library.
BLAS_goto2_LIBRARY:FILEPATH=BLAS_goto2_LIBRARY-NOTFOUND

//Path to a library.
BLAS_mkl_intel_c_dll_LIBRARY:FILEPATH=BLAS_mkl_intel_c_dll_LIBRARY-NOTFOUND

//Path to a library.
BLAS_mkl_intel_lp64_dll_LIBRARY:FILEPATH=BLAS_mkl_intel_lp64_dll_LIBRARY-NOTFOUND

//Path to a library.
BLAS_mkl_rt_LIBRARY:FILEPATH=BLAS_mkl_rt_LIBRARY-NOTFOUND

//Path to a library.
BLAS_openblas_LIBRARY:FILEPATH=F:/Install/vcpkg/vcpkg-export-20230809-232109/installed/x64-windows/lib/openblas.lib

//OFF (default): dynamic linking of BLAS.  ON: static linking of
// BLAS
BLA_STATIC:BOOL=OFF

//if ANY (default): searches for any BLAS. Otherwise: search for
// a specific BLAS
BLA_VENDOR:STRING=All

//OFF: do not build shared libraries.  ON (default): build shared
// libraries
BUILD_SHARED_LIBS:BOOL=ON

//OFF: do not build static libraries.  ON (default): build static
// libraries
BUILD_STATIC_LIBS:BOOL=OFF

//Path to a program.
CMAKE_AR:FILEPATH=D:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.38.33130/bin/Hostx64/x64/lib.exe

//No help, variable specified on the command line.
CMAKE_BUILD_TYPE:UNINITIALIZED=Release

//Semicolon separated list of supported configuration types, only
// supports Debug, Release, MinSizeRel, and RelWithDebInfo, anything
// else will be ignored.
CMAKE_CONFIGURATION_TYPES:STRING=Debug;Release;MinSizeRel;RelWithDebInfo

//CUDA architectures
CMAKE_CUDA_ARCHITECTURES:STRING=52

//CUDA compiler
CMAKE_CUDA_COMPILER:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/bin/nvcc.exe

//Flags used by the CUDA compiler during all build types.
CMAKE_CUDA_FLAGS:STRING=-D_WINDOWS -Xcompiler=" /EHsc"

//Flags used by the CUDA compiler during DEBUG builds.
CMAKE_CUDA_FLAGS_DEBUG:STRING=-Xcompiler=" -Zi -Ob0 -Od /RTC1"

//Flags used by the CUDA compiler during MINSIZEREL builds.
CMAKE_CUDA_FLAGS_MINSIZEREL:STRING=-Xcompiler="-O1 -Ob1" -DNDEBUG

//Flags used by the CUDA compiler during RELEASE builds.
CMAKE_CUDA_FLAGS_RELEASE:STRING=-Xcompiler="-O2 -Ob2" -DNDEBUG

//Flags used by the CUDA compiler during RELWITHDEBINFO builds.
CMAKE_CUDA_FLAGS_RELWITHDEBINFO:STRING=-Xcompiler=" -Zi -O2 -Ob1" -DNDEBUG

//Libraries linked by default with all CUDA applications.
CMAKE_CUDA_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib

//Flags used by the C compiler during all build types.
CMAKE_C_FLAGS:STRING=/DWIN32 /D_WINDOWS

//Flags used by the C compiler during DEBUG builds.
CMAKE_C_FLAGS_DEBUG:STRING=/Zi /Ob0 /Od /RTC1

//Flags used by the C compiler during MINSIZEREL builds.
CMAKE_C_FLAGS_MINSIZEREL:STRING=/O1 /Ob1 /DNDEBUG

//Flags used by the C compiler during RELEASE builds.
CMAKE_C_FLAGS_RELEASE:STRING=/O2 /Ob2 /DNDEBUG

//Flags used by the C compiler during RELWITHDEBINFO builds.
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=/Zi /O2 /Ob1 /DNDEBUG

//Libraries linked by default with all C applications.
CMAKE_C_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib

//Flags used by the linker during all build types.
CMAKE_EXE_LINKER_FLAGS:STRING=/machine:x64

//Flags used by the linker during DEBUG builds.
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL

//Flags used by the linker during MINSIZEREL builds.
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO

//Flags used by the linker during RELEASE builds.
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO

//Flags used by the linker during RELWITHDEBINFO builds.
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL

//Value Computed by CMake.
CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=F:/Libs/suitesparse/SuiteSparse-my-dev2-x64/SuiteSparse_config/build/CMakeFiles/pkgRedirects

//No help, variable specified on the command line.
CMAKE_GENERATOR_PLATFORM:UNINITIALIZED=x64

//User executables (bin)
CMAKE_INSTALL_BINDIR:PATH=bin

//Read-only architecture-independent data (DATAROOTDIR)
CMAKE_INSTALL_DATADIR:PATH=

//Read-only architecture-independent data root (share)
CMAKE_INSTALL_DATAROOTDIR:PATH=share

//Documentation root (DATAROOTDIR/doc/PROJECT_NAME)
CMAKE_INSTALL_DOCDIR:PATH=

//C header files (include)
CMAKE_INSTALL_INCLUDEDIR:PATH=include

//Info documentation (DATAROOTDIR/info)
CMAKE_INSTALL_INFODIR:PATH=

//Object code libraries (lib)
CMAKE_INSTALL_LIBDIR:PATH=lib

//Program executables (libexec)
CMAKE_INSTALL_LIBEXECDIR:PATH=libexec

//Locale-dependent data (DATAROOTDIR/locale)
CMAKE_INSTALL_LOCALEDIR:PATH=

//Modifiable single-machine data (var)
CMAKE_INSTALL_LOCALSTATEDIR:PATH=var

//Man documentation (DATAROOTDIR/man)
CMAKE_INSTALL_MANDIR:PATH=

//C header files for non-gcc (/usr/include)
CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include

//Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=F:/Install/SuiteSparse-my-dev2

//Run-time variable data (LOCALSTATEDIR/run)
CMAKE_INSTALL_RUNSTATEDIR:PATH=

//System admin executables (sbin)
CMAKE_INSTALL_SBINDIR:PATH=sbin

//Modifiable architecture-independent data (com)
CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com

//Read-only single-machine data (etc)
CMAKE_INSTALL_SYSCONFDIR:PATH=etc

//Path to a program.
CMAKE_LINKER:FILEPATH=D:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.38.33130/bin/Hostx64/x64/link.exe

//Flags used by the linker during the creation of modules during
// all build types.
CMAKE_MODULE_LINKER_FLAGS:STRING=/machine:x64

//Flags used by the linker during the creation of modules during
// DEBUG builds.
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL

//Flags used by the linker during the creation of modules during
// MINSIZEREL builds.
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO

//Flags used by the linker during the creation of modules during
// RELEASE builds.
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO

//Flags used by the linker during the creation of modules during
// RELWITHDEBINFO builds.
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL

//Path to a program.
CMAKE_MT:FILEPATH=CMAKE_MT-NOTFOUND

//No help, variable specified on the command line.
CMAKE_PREFIX_PATH:UNINITIALIZED=F:/Install/SuiteSparse-my-dev2

//Value Computed by CMake
CMAKE_PROJECT_DESCRIPTION:STATIC=

//Value Computed by CMake
CMAKE_PROJECT_HOMEPAGE_URL:STATIC=

//Value Computed by CMake
CMAKE_PROJECT_NAME:STATIC=SuiteSparseConfig

//Value Computed by CMake
CMAKE_PROJECT_VERSION:STATIC=7.5.0

//Value Computed by CMake
CMAKE_PROJECT_VERSION_MAJOR:STATIC=7

//Value Computed by CMake
CMAKE_PROJECT_VERSION_MINOR:STATIC=5

//Value Computed by CMake
CMAKE_PROJECT_VERSION_PATCH:STATIC=0

//Value Computed by CMake
CMAKE_PROJECT_VERSION_TWEAK:STATIC=

//RC compiler
CMAKE_RC_COMPILER:FILEPATH=rc

//Flags for Windows Resource Compiler during all build types.
CMAKE_RC_FLAGS:STRING=-DWIN32

//Flags for Windows Resource Compiler during DEBUG builds.
CMAKE_RC_FLAGS_DEBUG:STRING=-D_DEBUG

//Flags for Windows Resource Compiler during MINSIZEREL builds.
CMAKE_RC_FLAGS_MINSIZEREL:STRING=

//Flags for Windows Resource Compiler during RELEASE builds.
CMAKE_RC_FLAGS_RELEASE:STRING=

//Flags for Windows Resource Compiler during RELWITHDEBINFO builds.
CMAKE_RC_FLAGS_RELWITHDEBINFO:STRING=

//Flags used by the linker during the creation of shared libraries
// during all build types.
CMAKE_SHARED_LINKER_FLAGS:STRING=/machine:x64

//Flags used by the linker during the creation of shared libraries
// during DEBUG builds.
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL

//Flags used by the linker during the creation of shared libraries
// during MINSIZEREL builds.
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO

//Flags used by the linker during the creation of shared libraries
// during RELEASE builds.
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO

//Flags used by the linker during the creation of shared libraries
// during RELWITHDEBINFO builds.
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL

//If set, runtime paths are not added when installing shared libraries,
// but are added when building.
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO

//If set, runtime paths are not added when using shared libraries.
CMAKE_SKIP_RPATH:BOOL=NO

//Flags used by the linker during the creation of static libraries
// during all build types.
CMAKE_STATIC_LINKER_FLAGS:STRING=/machine:x64

//Flags used by the linker during the creation of static libraries
// during DEBUG builds.
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during the creation of static libraries
// during MINSIZEREL builds.
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during the creation of static libraries
// during RELEASE builds.
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during the creation of static libraries
// during RELWITHDEBINFO builds.
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//The CMake toolchain file
CMAKE_TOOLCHAIN_FILE:FILEPATH=F:/Install/vcpkg/vcpkg-export-20230809-232109/scripts/buildsystems/vcpkg.cmake

//If this value is on, makefiles will be generated without the
// .SILENT directive, and all commands will be echoed to the console
// during the make.  This is useful for debugging only. With Visual
// Studio IDE projects all commands are done without /nologo.
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE

CUDAToolkit_BIN_DIR:PATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/bin

//Path to a file.
CUDAToolkit_CUPTI_INCLUDE_DIR:PATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/extras/CUPTI/include

//Path to a program.
CUDAToolkit_NVCC_EXECUTABLE:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/bin/nvcc.exe

//Path to a library.
CUDA_CUDART:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/cudart.lib

//Path to a library.
CUDA_OpenCL_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/OpenCL.lib

//Path to a library.
CUDA_cuFile_LIBRARY:FILEPATH=CUDA_cuFile_LIBRARY-NOTFOUND

//Path to a library.
CUDA_cuFile_rdma_LIBRARY:FILEPATH=CUDA_cuFile_rdma_LIBRARY-NOTFOUND

//Path to a library.
CUDA_cuFile_rdma_static_LIBRARY:FILEPATH=CUDA_cuFile_rdma_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_cuFile_static_LIBRARY:FILEPATH=CUDA_cuFile_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_cublasLt_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/cublasLt.lib

//Path to a library.
CUDA_cublasLt_static_LIBRARY:FILEPATH=CUDA_cublasLt_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_cublas_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/cublas.lib

//Path to a library.
CUDA_cublas_static_LIBRARY:FILEPATH=CUDA_cublas_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_cuda_driver_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/cuda.lib

//Path to a library.
CUDA_cudart_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/cudart.lib

//Path to a library.
CUDA_cudart_static_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/cudart_static.lib

//Path to a library.
CUDA_cufft_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/cufft.lib

//Path to a library.
CUDA_cufft_static_LIBRARY:FILEPATH=CUDA_cufft_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_cufft_static_nocallback_LIBRARY:FILEPATH=CUDA_cufft_static_nocallback_LIBRARY-NOTFOUND

//Path to a library.
CUDA_cufftw_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/cufftw.lib

//Path to a library.
CUDA_cufftw_static_LIBRARY:FILEPATH=CUDA_cufftw_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_culibos_LIBRARY:FILEPATH=CUDA_culibos_LIBRARY-NOTFOUND

//Path to a library.
CUDA_cupti_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/extras/CUPTI/lib64/cupti.lib

//Path to a library.
CUDA_cupti_static_LIBRARY:FILEPATH=CUDA_cupti_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_curand_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/curand.lib

//Path to a library.
CUDA_curand_static_LIBRARY:FILEPATH=CUDA_curand_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_cusolver_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/cusolver.lib

//Path to a library.
CUDA_cusolver_lapack_static_LIBRARY:FILEPATH=CUDA_cusolver_lapack_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_cusolver_metis_static_LIBRARY:FILEPATH=CUDA_cusolver_metis_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_cusolver_static_LIBRARY:FILEPATH=CUDA_cusolver_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_cusparse_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/cusparse.lib

//Path to a library.
CUDA_cusparse_static_LIBRARY:FILEPATH=CUDA_cusparse_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_nppc_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/nppc.lib

//Path to a library.
CUDA_nppc_static_LIBRARY:FILEPATH=CUDA_nppc_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_nppial_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/nppial.lib

//Path to a library.
CUDA_nppial_static_LIBRARY:FILEPATH=CUDA_nppial_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_nppicc_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/nppicc.lib

//Path to a library.
CUDA_nppicc_static_LIBRARY:FILEPATH=CUDA_nppicc_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_nppicom_LIBRARY:FILEPATH=CUDA_nppicom_LIBRARY-NOTFOUND

//Path to a library.
CUDA_nppicom_static_LIBRARY:FILEPATH=CUDA_nppicom_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_nppidei_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/nppidei.lib

//Path to a library.
CUDA_nppidei_static_LIBRARY:FILEPATH=CUDA_nppidei_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_nppif_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/nppif.lib

//Path to a library.
CUDA_nppif_static_LIBRARY:FILEPATH=CUDA_nppif_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_nppig_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/nppig.lib

//Path to a library.
CUDA_nppig_static_LIBRARY:FILEPATH=CUDA_nppig_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_nppim_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/nppim.lib

//Path to a library.
CUDA_nppim_static_LIBRARY:FILEPATH=CUDA_nppim_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_nppist_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/nppist.lib

//Path to a library.
CUDA_nppist_static_LIBRARY:FILEPATH=CUDA_nppist_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_nppisu_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/nppisu.lib

//Path to a library.
CUDA_nppisu_static_LIBRARY:FILEPATH=CUDA_nppisu_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_nppitc_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/nppitc.lib

//Path to a library.
CUDA_nppitc_static_LIBRARY:FILEPATH=CUDA_nppitc_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_npps_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/npps.lib

//Path to a library.
CUDA_npps_static_LIBRARY:FILEPATH=CUDA_npps_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_nvToolsExt_LIBRARY:FILEPATH=C:/Program Files/NVIDIA Corporation/NvToolsExt/lib/x64/nvToolsExt64_1.lib

//Path to a library.
CUDA_nvgraph_LIBRARY:FILEPATH=CUDA_nvgraph_LIBRARY-NOTFOUND

//Path to a library.
CUDA_nvgraph_static_LIBRARY:FILEPATH=CUDA_nvgraph_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_nvjpeg_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/nvjpeg.lib

//Path to a library.
CUDA_nvjpeg_static_LIBRARY:FILEPATH=CUDA_nvjpeg_static_LIBRARY-NOTFOUND

//Path to a library.
CUDA_nvml_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/nvml.lib

//Path to a library.
CUDA_nvptxcompiler_static_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/nvptxcompiler_static.lib

//Path to a library.
CUDA_nvrtc_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/nvrtc.lib

//Path to a library.
CUDA_nvrtc_builtins_LIBRARY:FILEPATH=CUDA_nvrtc_builtins_LIBRARY-NOTFOUND

//Path to a library.
CUDA_nvrtc_builtins_static_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/nvrtc-builtins_static.lib

//Path to a library.
CUDA_nvrtc_static_LIBRARY:FILEPATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/nvrtc_static.lib

//C compiler flags for OpenMP parallelization
OpenMP_C_FLAGS:STRING=-openmp

//C compiler libraries for OpenMP parallelization
OpenMP_C_LIB_NAMES:STRING=

//ON: Use OpenMP in SuiteSparse_config if available.  OFF: Do not
// use OpenMP.  (Default: SUITESPARSE_USE_OPENMP)
SUITESPARSE_CONFIG_USE_OPENMP:BOOL=ON

SUITESPARSE_CONFIG_VERSION_MAJOR:STRING=7

SUITESPARSE_CONFIG_VERSION_MINOR:STRING=5

SUITESPARSE_CONFIG_VERSION_PATCH:STRING=0

//CUDA architectures
SUITESPARSE_CUDA_ARCHITECTURES:STRING=52;75;80

//C to Fortan name mangling
SUITESPARSE_C_TO_FORTRAN:STRING=(name,NAME) name##_

//ON: Build the demo programs.  OFF (default): do not build the
// demo programs.
SUITESPARSE_DEMOS:BOOL=ON

//Postfix for installation target of header from SuiteSparse (default:
// "suitesparse")
SUITESPARSE_INCLUDEDIR_POSTFIX:STRING=suitesparse

//Install in SuiteSparse/lib
SUITESPARSE_LOCAL_INSTALL:BOOL=OFF

//Directory where CMake Config and pkg-config files will be installed
SUITESPARSE_PKGFILEDIR:STRING=lib

//OFF (default): use only 32-bit BLAS.  ON: look for 32 or 64-bit
// BLAS
SUITESPARSE_USE_64BIT_BLAS:BOOL=OFF

//ON (default): enable CUDA acceleration for SuiteSparse, OFF:
// do not use CUDA
SUITESPARSE_USE_CUDA:BOOL=ON

//ON (default): use Fortran. OFF: do not use Fortran
SUITESPARSE_USE_FORTRAN:BOOL=OFF

//ON (default): Use OpenMP if available.  OFF: Do not use OpenMP
SUITESPARSE_USE_OPENMP:BOOL=ON

//ON: treat all _USE__ settings as strict if they are ON. OFF (default):
// consider *_USE_* as preferences, not strict
SUITESPARSE_USE_STRICT:BOOL=OFF

//Value Computed by CMake
SuiteSparseConfig_BINARY_DIR:STATIC=F:/Libs/suitesparse/SuiteSparse-my-dev2-x64/SuiteSparse_config/build

//Value Computed by CMake
SuiteSparseConfig_IS_TOP_LEVEL:STATIC=ON

//Value Computed by CMake
SuiteSparseConfig_SOURCE_DIR:STATIC=F:/Libs/suitesparse/SuiteSparse/SuiteSparse_config

//Automatically copy dependencies into the output directory for
// executables.
VCPKG_APPLOCAL_DEPS:BOOL=ON

//The directory which contains the installed libraries for each
// triplet
VCPKG_INSTALLED_DIR:PATH=F:/Install/vcpkg/vcpkg-export-20230809-232109/installed

//The path to the vcpkg manifest directory.
VCPKG_MANIFEST_DIR:PATH=

//Use manifest mode, as opposed to classic mode.
VCPKG_MANIFEST_MODE:BOOL=OFF

//Appends the vcpkg paths to CMAKE_PREFIX_PATH, CMAKE_LIBRARY_PATH
// and CMAKE_FIND_ROOT_PATH so that vcpkg libraries/packages are
// found after toolchain/system libraries/packages.
VCPKG_PREFER_SYSTEM_LIBS:BOOL=OFF

//Enable the setup of CMAKE_PROGRAM_PATH to vcpkg paths
VCPKG_SETUP_CMAKE_PROGRAM_PATH:BOOL=ON

//Vcpkg target triplet (ex. x86-windows)
VCPKG_TARGET_TRIPLET:STRING=x64-windows

//Trace calls to find_package()
VCPKG_TRACE_FIND_PACKAGE:BOOL=OFF

//Enables messages from the VCPKG toolchain for debugging purposes.
VCPKG_VERBOSE:BOOL=OFF

//(experimental) Automatically copy dependencies into the install
// target directory for executables. Requires CMake 3.14.
X_VCPKG_APPLOCAL_DEPS_INSTALL:BOOL=OFF

//(experimental) Add USES_TERMINAL to VCPKG_APPLOCAL_DEPS to force
// serialization.
X_VCPKG_APPLOCAL_DEPS_SERIALIZED:BOOL=OFF

//Path to a program.
Z_VCPKG_BUILTIN_POWERSHELL_PATH:FILEPATH=C:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe

//Path to a program.
Z_VCPKG_PWSH_PATH:FILEPATH=Z_VCPKG_PWSH_PATH-NOTFOUND

//The directory which contains the installed libraries for each
// triplet
_VCPKG_INSTALLED_DIR:PATH=F:/Install/vcpkg/vcpkg-export-20230809-232109/installed

########################
# INTERNAL cache entries
########################

//Have function sgemm_
BLAS_WORKS:INTERNAL=
//ADVANCED property for variable: BLAS_flexiblas_LIBRARY
BLAS_flexiblas_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: BLAS_goto2_LIBRARY
BLAS_goto2_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: BLAS_mkl_intel_c_dll_LIBRARY
BLAS_mkl_intel_c_dll_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: BLAS_mkl_intel_lp64_dll_LIBRARY
BLAS_mkl_intel_lp64_dll_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: BLAS_mkl_rt_LIBRARY
BLAS_mkl_rt_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: BLAS_openblas_LIBRARY
BLAS_openblas_LIBRARY-ADVANCED:INTERNAL=1
//Have function sgemm_
BLAS_openblas_WORKS:INTERNAL=1
//ADVANCED property for variable: CMAKE_AR
CMAKE_AR-ADVANCED:INTERNAL=1
//This is the directory where this CMakeCache.txt was created
CMAKE_CACHEFILE_DIR:INTERNAL=f:/Libs/suitesparse/SuiteSparse-my-dev2-x64/SuiteSparse_config/build
//Major version of cmake used to create the current loaded cache
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
//Minor version of cmake used to create the current loaded cache
CMAKE_CACHE_MINOR_VERSION:INTERNAL=26
//Patch version of cmake used to create the current loaded cache
CMAKE_CACHE_PATCH_VERSION:INTERNAL=4
//Path to CMake executable.
CMAKE_COMMAND:INTERNAL=C:/Program Files/CMake/bin/cmake.exe
//Path to cpack program executable.
CMAKE_CPACK_COMMAND:INTERNAL=C:/Program Files/CMake/bin/cpack.exe
//Path to ctest program executable.
CMAKE_CTEST_COMMAND:INTERNAL=C:/Program Files/CMake/bin/ctest.exe
//ADVANCED property for variable: CMAKE_CUDA_COMPILER
CMAKE_CUDA_COMPILER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CUDA_FLAGS
CMAKE_CUDA_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CUDA_FLAGS_DEBUG
CMAKE_CUDA_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CUDA_FLAGS_MINSIZEREL
CMAKE_CUDA_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CUDA_FLAGS_RELEASE
CMAKE_CUDA_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CUDA_FLAGS_RELWITHDEBINFO
CMAKE_CUDA_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CUDA_STANDARD_LIBRARIES
CMAKE_CUDA_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES
CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1
//Executable file format
CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//Name of external makefile project generator.
CMAKE_EXTRA_GENERATOR:INTERNAL=
//Name of generator.
CMAKE_GENERATOR:INTERNAL=Visual Studio 17 2022
//Generator instance identifier.
CMAKE_GENERATOR_INSTANCE:INTERNAL=D:/Program Files/Microsoft Visual Studio/2022/Community
//Name of generator toolset.
CMAKE_GENERATOR_TOOLSET:INTERNAL=
//Test CMAKE_HAVE_LIBC_PTHREAD
CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=
//Have library pthreads
CMAKE_HAVE_PTHREADS_CREATE:INTERNAL=
//Have library pthread
CMAKE_HAVE_PTHREAD_CREATE:INTERNAL=
//Source directory with the top level CMakeLists.txt file for this
// project
CMAKE_HOME_DIRECTORY:INTERNAL=F:/Libs/suitesparse/SuiteSparse/SuiteSparse_config
//ADVANCED property for variable: CMAKE_INSTALL_BINDIR
CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_DATADIR
CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR
CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR
CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR
CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_INFODIR
CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR
CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR
CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR
CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR
CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_MANDIR
CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR
CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR
CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR
CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR
CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR
CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_LINKER
CMAKE_LINKER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MT
CMAKE_MT-ADVANCED:INTERNAL=1
//number of local generators
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
//Platform information initialized
CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
//noop for ranlib
CMAKE_RANLIB:INTERNAL=:
//ADVANCED property for variable: CMAKE_RC_COMPILER
CMAKE_RC_COMPILER-ADVANCED:INTERNAL=1
CMAKE_RC_COMPILER_WORKS:INTERNAL=1
//ADVANCED property for variable: CMAKE_RC_FLAGS
CMAKE_RC_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RC_FLAGS_DEBUG
CMAKE_RC_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RC_FLAGS_MINSIZEREL
CMAKE_RC_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RC_FLAGS_RELEASE
CMAKE_RC_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RC_FLAGS_RELWITHDEBINFO
CMAKE_RC_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//Path to CMake installation.
CMAKE_ROOT:INTERNAL=C:/Program Files/CMake/share/cmake-3.26
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_RPATH
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_TOOLCHAIN_FILE
CMAKE_TOOLCHAIN_FILE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDAToolkit_NVCC_EXECUTABLE
CUDAToolkit_NVCC_EXECUTABLE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_CUDART
CUDA_CUDART-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_OpenCL_LIBRARY
CUDA_OpenCL_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cuFile_LIBRARY
CUDA_cuFile_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cuFile_rdma_LIBRARY
CUDA_cuFile_rdma_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cuFile_rdma_static_LIBRARY
CUDA_cuFile_rdma_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cuFile_static_LIBRARY
CUDA_cuFile_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cublasLt_LIBRARY
CUDA_cublasLt_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cublasLt_static_LIBRARY
CUDA_cublasLt_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cublas_LIBRARY
CUDA_cublas_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cublas_static_LIBRARY
CUDA_cublas_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cuda_driver_LIBRARY
CUDA_cuda_driver_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cudart_LIBRARY
CUDA_cudart_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cudart_static_LIBRARY
CUDA_cudart_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cufft_LIBRARY
CUDA_cufft_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cufft_static_LIBRARY
CUDA_cufft_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cufft_static_nocallback_LIBRARY
CUDA_cufft_static_nocallback_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cufftw_LIBRARY
CUDA_cufftw_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cufftw_static_LIBRARY
CUDA_cufftw_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_culibos_LIBRARY
CUDA_culibos_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cupti_LIBRARY
CUDA_cupti_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cupti_static_LIBRARY
CUDA_cupti_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_curand_LIBRARY
CUDA_curand_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_curand_static_LIBRARY
CUDA_curand_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cusolver_LIBRARY
CUDA_cusolver_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cusolver_lapack_static_LIBRARY
CUDA_cusolver_lapack_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cusolver_metis_static_LIBRARY
CUDA_cusolver_metis_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cusolver_static_LIBRARY
CUDA_cusolver_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cusparse_LIBRARY
CUDA_cusparse_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_cusparse_static_LIBRARY
CUDA_cusparse_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppc_LIBRARY
CUDA_nppc_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppc_static_LIBRARY
CUDA_nppc_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppial_LIBRARY
CUDA_nppial_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppial_static_LIBRARY
CUDA_nppial_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppicc_LIBRARY
CUDA_nppicc_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppicc_static_LIBRARY
CUDA_nppicc_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppicom_LIBRARY
CUDA_nppicom_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppicom_static_LIBRARY
CUDA_nppicom_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppidei_LIBRARY
CUDA_nppidei_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppidei_static_LIBRARY
CUDA_nppidei_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppif_LIBRARY
CUDA_nppif_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppif_static_LIBRARY
CUDA_nppif_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppig_LIBRARY
CUDA_nppig_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppig_static_LIBRARY
CUDA_nppig_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppim_LIBRARY
CUDA_nppim_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppim_static_LIBRARY
CUDA_nppim_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppist_LIBRARY
CUDA_nppist_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppist_static_LIBRARY
CUDA_nppist_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppisu_LIBRARY
CUDA_nppisu_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppisu_static_LIBRARY
CUDA_nppisu_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppitc_LIBRARY
CUDA_nppitc_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nppitc_static_LIBRARY
CUDA_nppitc_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_npps_LIBRARY
CUDA_npps_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_npps_static_LIBRARY
CUDA_npps_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nvToolsExt_LIBRARY
CUDA_nvToolsExt_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nvgraph_LIBRARY
CUDA_nvgraph_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nvgraph_static_LIBRARY
CUDA_nvgraph_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nvjpeg_LIBRARY
CUDA_nvjpeg_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nvjpeg_static_LIBRARY
CUDA_nvjpeg_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nvml_LIBRARY
CUDA_nvml_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nvptxcompiler_static_LIBRARY
CUDA_nvptxcompiler_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nvrtc_LIBRARY
CUDA_nvrtc_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nvrtc_builtins_LIBRARY
CUDA_nvrtc_builtins_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nvrtc_builtins_static_LIBRARY
CUDA_nvrtc_builtins_static_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CUDA_nvrtc_static_LIBRARY
CUDA_nvrtc_static_LIBRARY-ADVANCED:INTERNAL=1
//Details about finding BLAS
FIND_PACKAGE_MESSAGE_DETAILS_BLAS:INTERNAL=[F:/Install/vcpkg/vcpkg-export-20230809-232109/installed/x64-windows/lib/openblas.lib][v()]
//Details about finding CUDAToolkit
FIND_PACKAGE_MESSAGE_DETAILS_CUDAToolkit:INTERNAL=[C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include][C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/cudart.lib][C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/bin][v11.6.55()]
//Details about finding OpenMP
FIND_PACKAGE_MESSAGE_DETAILS_OpenMP:INTERNAL=[TRUE][cfound components: C ][v2.0()]
//Details about finding OpenMP_C
FIND_PACKAGE_MESSAGE_DETAILS_OpenMP_C:INTERNAL=[-openmp][v2.0()]
//Details about finding Threads
FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()]
//Have symbol fmax
NO_LIBM:INTERNAL=1
//Result of TRY_COMPILE
OpenMP_COMPILE_RESULT_C_openmp:INTERNAL=TRUE
//ADVANCED property for variable: OpenMP_C_FLAGS
OpenMP_C_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: OpenMP_C_LIB_NAMES
OpenMP_C_LIB_NAMES-ADVANCED:INTERNAL=1
//C compiler's OpenMP specification date
OpenMP_C_SPEC_DATE:INTERNAL=200203
//Result of TRY_COMPILE
OpenMP_SPECTEST_C_:INTERNAL=TRUE
//Install the dependencies listed in your manifest:
//\n    If this is off, you will have to manually install your dependencies.
//\n    See https://github.com/microsoft/vcpkg/tree/master/docs/specifications/manifests.md
// for more info.
//\n
VCPKG_MANIFEST_INSTALL:INTERNAL=OFF
//ADVANCED property for variable: VCPKG_VERBOSE
VCPKG_VERBOSE-ADVANCED:INTERNAL=1
//Making sure VCPKG_MANIFEST_MODE doesn't change
Z_VCPKG_CHECK_MANIFEST_MODE:INTERNAL=OFF
//The path to the PowerShell implementation to use.
Z_VCPKG_POWERSHELL_PATH:INTERNAL=C:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe
//Vcpkg root directory
Z_VCPKG_ROOT_DIR:INTERNAL=F:/Install/vcpkg/vcpkg-export-20230809-232109
//CMAKE_INSTALL_PREFIX during last run
_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=F:/Install/SuiteSparse-my-dev2
mmuetzel commented 8 months ago

Good!

Now, you need to figure out how to correctly quote parts of the command that you are calling out of your Python script. Maybe something like the following works better?

    if args.blas_underscore:
        args.cmake_config_args.append('-DSUITESPARSE_C_TO_FORTRAN="(name,NAME) name##_"')
whuaegeanse commented 8 months ago

Good!

Now, you need to figure out how to correctly quote parts of the command that you are calling out of your Python script. Maybe something like the following works better?

    if args.blas_underscore:
        args.cmake_config_args.append('-DSUITESPARSE_C_TO_FORTRAN="(name,NAME) name##_"')

Thank you for your patient guidance. I'll give it a try.