diff options
author | Kitware Robot <kwrobot@kitware.com> | 2012-08-13 17:47:32 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2012-08-13 18:19:16 (GMT) |
commit | 77543bde41b0e52c3959016698b529835945d62d (patch) | |
tree | ff63e5fbec326c4a5d821e7496c6d2cb52f75b92 /Modules/UseSWIG.cmake | |
parent | 7bbaa4283de26864b2e55e819db0884771585467 (diff) | |
download | CMake-77543bde41b0e52c3959016698b529835945d62d.zip CMake-77543bde41b0e52c3959016698b529835945d62d.tar.gz CMake-77543bde41b0e52c3959016698b529835945d62d.tar.bz2 |
Convert CMake-language commands to lower case
Ancient CMake versions required upper-case commands. Later command
names became case-insensitive. Now the preferred style is lower-case.
Run the following shell code:
cmake --help-command-list |
grep -v "cmake version" |
while read c; do
echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
Diffstat (limited to 'Modules/UseSWIG.cmake')
-rw-r--r-- | Modules/UseSWIG.cmake | 258 |
1 files changed, 129 insertions, 129 deletions
diff --git a/Modules/UseSWIG.cmake b/Modules/UseSWIG.cmake index a7085ee..e4e72c2 100644 --- a/Modules/UseSWIG.cmake +++ b/Modules/UseSWIG.cmake @@ -15,7 +15,7 @@ # The name-specific variable SWIG_MODULE_<name>_EXTRA_DEPS may be used # to specify extra dependencies for the generated modules. # If the source file generated by swig need some special flag you can use -# SET_SOURCE_FILES_PROPERTIES( ${swig_generated_file_fullname} +# set_source_files_properties( ${swig_generated_file_fullname} # PROPERTIES COMPILE_FLAGS "-bla") @@ -33,136 +33,136 @@ # (To distribute this file outside of CMake, substitute the full # License text for the above reference.) -SET(SWIG_CXX_EXTENSION "cxx") -SET(SWIG_EXTRA_LIBRARIES "") +set(SWIG_CXX_EXTENSION "cxx") +set(SWIG_EXTRA_LIBRARIES "") -SET(SWIG_PYTHON_EXTRA_FILE_EXTENSION "py") +set(SWIG_PYTHON_EXTRA_FILE_EXTENSION "py") # # For given swig module initialize variables associated with it # -MACRO(SWIG_MODULE_INITIALIZE name language) - STRING(TOUPPER "${language}" swig_uppercase_language) - STRING(TOLOWER "${language}" swig_lowercase_language) - SET(SWIG_MODULE_${name}_LANGUAGE "${swig_uppercase_language}") - SET(SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG "${swig_lowercase_language}") - - SET(SWIG_MODULE_${name}_REAL_NAME "${name}") - IF("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "UNKNOWN") - MESSAGE(FATAL_ERROR "SWIG Error: Language \"${language}\" not found") - ELSEIF("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "PYTHON") +macro(SWIG_MODULE_INITIALIZE name language) + string(TOUPPER "${language}" swig_uppercase_language) + string(TOLOWER "${language}" swig_lowercase_language) + set(SWIG_MODULE_${name}_LANGUAGE "${swig_uppercase_language}") + set(SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG "${swig_lowercase_language}") + + set(SWIG_MODULE_${name}_REAL_NAME "${name}") + if("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "UNKNOWN") + message(FATAL_ERROR "SWIG Error: Language \"${language}\" not found") + elseif("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "PYTHON") # when swig is used without the -interface it will produce in the module.py # a 'import _modulename' statement, which implies having a corresponding # _modulename.so (*NIX), _modulename.pyd (Win32). - SET(SWIG_MODULE_${name}_REAL_NAME "_${name}") - ELSEIF("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "PERL") - SET(SWIG_MODULE_${name}_EXTRA_FLAGS "-shadow") - ENDIF() -ENDMACRO(SWIG_MODULE_INITIALIZE) + set(SWIG_MODULE_${name}_REAL_NAME "_${name}") + elseif("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "PERL") + set(SWIG_MODULE_${name}_EXTRA_FLAGS "-shadow") + endif() +endmacro(SWIG_MODULE_INITIALIZE) # # For a given language, input file, and output file, determine extra files that # will be generated. This is internal swig macro. # -MACRO(SWIG_GET_EXTRA_OUTPUT_FILES language outfiles generatedpath infile) - SET(${outfiles} "") - GET_SOURCE_FILE_PROPERTY(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename +macro(SWIG_GET_EXTRA_OUTPUT_FILES language outfiles generatedpath infile) + set(${outfiles} "") + get_source_file_property(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename ${infile} SWIG_MODULE_NAME) - IF(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename STREQUAL "NOTFOUND") - GET_FILENAME_COMPONENT(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename "${infile}" NAME_WE) - ENDIF(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename STREQUAL "NOTFOUND") - FOREACH(it ${SWIG_${language}_EXTRA_FILE_EXTENSION}) - SET(${outfiles} ${${outfiles}} + if(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename STREQUAL "NOTFOUND") + get_filename_component(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename "${infile}" NAME_WE) + endif(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename STREQUAL "NOTFOUND") + foreach(it ${SWIG_${language}_EXTRA_FILE_EXTENSION}) + set(${outfiles} ${${outfiles}} "${generatedpath}/${SWIG_GET_EXTRA_OUTPUT_FILES_module_basename}.${it}") - ENDFOREACH(it) -ENDMACRO(SWIG_GET_EXTRA_OUTPUT_FILES) + endforeach(it) +endmacro(SWIG_GET_EXTRA_OUTPUT_FILES) # # Take swig (*.i) file and add proper custom commands for it # -MACRO(SWIG_ADD_SOURCE_TO_MODULE name outfiles infile) - SET(swig_full_infile ${infile}) - GET_FILENAME_COMPONENT(swig_source_file_path "${infile}" PATH) - GET_FILENAME_COMPONENT(swig_source_file_name_we "${infile}" NAME_WE) - GET_SOURCE_FILE_PROPERTY(swig_source_file_generated ${infile} GENERATED) - GET_SOURCE_FILE_PROPERTY(swig_source_file_cplusplus ${infile} CPLUSPLUS) - GET_SOURCE_FILE_PROPERTY(swig_source_file_flags ${infile} SWIG_FLAGS) - IF("${swig_source_file_flags}" STREQUAL "NOTFOUND") - SET(swig_source_file_flags "") - ENDIF("${swig_source_file_flags}" STREQUAL "NOTFOUND") - SET(swig_source_file_fullname "${infile}") - IF(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_SOURCE_DIR}") - STRING(REGEX REPLACE +macro(SWIG_ADD_SOURCE_TO_MODULE name outfiles infile) + set(swig_full_infile ${infile}) + get_filename_component(swig_source_file_path "${infile}" PATH) + get_filename_component(swig_source_file_name_we "${infile}" NAME_WE) + get_source_file_property(swig_source_file_generated ${infile} GENERATED) + get_source_file_property(swig_source_file_cplusplus ${infile} CPLUSPLUS) + get_source_file_property(swig_source_file_flags ${infile} SWIG_FLAGS) + if("${swig_source_file_flags}" STREQUAL "NOTFOUND") + set(swig_source_file_flags "") + endif("${swig_source_file_flags}" STREQUAL "NOTFOUND") + set(swig_source_file_fullname "${infile}") + if(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_SOURCE_DIR}") + string(REGEX REPLACE "^${CMAKE_CURRENT_SOURCE_DIR}" "" swig_source_file_relative_path "${swig_source_file_path}") - ELSE(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_SOURCE_DIR}") - IF(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_BINARY_DIR}") - STRING(REGEX REPLACE + else(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_SOURCE_DIR}") + if(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_BINARY_DIR}") + string(REGEX REPLACE "^${CMAKE_CURRENT_BINARY_DIR}" "" swig_source_file_relative_path "${swig_source_file_path}") - SET(swig_source_file_generated 1) - ELSE(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_BINARY_DIR}") - SET(swig_source_file_relative_path "${swig_source_file_path}") - IF(swig_source_file_generated) - SET(swig_source_file_fullname "${CMAKE_CURRENT_BINARY_DIR}/${infile}") - ELSE(swig_source_file_generated) - SET(swig_source_file_fullname "${CMAKE_CURRENT_SOURCE_DIR}/${infile}") - ENDIF(swig_source_file_generated) - ENDIF(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_BINARY_DIR}") - ENDIF(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_SOURCE_DIR}") - - SET(swig_generated_file_fullname + set(swig_source_file_generated 1) + else(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_BINARY_DIR}") + set(swig_source_file_relative_path "${swig_source_file_path}") + if(swig_source_file_generated) + set(swig_source_file_fullname "${CMAKE_CURRENT_BINARY_DIR}/${infile}") + else(swig_source_file_generated) + set(swig_source_file_fullname "${CMAKE_CURRENT_SOURCE_DIR}/${infile}") + endif(swig_source_file_generated) + endif(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_BINARY_DIR}") + endif(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_SOURCE_DIR}") + + set(swig_generated_file_fullname "${CMAKE_CURRENT_BINARY_DIR}") - IF(swig_source_file_relative_path) - SET(swig_generated_file_fullname + if(swig_source_file_relative_path) + set(swig_generated_file_fullname "${swig_generated_file_fullname}/${swig_source_file_relative_path}") - ENDIF(swig_source_file_relative_path) + endif(swig_source_file_relative_path) # If CMAKE_SWIG_OUTDIR was specified then pass it to -outdir - IF(CMAKE_SWIG_OUTDIR) - SET(swig_outdir ${CMAKE_SWIG_OUTDIR}) - ELSE(CMAKE_SWIG_OUTDIR) - SET(swig_outdir ${CMAKE_CURRENT_BINARY_DIR}) - ENDIF(CMAKE_SWIG_OUTDIR) + if(CMAKE_SWIG_OUTDIR) + set(swig_outdir ${CMAKE_SWIG_OUTDIR}) + else(CMAKE_SWIG_OUTDIR) + set(swig_outdir ${CMAKE_CURRENT_BINARY_DIR}) + endif(CMAKE_SWIG_OUTDIR) SWIG_GET_EXTRA_OUTPUT_FILES(${SWIG_MODULE_${name}_LANGUAGE} swig_extra_generated_files "${swig_outdir}" "${infile}") - SET(swig_generated_file_fullname + set(swig_generated_file_fullname "${swig_generated_file_fullname}/${swig_source_file_name_we}") # add the language into the name of the file (i.e. TCL_wrap) # this allows for the same .i file to be wrapped into different languages - SET(swig_generated_file_fullname + set(swig_generated_file_fullname "${swig_generated_file_fullname}${SWIG_MODULE_${name}_LANGUAGE}_wrap") - IF(swig_source_file_cplusplus) - SET(swig_generated_file_fullname + if(swig_source_file_cplusplus) + set(swig_generated_file_fullname "${swig_generated_file_fullname}.${SWIG_CXX_EXTENSION}") - ELSE(swig_source_file_cplusplus) - SET(swig_generated_file_fullname + else(swig_source_file_cplusplus) + set(swig_generated_file_fullname "${swig_generated_file_fullname}.c") - ENDIF(swig_source_file_cplusplus) + endif(swig_source_file_cplusplus) - #MESSAGE("Full path to source file: ${swig_source_file_fullname}") - #MESSAGE("Full path to the output file: ${swig_generated_file_fullname}") - GET_DIRECTORY_PROPERTY(cmake_include_directories INCLUDE_DIRECTORIES) - SET(swig_include_dirs) - FOREACH(it ${cmake_include_directories}) - SET(swig_include_dirs ${swig_include_dirs} "-I${it}") - ENDFOREACH(it) + #message("Full path to source file: ${swig_source_file_fullname}") + #message("Full path to the output file: ${swig_generated_file_fullname}") + get_directory_property(cmake_include_directories INCLUDE_DIRECTORIES) + set(swig_include_dirs) + foreach(it ${cmake_include_directories}) + set(swig_include_dirs ${swig_include_dirs} "-I${it}") + endforeach(it) - SET(swig_special_flags) + set(swig_special_flags) # default is c, so add c++ flag if it is c++ - IF(swig_source_file_cplusplus) - SET(swig_special_flags ${swig_special_flags} "-c++") - ENDIF(swig_source_file_cplusplus) - SET(swig_extra_flags) - IF(SWIG_MODULE_${name}_EXTRA_FLAGS) - SET(swig_extra_flags ${swig_extra_flags} ${SWIG_MODULE_${name}_EXTRA_FLAGS}) - ENDIF(SWIG_MODULE_${name}_EXTRA_FLAGS) - ADD_CUSTOM_COMMAND( + if(swig_source_file_cplusplus) + set(swig_special_flags ${swig_special_flags} "-c++") + endif(swig_source_file_cplusplus) + set(swig_extra_flags) + if(SWIG_MODULE_${name}_EXTRA_FLAGS) + set(swig_extra_flags ${swig_extra_flags} ${SWIG_MODULE_${name}_EXTRA_FLAGS}) + endif(SWIG_MODULE_${name}_EXTRA_FLAGS) + add_custom_command( OUTPUT "${swig_generated_file_fullname}" ${swig_extra_generated_files} # Let's create the ${swig_outdir} at execution time, in case dir contains $(OutDir) COMMAND ${CMAKE_COMMAND} -E make_directory ${swig_outdir} @@ -179,53 +179,53 @@ MACRO(SWIG_ADD_SOURCE_TO_MODULE name outfiles infile) MAIN_DEPENDENCY "${swig_source_file_fullname}" DEPENDS ${SWIG_MODULE_${name}_EXTRA_DEPS} COMMENT "Swig source") - SET_SOURCE_FILES_PROPERTIES("${swig_generated_file_fullname}" ${swig_extra_generated_files} + set_source_files_properties("${swig_generated_file_fullname}" ${swig_extra_generated_files} PROPERTIES GENERATED 1) - SET(${outfiles} "${swig_generated_file_fullname}" ${swig_extra_generated_files}) -ENDMACRO(SWIG_ADD_SOURCE_TO_MODULE) + set(${outfiles} "${swig_generated_file_fullname}" ${swig_extra_generated_files}) +endmacro(SWIG_ADD_SOURCE_TO_MODULE) # # Create Swig module # -MACRO(SWIG_ADD_MODULE name language) +macro(SWIG_ADD_MODULE name language) SWIG_MODULE_INITIALIZE(${name} ${language}) - SET(swig_dot_i_sources) - SET(swig_other_sources) - FOREACH(it ${ARGN}) - IF(${it} MATCHES ".*\\.i$") - SET(swig_dot_i_sources ${swig_dot_i_sources} "${it}") - ELSE(${it} MATCHES ".*\\.i$") - SET(swig_other_sources ${swig_other_sources} "${it}") - ENDIF(${it} MATCHES ".*\\.i$") - ENDFOREACH(it) - - SET(swig_generated_sources) - FOREACH(it ${swig_dot_i_sources}) + set(swig_dot_i_sources) + set(swig_other_sources) + foreach(it ${ARGN}) + if(${it} MATCHES ".*\\.i$") + set(swig_dot_i_sources ${swig_dot_i_sources} "${it}") + else(${it} MATCHES ".*\\.i$") + set(swig_other_sources ${swig_other_sources} "${it}") + endif(${it} MATCHES ".*\\.i$") + endforeach(it) + + set(swig_generated_sources) + foreach(it ${swig_dot_i_sources}) SWIG_ADD_SOURCE_TO_MODULE(${name} swig_generated_source ${it}) - SET(swig_generated_sources ${swig_generated_sources} "${swig_generated_source}") - ENDFOREACH(it) - GET_DIRECTORY_PROPERTY(swig_extra_clean_files ADDITIONAL_MAKE_CLEAN_FILES) - SET_DIRECTORY_PROPERTIES(PROPERTIES + set(swig_generated_sources ${swig_generated_sources} "${swig_generated_source}") + endforeach(it) + get_directory_property(swig_extra_clean_files ADDITIONAL_MAKE_CLEAN_FILES) + set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${swig_extra_clean_files};${swig_generated_sources}") - ADD_LIBRARY(${SWIG_MODULE_${name}_REAL_NAME} + add_library(${SWIG_MODULE_${name}_REAL_NAME} MODULE ${swig_generated_sources} ${swig_other_sources}) - STRING(TOLOWER "${language}" swig_lowercase_language) - IF ("${swig_lowercase_language}" STREQUAL "java") - IF (APPLE) + string(TOLOWER "${language}" swig_lowercase_language) + if ("${swig_lowercase_language}" STREQUAL "java") + if (APPLE) # In java you want: # System.loadLibrary("LIBRARY"); # then JNI will look for a library whose name is platform dependent, namely # MacOS : libLIBRARY.jnilib # Windows: LIBRARY.dll # Linux : libLIBRARY.so - SET_TARGET_PROPERTIES (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".jnilib") - ENDIF (APPLE) - ENDIF ("${swig_lowercase_language}" STREQUAL "java") - IF ("${swig_lowercase_language}" STREQUAL "python") + set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".jnilib") + endif (APPLE) + endif ("${swig_lowercase_language}" STREQUAL "java") + if ("${swig_lowercase_language}" STREQUAL "python") # this is only needed for the python case where a _modulename.so is generated - SET_TARGET_PROPERTIES(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "") + set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "") # Python extension modules on Windows must have the extension ".pyd" # instead of ".dll" as of Python 2.5. Older python versions do support # this suffix. @@ -234,20 +234,20 @@ MACRO(SWIG_ADD_MODULE name language) # Windows: .dll is no longer supported as a filename extension for extension modules. # .pyd is now the only filename extension that will be searched for. # </quote> - IF(WIN32 AND NOT CYGWIN) - SET_TARGET_PROPERTIES(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".pyd") - ENDIF(WIN32 AND NOT CYGWIN) - ENDIF ("${swig_lowercase_language}" STREQUAL "python") -ENDMACRO(SWIG_ADD_MODULE) + if(WIN32 AND NOT CYGWIN) + set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".pyd") + endif(WIN32 AND NOT CYGWIN) + endif ("${swig_lowercase_language}" STREQUAL "python") +endmacro(SWIG_ADD_MODULE) # # Like TARGET_LINK_LIBRARIES but for swig modules # -MACRO(SWIG_LINK_LIBRARIES name) - IF(SWIG_MODULE_${name}_REAL_NAME) - TARGET_LINK_LIBRARIES(${SWIG_MODULE_${name}_REAL_NAME} ${ARGN}) - ELSE(SWIG_MODULE_${name}_REAL_NAME) - MESSAGE(SEND_ERROR "Cannot find Swig library \"${name}\".") - ENDIF(SWIG_MODULE_${name}_REAL_NAME) -ENDMACRO(SWIG_LINK_LIBRARIES name) +macro(SWIG_LINK_LIBRARIES name) + if(SWIG_MODULE_${name}_REAL_NAME) + target_link_libraries(${SWIG_MODULE_${name}_REAL_NAME} ${ARGN}) + else(SWIG_MODULE_${name}_REAL_NAME) + message(SEND_ERROR "Cannot find Swig library \"${name}\".") + endif(SWIG_MODULE_${name}_REAL_NAME) +endmacro(SWIG_LINK_LIBRARIES name) |