-# Copyright (C) 2012-2015 CEA/DEN, EDF R&D
+# Copyright (C) 2012-2024 CEA, EDF
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
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
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}
# 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)
-SWIG_ADD_MODULE(PMML python PMMLsalome.i)
-SWIG_LINK_LIBRARIES(PMML ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} pmmlLib)
+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)
SET(PYFILES_TO_INSTALL ${CMAKE_CURRENT_BINARY_DIR}/PMML.py)
-SALOME_INSTALL_SCRIPTS("${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})
#
-SET(LOCAL_TEST_DIR ${SALOME_YACS_INSTALL_TEST}/pmml/pmml_swig)
-FILE(COPY ${CMAKE_CURRENT_SOURCE_DIR}/PMMLBasicsTest.py DESTINATION "${CMAKE_INSTALL_PREFIX}/${LOCAL_TEST_DIR}")
-FILE(COPY ${CMAKE_CURRENT_SOURCE_DIR}/PMMLBasicsTestLauncher.py DESTINATION "${CMAKE_INSTALL_PREFIX}/${LOCAL_TEST_DIR}")
+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(PROGRAMS ${LOCAL_TEST_FILES}
+ DESTINATION ${LOCAL_TEST_DIR})
+
+ENDIF(SALOME_BUILD_TESTS)