FIND_PACKAGE(SWIG REQUIRED) INCLUDE(${SWIG_USE_FILE}) FIND_PACKAGE(Ruby REQUIRED) INCLUDE_DIRECTORIES(${RUBY_INCLUDE_DIRS}) include_directories(${PROJECT_SOURCE_DIR}/mapscript/swiginc) include_directories(${PROJECT_SOURCE_DIR}/mapscript/) include_directories(${PROJECT_SOURCE_DIR}/mapscript/ruby) SWIG_ADD_MODULE(rubymapscript ruby ../mapscript.i) # Ruby mapscript fails to build with -Werror=format-security if(${CMAKE_C_FLAGS} MATCHES "-Werror=format-security") string(REPLACE "-Werror=format-security" "" TMP "${CMAKE_C_FLAGS}") set(CMAKE_C_FLAGS "${TMP}") endif(${CMAKE_C_FLAGS} MATCHES "-Werror=format-security") if(${CMAKE_CXX_FLAGS} MATCHES "-Werror=format-security") string(REPLACE "-Werror=format-security" "" TMP "${CMAKE_CXX_FLAGS}") set(CMAKE_CXX_FLAGS "${TMP}") endif(${CMAKE_CXX_FLAGS} MATCHES "-Werror=format-security") if(${CMAKE_CPP_FLAGS} MATCHES "-Werror=format-security") string(REPLACE "-Werror=format-security" "" TMP "${CMAKE_CPP_FLAGS}") set(CMAKE_CPP_FLAGS "${TMP}") endif(${CMAKE_CPP_FLAGS} MATCHES "-Werror=format-security") SWIG_LINK_LIBRARIES(rubymapscript ${RUBY_LIBRARY} ${MAPSERVER_LIBMAPSERVER}) set_target_properties(${SWIG_MODULE_rubymapscript_REAL_NAME} PROPERTIES PREFIX "") set_target_properties(${SWIG_MODULE_rubymapscript_REAL_NAME} PROPERTIES OUTPUT_NAME mapscript) if(APPLE) set_target_properties(${SWIG_MODULE_rubymapscript_REAL_NAME} PROPERTIES SUFFIX ".bundle") endif(APPLE) get_target_property(LOC_MAPSCRIPT_LIB ${SWIG_MODULE_rubymapscript_REAL_NAME} LOCATION) execute_process(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG['vendorarchdir']" OUTPUT_VARIABLE RUBY_VENDORARCHDIR OUTPUT_STRIP_TRAILING_WHITESPACE) install(FILES ${LOC_MAPSCRIPT_LIB} DESTINATION ${RUBY_VENDORARCHDIR})