Files
ortools-clone/patches/highs-v1.10.0.patch
2025-03-31 14:27:04 +02:00

170 lines
6.8 KiB
Diff

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ffaf5290..bf7d1f56 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -194,11 +194,11 @@ if (BUILD_CXX)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
# for multi-config build system (e.g. xcode)
- foreach(OUTPUTCONFIG IN LISTS CMAKE_CONFIGURATION_TYPES)
- string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
- set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OUTPUTCONFIG}/${CMAKE_INSTALL_LIBDIR})
- set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OUTPUTCONFIG}/${CMAKE_INSTALL_LIBDIR})
- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OUTPUTCONFIG}/${CMAKE_INSTALL_BINDIR})
+ foreach(OutputConfig IN LISTS CMAKE_CONFIGURATION_TYPES)
+ string(TOUPPER ${OutputConfig} OUTPUTCONFIG)
+ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OutputConfig}/${CMAKE_INSTALL_LIBDIR})
+ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OutputConfig}/${CMAKE_INSTALL_LIBDIR})
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OutputConfig}/${CMAKE_INSTALL_BINDIR})
endforeach()
else()
option(BUILD_SHARED_LIBS "Build shared libraries (.dll)." OFF)
@@ -206,14 +206,11 @@ if (BUILD_CXX)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
# for multi-config builds (e.g. msvc)
- foreach(OUTPUTCONFIG IN LISTS CMAKE_CONFIGURATION_TYPES)
- string(TOLOWER ${OUTPUTCONFIG} OUTPUTCONFIG)
- set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/${OUTPUTCONFIG})
- set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/${OUTPUTCONFIG})
- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/${OUTPUTCONFIG})
- # set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OUTPUTCONFIG}/${CMAKE_INSTALL_BINDIR})
- # set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OUTPUTCONFIG}/${CMAKE_INSTALL_BINDIR})
- # set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OUTPUTCONFIG}/${CMAKE_INSTALL_BINDIR})
+ foreach(OutputConfig IN LISTS CMAKE_CONFIGURATION_TYPES)
+ string(TOUPPER ${OutputConfig} OUTPUTCONFIG)
+ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OutputConfig}/${CMAKE_INSTALL_BINDIR})
+ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OutputConfig}/${CMAKE_INSTALL_BINDIR})
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OutputConfig}/${CMAKE_INSTALL_BINDIR})
endforeach()
endif()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index e390ac4b..0e2c470c 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,7 +1,7 @@
if (NOT BUILD_CXX)
return()
endif()
-
+
# Define library.
include(sources)
set(sources ${highs_sources} ${cupdlp_sources} ${ipx_sources} ${basiclu_sources})
@@ -84,7 +84,7 @@ if(NOT FAST_BUILD)
# target_compile_options(libipx PRIVATE "-Wno-sign-compare")
# target_compile_options(libipx PRIVATE "-Wno-logical-op-parentheses")
endif()
-
+
install(TARGETS libhighs EXPORT highs-targets
LIBRARY
ARCHIVE
@@ -154,8 +154,6 @@ else()
# $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/highs>
)
- target_include_directories(highs PUBLIC "${CMAKE_CUDA_PATH}/include")
-
# target_include_directories(highs PRIVATE
# $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/interfaces>
# $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/io>
@@ -180,8 +178,8 @@ else()
# $<BUILD_INTERFACE:${HIGHS_SOURCE_DIR}/extern/pdqsort>)
target_sources(highs PRIVATE ${sources} ${headers} ${win_version_file})
-
- # Optional Cuda
+
+ # Optional Cuda
if (CUPDLP_GPU)
# enable_language(CXX CUDA)
# target_sources(highs PRIVATE ${cuda_sources})
@@ -189,9 +187,11 @@ else()
# set_target_properties(highs PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
# target_link_libraries(highs ${CUDA_LIBRARY} m)
-
+
# target_include_directories(highs PUBLIC "/usr/local/include")
+ target_include_directories(highs PUBLIC
+ $<BUILD_INTERFACE:"${CMAKE_CUDA_PATH}/include">)
set(CUPDLP_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/src/pdlp/cupdlp/")
add_subdirectory(pdlp/cupdlp/cuda)
@@ -201,7 +201,7 @@ else()
else()
target_link_libraries(highs cudalin ${CUDA_LIBRARY} m)
endif()
-
+
set_target_properties(highs PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
endif()
@@ -257,13 +257,13 @@ else()
$<BUILD_INTERFACE:${HIGHS_SOURCE_DIR}/extern/zstr>
)
target_link_libraries(highs ZLIB::ZLIB)
- set(CONF_DEPS
+ set(CONF_DEPS
"include(CMakeFindDependencyMacro)\nfind_dependency(Threads)\nfind_dependency(ZLIB)")
set(CONF_DEPENDENCIES ${CONF_DEPS})
- else()
+ else()
set(CONF_DEPENDENCIES "include(CMakeFindDependencyMacro)\nfind_dependency(Threads)")
endif()
-
+
# # on UNIX system the 'lib' prefix is automatically added
# set_target_properties(highs PROPERTIES
@@ -274,7 +274,7 @@ else()
# set_target_properties(highs PROPERTIES
# LIBRARY_OUTPUT_DIRECTORY "${HIGHS_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}")
# endif()
-
+
# set_target_properties(highs PROPERTIES PUBLIC_HEADER "src/Highs.h;src/lp_data/HighsLp.h;src/lp_data/HighsLpSolverObject.h")
# install the header files of highs
@@ -291,7 +291,7 @@ else()
# target_compile_options(highs PRIVATE "-Wall")
# target_compile_options(highs PRIVATE "-Wunused")
-
+
if (UNIX)
target_compile_options(highs PRIVATE "-Wno-unused-variable")
target_compile_options(highs PRIVATE "-Wno-unused-const-variable")
@@ -324,7 +324,7 @@ else()
if (BUILD_DOTNET)
-
+
# see: https://docs.microsoft.com/en-us/dotnet/core/rid-catalog
if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64)")
set(DOTNET_PLATFORM arm64)
@@ -355,8 +355,8 @@ else()
set(TARGET_FILE_NAME "highs.dll")
endif()
- add_custom_command(TARGET highs POST_BUILD
- COMMAND "${CMAKE_COMMAND}" -E copy
+ add_custom_command(TARGET highs POST_BUILD
+ COMMAND "${CMAKE_COMMAND}" -E copy
"$<TARGET_FILE:highs>"
${DOTNET_PROJECT_DIR}/runtimes/${DOTNET_RID}/native/${TARGET_FILE_NAME}
COMMENT "Copying to output directory")
@@ -375,7 +375,7 @@ if(FORTRAN_FOUND)
target_link_libraries(FortranHighs PUBLIC highs)
endif()
- install(TARGETS FortranHighs
+ install(TARGETS FortranHighs
LIBRARY
ARCHIVE
RUNTIME