diff --git a/gtsam/3rdparty/lp_solve_5.5/lpsolve55/ccc b/gtsam/3rdparty/lp_solve_5.5/lpsolve55/ccc index d55ce3b79..d2e79ef2d 100644 --- a/gtsam/3rdparty/lp_solve_5.5/lpsolve55/ccc +++ b/gtsam/3rdparty/lp_solve_5.5/lpsolve55/ccc @@ -12,7 +12,7 @@ fi opts='-O3' -$c -s -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd $opts $def -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src +$c -fpic -s -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd $opts $def -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src ar rv liblpsolve55.a `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'` ranlib liblpsolve55.a diff --git a/gtsam_unstable/CMakeLists.txt b/gtsam_unstable/CMakeLists.txt index 2cf753739..4bab6550e 100644 --- a/gtsam_unstable/CMakeLists.txt +++ b/gtsam_unstable/CMakeLists.txt @@ -37,15 +37,19 @@ unset(lpsolve_INCLUDE_DIRS CACHE) include(${CMAKE_SOURCE_DIR}/gtsam/3rdparty/lp_solve_5.5/cmake/Findlpsolve.cmake) # If lpsolve_LIBRARY is not found, recompile the library message("lpsolve_LIBRARY: " ${lpsolve_LIBRARY} " ...") +message("lpsolve_BUILD_PATH" ${lpsolve_BUILD_PATH}) + if(NOT lpsolve_LIBRARY) + if(APPLE) + set(lpsolve_BUILD_SCRIPT sh ccc.osx) + elseif(UNIX) + set(lpsolve_BUILD_SCRIPT sh ccc) + elseif(WIN32) + set(lpsolve_BUILD_SCRIPT cvc6.bat) + endif() message("Building lpsolve. Please wait...") - # TODO: customize for other platforms - execute_process(COMMAND sh ccc.osx - WORKING_DIRECTORY ${lpsolve_BUILD_PATH} - OUTPUT_QUIET - ERROR_QUIET) - #set(lpsolve_INCLUDE_DIRS ${lpsolve_BUILD_PATH}/../) - #set(lpsolve_LIBRARY ${lpsolve_BUILD_PATH}/liblpsolve55.a) + execute_process(COMMAND ${lpsolve_BUILD_SCRIPT} + WORKING_DIRECTORY ${lpsolve_BUILD_PATH}) include(${CMAKE_SOURCE_DIR}/gtsam/3rdparty/lp_solve_5.5/cmake/Findlpsolve.cmake) message("Done!") endif()