From 967c0e976558ba5843caf84ff1244337dd2563d0 Mon Sep 17 00:00:00 2001 From: Axel Garcia Date: Thu, 12 Feb 2026 15:03:05 +0100 Subject: [PATCH] ENH: Refactor lpsolve CMake configuration for target-oriented usage --- CMakeLists.txt | 19 ++------- utilities/lp_solve/CMakeLists.txt | 65 +++++++++++++------------------ 2 files changed, 31 insertions(+), 53 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index afeae7a0b..47634243f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -172,17 +172,9 @@ endif() #========================================================= add_subdirectory(utilities/lp_solve) -set( - LPSOLVE_INCLUDE_DIRS - ${PROJECT_SOURCE_DIR}/utilities/lp_solve - ${PROJECT_SOURCE_DIR}/utilities/lp_solve/shared - ${PROJECT_SOURCE_DIR}/utilities/lp_solve/bfp - ${PROJECT_SOURCE_DIR}/utilities/lp_solve/bfp/bfp_LUSOL - ${PROJECT_SOURCE_DIR}/utilities/lp_solve/bfp/bfp_LUSOL/LUSOL - ${PROJECT_SOURCE_DIR}/utilities/lp_solve/colamd -) - -list(APPEND RTK_INCLUDE_DIRS "${LPSOLVE_INCLUDE_DIRS}") +# Prefer target-oriented usage requirements; keep RTK_LIBRARIES compatible with +# legacy consumers that still use the variable. +list(APPEND RTK_LIBRARIES lpsolve55) #========================================================= # Generate RTKConfig.cmake for the build tree. @@ -324,11 +316,6 @@ install( DESTINATION ${RTK_INSTALL_INCLUDE_DIR}/lpsolve COMPONENT Development ) -target_include_directories( - lpsolve55 - PUBLIC - $ -) # Install configuration file install( diff --git a/utilities/lp_solve/CMakeLists.txt b/utilities/lp_solve/CMakeLists.txt index baf2e2c06..0a4949d10 100755 --- a/utilities/lp_solve/CMakeLists.txt +++ b/utilities/lp_solve/CMakeLists.txt @@ -39,40 +39,38 @@ add_library( yacc_read.c ) -include_directories( - "$" - "$" - "$" - "$" - "$" - "$" +target_include_directories( + lpsolve55 + PUBLIC + $ + $ + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/shared + ${CMAKE_CURRENT_SOURCE_DIR}/bfp + ${CMAKE_CURRENT_SOURCE_DIR}/bfp/bfp_LUSOL + ${CMAKE_CURRENT_SOURCE_DIR}/bfp/bfp_LUSOL/LUSOL + ${CMAKE_CURRENT_SOURCE_DIR}/colamd ) -set_property( - TARGET - lpsolve55 - APPEND - PROPERTY - COMPILE_DEFINITIONS - YY_NEVER_INTERACTIVE - PARSER_LP - INVERSE_ACTIVE=INVERSE_LUSOL - RoleIsExternalInvEngine - LoadInverseLib=FALSE - LoadLanguageLib=FALSE - LoadableBlasLib=0 +target_compile_definitions( + lpsolve55 + PRIVATE + YY_NEVER_INTERACTIVE + PARSER_LP + INVERSE_ACTIVE=INVERSE_LUSOL + RoleIsExternalInvEngine + LoadInverseLib=FALSE + LoadLanguageLib=FALSE + LoadableBlasLib=0 ) if(WIN32) - set_property( - TARGET - lpsolve55 - APPEND - PROPERTY - COMPILE_DEFINITIONS - INLINE=static - _USRDLL - WIN32 + target_compile_definitions( + lpsolve55 + PRIVATE + INLINE=static + _USRDLL + WIN32 ) endif() @@ -83,14 +81,7 @@ check_symbol_exists( HAVE_ISNAN ) if(NOT HAVE_ISNAN) - set_property( - TARGET - lpsolve55 - APPEND - PROPERTY - COMPILE_DEFINITIONS - NOISNAN - ) + target_compile_definitions(lpsolve55 PRIVATE NOISNAN) endif() # Set version of library