UseSWIG: Add support of perl5 language

This commit is contained in:
Marc Chevrier
2022-10-14 16:46:42 +02:00
parent d74b7be90b
commit 989b469f1c
5 changed files with 44 additions and 5 deletions

View File

@@ -0,0 +1,4 @@
UseSWIG-perl5
-------------
* The :module:`UseSWIG` module gained the support of ``perl5`` language.

View File

@@ -378,6 +378,7 @@ set(SWIG_PYTHON_EXTRA_FILE_EXTENSIONS ".py")
set(SWIG_JAVA_EXTRA_FILE_EXTENSIONS ".java" "JNI.java")
set(SWIG_CSHARP_EXTRA_FILE_EXTENSIONS ".cs" "PINVOKE.cs")
set(SWIG_PERL_EXTRA_FILE_EXTENSIONS ".pm")
set(SWIG_PERL5_EXTRA_FILE_EXTENSIONS ".pm")
set(SWIG_MANAGE_SUPPORT_FILES_SCRIPT "${CMAKE_CURRENT_LIST_DIR}/UseSWIG/ManageSupportFiles.cmake")
@@ -414,8 +415,8 @@ macro(SWIG_MODULE_INITIALIZE name language)
endif()
if(SWIG_MODULE_${name}_LANGUAGE STREQUAL "UNKNOWN")
message(FATAL_ERROR "SWIG Error: Language \"${language}\" not found")
elseif(SWIG_MODULE_${name}_LANGUAGE STREQUAL "PERL" AND
NOT "-shadow" IN_LIST SWIG_MODULE_${name}_EXTRA_FLAGS)
elseif((SWIG_MODULE_${name}_LANGUAGE STREQUAL "PERL" OR SWIG_MODULE_${name}_LANGUAGE STREQUAL "PERL5")
AND NOT "-shadow" IN_LIST SWIG_MODULE_${name}_EXTRA_FLAGS)
list(APPEND SWIG_MODULE_${name}_EXTRA_FLAGS "-shadow")
endif()
endmacro()
@@ -971,7 +972,7 @@ function(SWIG_ADD_LIBRARY name)
if (APPLE)
set_target_properties (${target_name} PROPERTIES SUFFIX ".bundle")
endif ()
elseif (swig_lowercase_language STREQUAL "perl")
elseif (swig_lowercase_language STREQUAL "perl" OR swig_lowercase_language STREQUAL "perl5")
# assume empty prefix because we expect the module to be dynamically loaded
set_target_properties (${target_name} PROPERTIES PREFIX "")
if (APPLE)

View File

@@ -4,7 +4,9 @@ project(TestBasicPerl CXX)
include(CTest)
set(language "perl")
if(NOT DEFINED language)
set(language "perl")
endif()
include (../BasicConfiguration.cmake)

View File

@@ -20,6 +20,16 @@ add_test(NAME UseSWIG.LegacyPerl COMMAND
--build-options ${build_options}
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME UseSWIG.LegacyPerl5 COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/UseSWIG/LegacyPerl"
"${CMake_BINARY_DIR}/Tests/UseSWIG/LegacyPerl5"
${build_generator_args}
--build-project TestLegacyPerl
--build-options ${build_options} -Dlanguage=perl5
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
include(CheckLanguage)
check_language(CSharp)
@@ -66,6 +76,16 @@ add_test(NAME UseSWIG.BasicPerl COMMAND
--build-options ${build_options}
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME UseSWIG.BasicPerl5 COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/UseSWIG/BasicPerl"
"${CMake_BINARY_DIR}/Tests/UseSWIG/BasicPerl5"
${build_generator_args}
--build-project TestBasicPerl
--build-options ${build_options} -Dlanguage=perl5
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
if(SWIG_FOUND AND NOT SWIG_VERSION VERSION_LESS "4.0.2"
AND CMAKE_GENERATOR MATCHES "Make|Ninja|Xcode|Visual Studio (1[1-9]|[2-9][0-9])")
add_test(NAME UseSWIG.Depfile.BasicPython COMMAND
@@ -89,6 +109,16 @@ if(SWIG_FOUND AND NOT SWIG_VERSION VERSION_LESS "4.0.2"
--build-options ${build_options} -DSWIG_USE_SWIG_DEPENDENCIES=ON
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
add_test(NAME UseSWIG.Depfile.BasicPerl5 COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/UseSWIG/BasicPerl"
"${CMake_BINARY_DIR}/Tests/UseSWIG/BasicPerl5.Depfile"
${build_generator_args}
--build-project TestBasicPerl
--build-options ${build_options} -DSWIG_USE_SWIG_DEPENDENCIES=ON -Dlanguage=perl5
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
endif()
if (CMake_TEST_UseSWIG_Fortran)

View File

@@ -4,7 +4,9 @@ project(TestLegacyPerl CXX)
include(CTest)
set(language "perl")
if(NOT DEFINED language)
set(language "perl")
endif()
include (../LegacyConfiguration.cmake)