1
cmake_minimum_required ( VERSION 2.8.1 FATAL_ERROR )
3
project( SimpleITK_Lua )
5
include(../../CMake/sitkProjectLanguageCommon.cmake NO_POLICY_SCOPE)
9
find_package ( Lua REQUIRED )
11
set( LUA_ADDITIONAL_LIBRARIES "" CACHE STRING "Additional libraries which may be needed for lua executable such as readline.")
12
mark_as_advanced( LUA_ADDITIONAL_LIBRARIES )
14
include_directories ( ${SimpleITK_INCLUDE_DIRS} )
16
set_source_files_properties ( SimpleITK.i PROPERTIES CPLUSPLUS ON )
19
set(CMAKE_SWIG_FLAGS ${CMAKE_SWIG_GLOBAL_FLAGS})
20
set(CMAKE_SWIG_OUTDIR ${CMAKE_CURRENT_BINARY_DIR})
21
set(SWIG_MODULE_SimpleITKLua_EXTRA_DEPS ${SWIG_EXTRA_DEPS}
22
${CMAKE_CURRENT_SOURCE_DIR}/Lua.i )
23
SWIG_module_initialize ( SimpleITKLua lua )
24
SWIG_add_source_to_module ( SimpleITKLua swig_generated_source SimpleITK.i ${SWIG_EXTRA_DEPS} )
25
set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "-w" )
27
# Create a standalone Lua executable that includes SimpleITK.
28
option( SimpleITK_LUA_BUILD_EXECUTABLE "Build a standalone SimpleITK-Lua executable" OFF)
29
sitk_legacy_naming(SimpleITK_LUA_BUILD_EXECUTABLE)
30
if ( SimpleITK_LUA_BUILD_EXECUTABLE )
31
add_executable ( SimpleITKLua SimpleITKLuaMain.cxx ${swig_generated_file_fullname} )
32
target_link_libraries ( SimpleITKLua ${SimpleITK_LIBRARIES} ${LUA_LIBRARIES} ${LUA_ADDITIONAL_LIBRARIES} )
33
target_include_directories( SimpleITKLua
36
sitk_strip_target( SimpleITKLua )
39
# Create a SimpleITK Lua module that can be loaded into any Lua executable.
40
SWIG_add_module( SimpleITKLuaModule lua SimpleITK.i )
41
target_link_libraries( ${SWIG_MODULE_SimpleITKLuaModule_TARGET_NAME} ${SimpleITK_LIBRARIES} )
42
set_target_properties( ${SWIG_MODULE_SimpleITKLuaModule_TARGET_NAME} PROPERTIES PREFIX "" OUTPUT_NAME "SimpleITK" )
43
sitk_target_link_libraries_with_dynamic_lookup( ${SWIG_MODULE_SimpleITKLuaModule_TARGET_NAME} ${LUA_LIBRARIES} )
44
target_include_directories( ${SWIG_MODULE_SimpleITKLuaModule_TARGET_NAME}
48
set_source_files_properties( ${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "-w")
49
sitk_strip_target( ${SWIG_MODULE_SimpleITKLuaModule_TARGET_NAME} )