| cmake_minimum_required(VERSION 3.12...3.19) |
| |
| project(TestSwigSrcOUTPUT_DIR CXX) |
| |
| include(CTest) |
| |
| |
| set(CMAKE_CXX_STANDARD 11) |
| |
| |
| find_package(SWIG REQUIRED) |
| include(${SWIG_USE_FILE}) |
| |
| set(UseSWIG_MODULE_VERSION 2) |
| |
| |
| file(REMOVE_RECURSE "${CMAKE_CURRENT_BINARY_DIR}/Foo" |
| "${CMAKE_CURRENT_BINARY_DIR}/FooSupport" |
| "${CMAKE_CURRENT_BINARY_DIR}/FooFile" |
| "${CMAKE_CURRENT_BINARY_DIR}/Bar" |
| "${CMAKE_CURRENT_BINARY_DIR}/BarSupport" |
| "${CMAKE_CURRENT_BINARY_DIR}/BarFile") |
| |
| |
| set_property (SOURCE foo.i PROPERTY COMPILE_OPTIONS -namespace Foo) |
| set_property (SOURCE foo.i PROPERTY OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/Foo") |
| set_property (SOURCE foo.i PROPERTY CPLUSPLUS ON) |
| |
| set_property (SOURCE bar.i PROPERTY COMPILE_OPTIONS -namespace Bar) |
| set_property (SOURCE bar.i PROPERTY OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/Bar") |
| set_property (SOURCE bar.i PROPERTY CPLUSPLUS ON) |
| |
| swig_add_library(outdir_test LANGUAGE csharp SOURCES foo.i bar.i cs.cpp |
| OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/NotUsed1" |
| OUTFILE_DIR "${CMAKE_CURRENT_BINARY_DIR}/NotUsed2") |
| target_include_directories(outdir_test PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}") |
| set_property(TARGET outdir_test PROPERTY USE_TARGET_INCLUDE_DIRECTORIES ON) |
| |
| |
| get_target_property(SUPPORT_FILES_DIRS outdir_test SWIG_SUPPORT_FILES_DIRECTORY) |
| |
| add_test(NAME SwigSrcOUTPUT_DIR COMMAND "${CMAKE_COMMAND}" "-DBASE_DIRECTORY=${CMAKE_CURRENT_BINARY_DIR}" "-DSUPPORT_FILES_DIRECTORY=${SUPPORT_FILES_DIRS}" -P "${CMAKE_CURRENT_SOURCE_DIR}/ValidateSupportFiles.cmake") |
| |
| |
| |
| set_property (SOURCE foo.i PROPERTY OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/FooSupport") |
| set_property (SOURCE foo.i PROPERTY OUTFILE_DIR "${CMAKE_CURRENT_BINARY_DIR}/FooFile") |
| |
| set_property (SOURCE bar.i PROPERTY OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/BarSupport") |
| set_property (SOURCE bar.i PROPERTY OUTFILE_DIR "${CMAKE_CURRENT_BINARY_DIR}/BarFile") |
| |
| swig_add_library(outfiledir_test LANGUAGE csharp SOURCES foo.i bar.i cs.cpp |
| OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/NotUsed1" |
| OUTFILE_DIR "${CMAKE_CURRENT_BINARY_DIR}/NotUsed2") |
| target_include_directories(outfiledir_test PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}") |
| set_property(TARGET outfiledir_test PROPERTY USE_TARGET_INCLUDE_DIRECTORIES ON) |
| |
| |
| get_target_property(SUPPORT_FILES_DIRS outfiledir_test SWIG_SUPPORT_FILES_DIRECTORY) |
| |
| add_test(NAME SwigSrcOUTFILE_DIR COMMAND "${CMAKE_COMMAND}" "-DBASE_DIRECTORY=${CMAKE_CURRENT_BINARY_DIR}" "-DSUPPORT_FILES_DIRECTORY=${SUPPORT_FILES_DIRS}" -DOUTFILE_DIR=ON -P "${CMAKE_CURRENT_SOURCE_DIR}/ValidateSupportFiles.cmake") |