2021-12-15 13:01:42 +01:00
|
|
|
include(findcoredeps)
|
2022-03-16 13:02:19 +01:00
|
|
|
include(findswigdeps)
|
2021-12-15 13:01:42 +01:00
|
|
|
|
2023-10-13 13:31:13 +02:00
|
|
|
if (BUILD_SWIG_LIB)
|
|
|
|
set_property(SOURCE ovpncli.i PROPERTY CPLUSPLUS ON)
|
2024-07-24 20:27:00 +02:00
|
|
|
if (NOT MSVC OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
2023-10-13 13:31:13 +02:00
|
|
|
# Swig generates code with deprecated python declarations
|
2024-07-24 20:27:00 +02:00
|
|
|
set_property(SOURCE ovpncli.i PROPERTY GENERATED_COMPILE_OPTIONS -Wno-deprecated-declarations -Wno-sometimes-uninitialized -Wno-class-memaccess -Wno-unused-function -Wno-unknown-warning-option)
|
2023-10-13 13:31:13 +02:00
|
|
|
endif()
|
2021-12-15 13:01:42 +01:00
|
|
|
|
2023-10-13 13:31:13 +02:00
|
|
|
swig_add_library(ovpnclilib
|
|
|
|
TYPE SHARED
|
|
|
|
LANGUAGE python
|
|
|
|
SOURCES ovpncli.cpp ovpncli.i
|
|
|
|
)
|
|
|
|
set_property(TARGET ovpnclilib PROPERTY SWIG_COMPILE_DEFINITIONS SWIG_PYTHON_2_UNICODE)
|
|
|
|
set_property(TARGET ovpnclilib PROPERTY SWIG_COMPILE_OPTIONS -threads)
|
|
|
|
set_property(TARGET ovpnclilib PROPERTY SWIG_INCLUDE_DIRECTORIES ${CORE_DIR})
|
2021-12-15 13:01:42 +01:00
|
|
|
|
|
|
|
add_core_dependencies(ovpnclilib)
|
2023-07-31 12:37:09 +02:00
|
|
|
target_link_libraries(ovpnclilib ${Python3_LIBRARIES})
|
|
|
|
target_include_directories(ovpnclilib PRIVATE ${Python3_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR})
|
2021-12-15 13:01:42 +01:00
|
|
|
|
|
|
|
# Use proper python library name to generate _ovpncli.so/dylib/dll
|
|
|
|
set_target_properties(ovpnclilib PROPERTIES OUTPUT_NAME "_ovpncli")
|
|
|
|
set_target_properties(ovpnclilib PROPERTIES PREFIX "")
|
|
|
|
|
2022-03-11 17:39:54 +01:00
|
|
|
endif ()
|