cmake_modules/utils.cmake
changeset 9225 d8d929f92633
parent 9224 bce8cf41d666
child 9227 c02e081ba481
equal deleted inserted replaced
9224:bce8cf41d666 9225:d8d929f92633
     1 
     1 
       
     2 #find package helpers
     2 macro(find_package_or_fail _PKG_NAME)
     3 macro(find_package_or_fail _PKG_NAME)
     3     find_package(${_PKG_NAME})
     4     find_package(${_PKG_NAME})
     4     string(TOUPPER ${_PKG_NAME} _PKG_NAME_UP)
     5     string(TOUPPER ${_PKG_NAME} _PKG_NAME_UP)
     5     if(NOT ${_PKG_NAME_UP}_FOUND)
     6     if(NOT ${_PKG_NAME_UP}_FOUND)
     6         message(SEND_ERROR "Missing ${_PKG_NAME}! Please install it and rerun cmake.")
     7         message(SEND_ERROR "Missing ${_PKG_NAME}! Please install it and rerun cmake.")
    23         string(TOUPPER ${_PKG_NAME} _PKG_NAME_UP)
    24         string(TOUPPER ${_PKG_NAME} _PKG_NAME_UP)
    24         set(${_PKG_NAME_UP}_FOUND false)
    25         set(${_PKG_NAME_UP}_FOUND false)
    25     endif(NOT ${_VAR_NAME})
    26     endif(NOT ${_VAR_NAME})
    26 endmacro(find_package_or_disable_msg _PKG_NAME _VAR_NAME _MSG)
    27 endmacro(find_package_or_disable_msg _PKG_NAME _VAR_NAME _MSG)
    27 
    28 
    28 macro(append_linker_flag _FLAG)
    29 #variable manipulation macros
    29     list(APPEND pascal_flags "-k${_FLAG}")
       
    30     list(APPEND haskell_flags "-optl" "${_FLAG}")
       
    31     set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,${_FLAG}")
       
    32     set(CMAKE_SHARED_LIBRARY_C_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS} -Wl,${_FLAG}")
       
    33     set(CMAKE_SHARED_LIBRARY_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CXX_FLAGS} -Wl,${_FLAG}")
       
    34 endmacro(append_linker_flag _FLAG)
       
    35 
       
    36 #TODO: find_package_or_bundle
       
    37 
       
    38 
       
    39 macro(add_flag_append _VAR_NAME _FLAG)
    30 macro(add_flag_append _VAR_NAME _FLAG)
    40     set(${_VAR_NAME} "${${_VAR_NAME}} ${_FLAG}")
    31     set(${_VAR_NAME} "${${_VAR_NAME}} ${_FLAG}")
    41 endmacro(add_flag_append _VAR_NAME _FLAG)
    32 endmacro(add_flag_append _VAR_NAME _FLAG)
    42 
    33 
    43 macro(add_flag_prepend _VAR_NAME _FLAG)
    34 macro(add_flag_prepend _VAR_NAME _FLAG)
    44     set(${_VAR_NAME} "${_FLAG} ${${_VAR_NAME}}")
    35     set(${_VAR_NAME} "${_FLAG} ${${_VAR_NAME}}")
    45 endmacro(add_flag_prepend _VAR_NAME _FLAG)
    36 endmacro(add_flag_prepend _VAR_NAME _FLAG)
    46 
    37 
       
    38 macro(add_linker_flag _FLAG)
       
    39     list(APPEND haskell_flags "-optl" "${_FLAG}")
       
    40     add_flag_prepend(CMAKE_Pascal_FLAGS "-k${_FLAG}")
       
    41     add_flag_prepend(CMAKE_EXE_LINKER_FLAGS "-Wl,${_FLAG}")
       
    42     add_flag_prepend(CMAKE_SHARED_LIBRARY_C_FLAGS "-Wl,${_FLAG}")
       
    43     add_flag_prepend(CMAKE_SHARED_LIBRARY_CXX_FLAGS "-Wl,${_FLAG}")
       
    44 endmacro(add_linker_flag _FLAG)
       
    45 
       
    46 #TODO: find_package_or_bundle
       
    47 
       
    48 
       
    49