X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=test%2FCMakeLists.txt;h=4154eb90000d7385ec71cae6960bbcdc3fc77a96;hb=8041dc9f353e4d1bde4a4d48975c69a4f855d7dd;hp=e17d12763db6dc3a14ba49f0f8f603596681e9da;hpb=014208e6bd03531aab8c45cf1902bec8b720df99;p=nlopt.git diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index e17d127..4154eb9 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,20 +1,28 @@ add_custom_target (tests) # have to add timer.c and mt19937ar.c as symbols are declared extern -add_executable (testopt testfuncs.c testfuncs.h testopt.cpp ${PROJECT_SOURCE_DIR}/util/timer.c ${PROJECT_SOURCE_DIR}/util/mt19937ar.c) +add_executable (testopt testfuncs.c testfuncs.h testopt.c + ${PROJECT_SOURCE_DIR}/src/util/timer.c ${PROJECT_SOURCE_DIR}/src/util/mt19937ar.c ${PROJECT_SOURCE_DIR}/src/util/nlopt-getopt.c) target_link_libraries (testopt ${nlopt_lib}) +if (NLOPT_CXX) + set_target_properties(testopt PROPERTIES LINKER_LANGUAGE CXX) +endif () target_include_directories (testopt PRIVATE ${NLOPT_PRIVATE_INCLUDE_DIRS}) add_dependencies (tests testopt) -foreach (algo_index RANGE 29)# 42 +foreach (algo_index RANGE 29)# 43 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 () endif () + # cxx11 ags + if (NOT NLOPT_CXX11 AND algo_index STREQUAL 43) + set (enable_ FALSE) + endif () # L-BFGS if (algo_index STREQUAL 10) set (enable_ FALSE) @@ -24,26 +32,29 @@ foreach (algo_index RANGE 29)# 42 set (enable_ FALSE) endif () if (enable_) - add_test (NAME testopt_algo${algo_index}_obj${obj_index} COMMAND testopt -a ${algo_index} -o ${obj_index}) + add_test (NAME testopt_algo${algo_index}_obj${obj_index} COMMAND testopt -r 0 -a ${algo_index} -o ${obj_index}) + if (CMAKE_HOST_SYSTEM_NAME MATCHES Windows) + set_tests_properties (testopt_algo${algo_index}_obj${obj_index} PROPERTIES ENVIRONMENT "PATH=${PROJECT_BINARY_DIR}\\${CMAKE_BUILD_TYPE};$ENV{PATH}") # to load dll + endif () endif () endforeach () endforeach () -if (NUMPY_FOUND AND PYTHONLIBS_FOUND AND (SWIG_FOUND OR (EXISTS ${PROJECT_SOURCE_DIR}/swig/nlopt-python.cpp))) - set (PYINSTALLCHECK_ENVIRONMENT "LD_LIBRARY_PATH=${PROJECT_BINARY_DIR}/swig" - "PYTHONPATH=${PROJECT_BINARY_DIR}/swig" +if (NUMPY_FOUND AND PYTHONLIBS_FOUND AND (SWIG_FOUND OR (EXISTS ${PROJECT_SOURCE_DIR}/src/swig/nlopt-python.cpp))) + set (PYINSTALLCHECK_ENVIRONMENT "LD_LIBRARY_PATH=${PROJECT_BINARY_DIR}/src/swig" + "PYTHONPATH=${PROJECT_BINARY_DIR}/src/swig" ) add_test (NAME test_python COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/t_python.py) set_tests_properties (test_python PROPERTIES ENVIRONMENT "${PYINSTALLCHECK_ENVIRONMENT}") endif () if (OCTAVE_FOUND) - add_test (NAME test_octave COMMAND ${OCTAVE_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/t_octave.m ${PROJECT_SOURCE_DIR}/octave ${PROJECT_BINARY_DIR}/octave) + add_test (NAME test_octave COMMAND ${OCTAVE_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/t_octave.m ${PROJECT_SOURCE_DIR}/src/octave ${PROJECT_BINARY_DIR}/src/octave) endif () -if (GUILE_FOUND AND ((SWIG_FOUND AND SWIG_VERSION VERSION_GREATER 2.0.9) OR (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/nlopt-guile.cpp))) - set (GUILECHECK_ENVIRONMENT "LD_LIBRARY_PATH=${PROJECT_BINARY_DIR}/swig" - "GUILE_LOAD_PATH=${PROJECT_BINARY_DIR}/swig" +if (GUILE_FOUND AND ((SWIG_FOUND AND SWIG_VERSION VERSION_GREATER 2.0.9) OR (EXISTS ${PROJECT_SOURCE_DIR}/src/swig/nlopt-guile.cpp))) + set (GUILECHECK_ENVIRONMENT "LD_LIBRARY_PATH=${PROJECT_BINARY_DIR}/src/swig" + "GUILE_LOAD_PATH=${PROJECT_BINARY_DIR}/src/swig" ) add_test (NAME test_guile COMMAND ${GUILE_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/t_guile.scm) set_tests_properties (test_guile PROPERTIES ENVIRONMENT "${GUILECHECK_ENVIRONMENT}")