chiark / gitweb /
Prefix cmake options (#149)
authorJulien Schueller <schueller@phimeca.com>
Mon, 25 Sep 2017 09:04:00 +0000 (11:04 +0200)
committerGitHub <noreply@github.com>
Mon, 25 Sep 2017 09:04:00 +0000 (11:04 +0200)
NLopt is used as a git submodule, this allows not to confuse options of the parent project.

.travis.yml
CMakeLists.txt
api/general.c
api/optimize.c
appveyor.yml
doc/docs/NLopt_Installation.md
nlopt_config.h.in
test/CMakeLists.txt

index 46769cc3efa73f6fb3c01d785e6939002d8d788c..a28c28790b9312da2e8660b5189ed7d5bc00b0f6 100644 (file)
@@ -23,13 +23,13 @@ matrix:
         - pip install mkdocs python-markdown-math --user
         - PATH=$PATH:~/.local/bin mkdocs build
         - mkdir build && pushd build
-        - cmake -DCMAKE_INSTALL_PREFIX=~/.local -DWITH_CXX=ON ..
+        - cmake -DCMAKE_INSTALL_PREFIX=~/.local -DNLOPT_CXX=ON ..
         - make install -j2 && ctest -j2 --output-on-failure
         - rm -rf * ~/.local
-        - cmake -DCMAKE_INSTALL_PREFIX=~/.local -DWITH_CXX=ON -DBUILD_PYTHON=OFF -DBUILD_OCTAVE=OFF -DBUILD_GUILE=OFF -DCMAKE_TOOLCHAIN_FILE=$PWD/../cmake/toolchain-i686-w64-mingw32.cmake ..
+        - cmake -DCMAKE_INSTALL_PREFIX=~/.local -DNLOPT_CXX=ON -DNLOPT_PYTHON=OFF -DNLOPT_OCTAVE=OFF -DNLOPT_GUILE=OFF -DCMAKE_TOOLCHAIN_FILE=$PWD/../cmake/toolchain-i686-w64-mingw32.cmake ..
         - make install -j2
         - rm -rf * ~/.local
-        - cmake -DCMAKE_INSTALL_PREFIX=~/.local -DWITH_CXX=ON -DBUILD_PYTHON=OFF -DBUILD_OCTAVE=OFF -DBUILD_GUILE=OFF -DCMAKE_TOOLCHAIN_FILE=$PWD/../cmake/toolchain-x86_64-w64-mingw32.cmake ..
+        - cmake -DCMAKE_INSTALL_PREFIX=~/.local -DNLOPT_CXX=ON -DNLOPT_PYTHON=OFF -DNLOPT_OCTAVE=OFF -DNLOPT_GUILE=OFF -DCMAKE_TOOLCHAIN_FILE=$PWD/../cmake/toolchain-x86_64-w64-mingw32.cmake ..
         - make install -j2
 
     - os: osx
@@ -40,5 +40,5 @@ matrix:
         - brew install swig octave || echo "nope"
       script:
         - mkdir build && pushd build
-        - cmake -DCMAKE_INSTALL_PREFIX=~/.local -DWITH_CXX=ON -DPYTHON_EXECUTABLE=/usr/bin/python ..
+        - cmake -DCMAKE_INSTALL_PREFIX=~/.local -DNLOPT_CXX=ON -DPYTHON_EXECUTABLE=/usr/bin/python ..
         - make install && ctest --output-on-failure
index d5e86018a4b8aae42d3357a5c74757e74f112ee2..18fe7b2556dcbc51a91587d266865f93aaf59494 100644 (file)
@@ -22,16 +22,16 @@ project (nlopt)
 
 list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
 
-option (WITH_CXX "enable cxx routines" OFF)
+option (NLOPT_CXX "enable cxx routines" OFF)
 option (BUILD_SHARED_LIBS "Build NLopt as a shared library" ON)
-option (BUILD_PYTHON "build python bindings" ON)
-option (BUILD_OCTAVE "build octave bindings" ON)
-option (BUILD_MATLAB "build matlab bindings" ON)
-option (BUILD_GUILE "build guile bindings" ON)
-option (USE_SWIG "use SWIG to build bindings" ON)
+option (NLOPT_PYTHON "build python bindings" ON)
+option (NLOPT_OCTAVE "build octave bindings" ON)
+option (NLOPT_MATLAB "build matlab bindings" ON)
+option (NLOPT_GUILE "build guile bindings" ON)
+option (NLOPT_SWIG "use SWIG to build bindings" ON)
 
 set (NLOPT_SUFFIX)
-if (WITH_CXX)
+if (NLOPT_CXX)
   set (NLOPT_SUFFIX _cxx)
 endif ()
 
@@ -136,7 +136,7 @@ if (WITH_THREADLOCAL AND NOT DEFINED HAVE_THREAD_LOCAL_STORAGE)
   endforeach()
 endif ()
 
-if (WITH_CXX OR BUILD_PYTHON OR BUILD_GUILE OR BUILD_OCTAVE)
+if (NLOPT_CXX OR NLOPT_PYTHON OR NLOPT_GUILE OR NLOPT_OCTAVE)
   check_cxx_symbol_exists (_LIBCPP_VERSION string SYSTEM_HAS_LIBCPP)
   if (SYSTEM_HAS_LIBCPP)
     check_cxx_compiler_flag ("-std=c++11" SUPPORTS_STDCXX11)
@@ -197,7 +197,7 @@ set (NLOPT_SOURCES
   util/mt19937ar.c util/sobolseq.c util/soboldata.h util/timer.c util/stop.c util/nlopt-util.h util/redblack.c util/redblack.h util/qsort_r.c util/rescale.c
 )
 
-if (WITH_CXX)
+if (NLOPT_CXX)
   list (APPEND NLOPT_SOURCES stogo/global.cc stogo/linalg.cc stogo/local.cc stogo/stogo.cc stogo/tools.cc stogo/global.h stogo/linalg.h stogo/local.h stogo/stogo_config.h stogo/stogo.h stogo/tools.h)
 endif ()
 
@@ -265,7 +265,7 @@ endif ()
 
 add_subdirectory (api)
 
-if (BUILD_PYTHON)
+if (NLOPT_PYTHON)
   find_package (PythonInterp)
   find_package (PythonLibs)
   find_package (NumPy)
@@ -283,21 +283,21 @@ if (NOT DEFINED INSTALL_PYTHON_DIR AND PYTHONINTERP_FOUND)
 
 endif ()
 
-if (BUILD_GUILE)
+if (NLOPT_GUILE)
   find_package (Guile)
 endif ()
 
-if (USE_SWIG)
+if (NLOPT_SWIG)
   find_package (SWIG)
 endif ()
 
 add_subdirectory (swig)
 
-if (BUILD_OCTAVE)
+if (NLOPT_OCTAVE)
   find_package (Octave)
 endif ()
 
-if (BUILD_MATLAB)
+if (NLOPT_MATLAB)
   find_package (Matlab)
 endif ()
 
index 672163d4e6899e897c49233fa5b9085e0111ec80..410771b52c3979370fba7ff9e976899cb77cfb22 100644 (file)
@@ -42,7 +42,7 @@ static const char nlopt_algorithm_names[NLOPT_NUM_ALGORITHMS][256] = {
      "Unscaled Randomized DIRECT-L (global, no-derivative)",
      "Original DIRECT version (global, no-derivative)",
      "Original DIRECT-L version (global, no-derivative)",
-#ifdef WITH_CXX
+#ifdef NLOPT_CXX
      "StoGO (global, derivative-based)",
      "StoGO with randomized search (global, derivative-based)",
 #else
index 289dcdb782d19d04c3a098cebd345d9da429d2bb..d9e78b73f2e915fe901bef71a6c8560140d78c1a 100644 (file)
@@ -31,7 +31,7 @@
 #include "praxis.h"
 #include "direct.h"
 
-#ifdef WITH_CXX
+#ifdef NLOPT_CXX
 #  include "stogo.h"
 #endif
 
@@ -505,7 +505,7 @@ static nlopt_result nlopt_optimize_(nlopt_opt opt, double *x, double *minf)
 
         case NLOPT_GD_STOGO:
         case NLOPT_GD_STOGO_RAND:
-#ifdef WITH_CXX
+#ifdef NLOPT_CXX
               if (!finite_domain(n, lb, ub))
                   RETURN_ERR(NLOPT_INVALID_ARGS, opt,
                              "finite domain required for global algorithm");
index 6ded27081e811ff6b004ed3b6c1f3d0eaee19582..4a09c821756dd2015f654380cc0e9e5f0231fee6 100644 (file)
@@ -17,6 +17,6 @@ install:
 build_script:
   - echo Running cmake...
   - cd c:\projects\nlopt
-  - cmake -G "%CMAKE_PLATFORM%" -DWITH_CXX=ON -DCMAKE_INSTALL_PREFIX="C:\projects\nlopt\install" .
+  - cmake -G "%CMAKE_PLATFORM%" -DNLOPT_CXX=ON -DCMAKE_INSTALL_PREFIX="C:\projects\nlopt\install" .
   - cmake --build . --config %Configuration% --target install
   - ctest -C %Configuration% --output-on-failure --timeout 100
index fc1737c9673e76a7e52b06cf9c94677768c784d2..eda3a84c0c9517e4aa6c575b5d39efc8d36420b9 100644 (file)
@@ -141,7 +141,7 @@ NLopt with C++ algorithms
 NLopt, as-is, is callable from C, C++, and Fortran, with optional Matlab and GNU Octave plugins (and even installs an `nlopt.hpp` C++ header file to allow you to call it in a more C++ style). By default, it includes only subroutines written in C (or written in Fortran and converted to C), to simplify linking. If you configure with:
 
 ```
-cmake -DWITH_CXX=ON .
+cmake -DNLOPT_CXX=ON .
 ```
 
 
index 6a647c93cf3e66e43775ef5d2c0b82852dd295e3..c5dd6858778f3261f25e136cd12ae80c266219fa 100644 (file)
 #undef VERSION
 
 /* Define if compiled including C++-based routines */
-#cmakedefine WITH_CXX
+#cmakedefine NLOPT_CXX
 
 /* Define to empty if `const' does not conform to ANSI C. */
 #undef const
index 7ee60cf0ef5601d083dc1166bac876018dbe5585..23556d37f16a357f42f8967412c93e0972c4d32d 100644 (file)
@@ -11,7 +11,7 @@ foreach (algo_index RANGE 29)# 42
   foreach (obj_index RANGE 1)# 21
     set (enable_ TRUE)
     # cxx stogo
-    if (NOT WITH_CXX)
+    if (NOT NLOPT_CXX)
       if (algo_index STREQUAL 8 OR algo_index STREQUAL 9)
         set (enable_ FALSE)
       endif ()