Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > ce28a7166724e825c2f68e362f5daca9 > files > 264

Falcon-0.9.6.8-1.fc15.i686.rpm

######################################################################
# The Falcon Programming Language.
# CMake module for find_package( falcon )
######################################################################
#
# Generates the following variables.
# - Falcon_INCLUDE_DIRS: List of directories for inclusion
# - Falcon_LIBRARY_DIRS: List of directories for library search
# - Falcon_BINARY_DIR: Where the falcon binary resides
# - Falcon_MODULES_DIR: Default installation directory for modules
#
# - Falcon_LIBRARIES: Libraries needed for link.
#
######################################################################
# Notes: set -DMOD_INSTALL=<target> to have modules installed in a
#        non-default directory.
######################################################################

get_filename_component(SELF_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)

# OPTIONAL for the case this project is built as a subproject.
if(NOT Falcon_IN_CORE_SOURCETREE)
  include(${SELF_DIR}/falcon-core-targets.cmake OPTIONAL)
endif()

set(Falcon_APP_DIR "lib/falcon/apps")
set(Falcon_MOD_DIR "lib/falcon")
set(Falcon_BIN_DIR "bin")
set(Falcon_LIB_DIR "lib")
set(Falcon_MAN_DIR "share/man/man1")
set(Falcon_INC_DIR "include/falcon0.9.6")
set(Falcon_SHARE_DIR "share/doc/Falcon-0.9.6.8")
set(Falcon_DOC_DIR "share/doc/falcon0.9.6")
set(Falcon_CMAKE_DIR "share/doc/Falcon-0.9.6.8/cmake")

# Allow flexible installation location to perform out-of-install module builds
# Also, on WIN32, the target installation directory is decided during package install.
string(REGEX REPLACE "[^/]+" ".." _ups "${Falcon_CMAKE_DIR}")
get_filename_component(Falcon_PREFIX ${SELF_DIR}/${_ups} ABSOLUTE)

set(Falcon_INCLUDE_DIR "${Falcon_PREFIX}/include/falcon0.9.6")
set(Falcon_BINARY_DIR "${Falcon_PREFIX}/bin")
set(Falcon_LIBRARY_DIR "${Falcon_PREFIX}/lib")
set(Falcon_MODULES_DIR  "${Falcon_PREFIX}/lib/falcon")

# If defined, prefer the source directory include files over the installed ones
list(APPEND Falcon_INCLUDE_DIRS "${Falcon_INCLUDE_DIR}")

#Versioning
set( Falcon_VERSION "0.9.6.8" )
set( Falcon_VERSION_NAME "Chimera" )
#
set( Falcon_MAJOR_VERSION 0 )
set( Falcon_MINOR_VERSION 9 )
set( Falcon_SUBMINOR_VERSION 6 )
set( Falcon_PATCH_VERSION 8 )

if(NOT Falcon_IN_CORE_SOURCETREE)
  #Check if everything is in place.
  find_program(Falcon_EXECUTABLE falcon "${Falcon_BINARY_DIR}")
  find_program(Falcon_falpack_EXECUTABLE falpack "${Falcon_BINARY_DIR}")
  find_library(Falcon_ENGINE falcon_engine "${Falcon_LIBRARY_DIR}")
  find_file(Falcon_ENGINE_INC falcon/engine.h "${Falcon_INCLUDE_DIR}" )
endif()

# Prepare Falcon in development environment.
list(APPEND Falcon_INCLUDE_DIRS  ${Falcon_INCLUDE_DIR})
list(APPEND Falcon_LIBRARY_DIRS  ${Falcon_LIBRARY_DIR})

set(Falcon_LIBRARIES falcon_engine)

# for install(TARGETS .. ${FALCON_INSTALL_DESTINATIONS})
set(FALCON_INSTALL_DESTINATIONS
  RUNTIME DESTINATION ${Falcon_BIN_DIR}
  LIBRARY DESTINATION ${Falcon_LIB_DIR}
  ARCHIVE DESTINATION ${Falcon_ARCH_DIR}
)
# NOTE modules are installed via
#   install(FILES .. DESTINATION ${FALCON_MOD_DIR})
# since they are neither RUNTIME, LIBRARY nor ARCHIVE.

if(WIN32)
   #mingw requires -mthreads global option
   if(CMAKE_GENERATOR STREQUAL "MinGW Makefiles")
      list(APPEND CMAKE_EXE_LINKER_FLAGS -mthreads )
      list(APPEND CMAKE_SHARED_LINKER_FLAGS -mthreads )
      list(APPEND CMAKE_MODULE_LINKER_FLAGS -mthreads )
   endif()
endif(WIN32)


macro( falcon_define_module varname modname )
      set( ${varname} "${modname}_fm" )
endmacro()

function(falcon_install_module2 tgt dir )

   if(NOT CMAKE_INSTALL_PREFIX STREQUAL "/usr")
     message("WARNING: falcon was built with the with CMAKE_INSTALL_PREFIX /usr."
             "The current prefix is ${CMAKE_INSTALL_PREFIX}.")
   endif()

   if(APPLE)
      set_target_properties(${tgt} PROPERTIES
         PREFIX ""
         SUFFIX ".dylib" )
   else()
      set_target_properties(${tgt} PROPERTIES
         PREFIX "" )
   endif()

   if( DEFINED MOD_INSTALL )
      set( dest "${MOD_INSTALL}/${dir}" )
   else()
      set( dest "${Falcon_MOD_DIR}/${dir}" )
   endif()

  set_target_properties(${tgt} PROPERTIES
    LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${Falcon_MOD_DIR}
  )

   install( TARGETS ${tgt}
            DESTINATION ${dest} )
endfunction()

function(falcon_install_module tgt )
   falcon_install_module2( "${tgt}" .)
endfunction()

function(falcon_finalize_module2 tgt libs)
      target_link_libraries(${tgt} ${Falcon_LIBRARIES} ${libs} )
      falcon_install_module( ${tgt} )
endfunction()

function(falcon_finalize_module tgt )
      target_link_libraries(${tgt} ${Falcon_LIBRARIES} )
      falcon_install_module( ${tgt} )
endfunction()