X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2Fpmml%2Fpmml_swig%2FCMakeLists.txt;h=cbff66f1c6f2b0d4ed63764dc3f24317c71ce8e8;hb=eda5485fe33a2c578536e7041134d0be8a1f5bb2;hp=8219b8e3c1bff91318d1f3041c0e414febdd035b;hpb=216c15bc1ec59372c7313d273cc0fa1d206a68d4;p=modules%2Fyacs.git diff --git a/src/pmml/pmml_swig/CMakeLists.txt b/src/pmml/pmml_swig/CMakeLists.txt old mode 100755 new mode 100644 index 8219b8e3c..cbff66f1c --- a/src/pmml/pmml_swig/CMakeLists.txt +++ b/src/pmml/pmml_swig/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2014 CEA/DEN, EDF R&D +# Copyright (C) 2012-2019 CEA/DEN, EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -20,13 +20,12 @@ INCLUDE(${SWIG_USE_FILE}) -ADD_DEFINITIONS(${PYTHON_DEFINITIONS}) +ADD_DEFINITIONS(${PYTHON_DEFINITIONS} ${NUMPY_DEFINITIONS}) SET_SOURCE_FILES_PROPERTIES(PMMLsalome.i PROPERTIES CPLUSPLUS ON) SET_SOURCE_FILES_PROPERTIES(PMMLsalome.i PROPERTIES SWIG_DEFINITIONS "-shadow") -IF(NUMPY_FOUND) - SET(SWIG_MODULE_PMML_EXTRA_FLAGS -DWITH_NUMPY) -ENDIF(NUMPY_FOUND) + +SET(SWIG_MODULE_PMML_EXTRA_FLAGS "${NUMPY_DEFINITIONS}") SET (PMML_SWIG_DPYS_FILES PMMLsalome.i @@ -34,6 +33,7 @@ SET (PMML_SWIG_DPYS_FILES INCLUDE_DIRECTORIES( ${PYTHON_INCLUDE_DIRS} + ${NUMPY_INCLUDE_DIR} ${PTHREAD_INCLUDE_DIR} # pthread dependancy due to python2.7 library ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} @@ -44,10 +44,18 @@ INCLUDE_DIRECTORIES( SET (SWIG_MODULE_PMML_EXTRA_DEPS ${PMML_SWIG_DPYS_FILES} ${pmml_HEADERS_HXX} ${pmml_HEADERS_TXX}) -SWIG_ADD_MODULE(PMML python PMMLsalome.i) -SWIG_LINK_LIBRARIES(PMML ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} pmmlLib) +# Enusre proper dependencies mechanism for CMake since SWIG generates files +# whose names are built from the SWIG *module* name, and not .i file name: +SET_SOURCE_FILES_PROPERTIES(PMMLsalome.i PROPERTIES SWIG_MODULE_NAME PMML) +IF(${CMAKE_VERSION} VERSION_LESS "3.8.0") + SWIG_ADD_MODULE(PMML python PMMLsalome.i) +ELSE() + SWIG_ADD_LIBRARY(PMML LANGUAGE python SOURCES PMMLsalome.i) +ENDIF() +SWIG_LINK_LIBRARIES(PMML ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} pmmlLib) +SWIG_CHECK_GENERATION(PMML) # _ABR_ Ensure dependency mechanism on all SWIG files and headers IF(WIN32) @@ -59,7 +67,7 @@ INSTALL(TARGETS ${SWIG_MODULE_PMML_REAL_NAME} DESTINATION ${SALOME_INSTALL_PYTHO SET(PYFILES_TO_INSTALL ${CMAKE_CURRENT_BINARY_DIR}/PMML.py) -INSTALL_AND_COMPILE_PYTHON_FILE("${PYFILES_TO_INSTALL}" ${SALOME_INSTALL_SCRIPT_PYTHON}) +SALOME_INSTALL_SCRIPTS("${PYFILES_TO_INSTALL}" ${SALOME_INSTALL_SCRIPT_PYTHON} EXTRA_DPYS "${SWIG_MODULE_PMML_REAL_NAME}") INSTALL(FILES PMML.i PMMLsalome.i DESTINATION ${SALOME_INSTALL_HEADERS}) INSTALL(FILES PMMLBasicsTest.py DESTINATION ${SALOME_INSTALL_SCRIPT_PYTHON}) @@ -67,3 +75,18 @@ INSTALL(FILES PMMLBasicsTest.py DESTINATION ${SALOME_INSTALL_SCRIPT_PYTHON}) SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env) ADD_TEST(PMMLBasicsTest ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/PMMLBasicsTest.py) SET_TESTS_PROPERTIES(PMMLBasicsTest PROPERTIES ENVIRONMENT "${tests_env}") + +# + +IF(SALOME_BUILD_TESTS) + SET(LOCAL_TEST_DIR ${SALOME_YACS_INSTALL_TEST}/pmml/pmml_swig) + INSTALL(FILES CTestTestfileInstall.cmake + DESTINATION ${LOCAL_TEST_DIR} + RENAME CTestTestfile.cmake) + SET(LOCAL_TEST_FILES + PMMLBasicsTest.py + ) + INSTALL(FILES ${LOCAL_TEST_FILES} + DESTINATION ${LOCAL_TEST_DIR}) + +ENDIF(SALOME_BUILD_TESTS)