cmake_modules/CMakePascalInformation.cmake
branchcmake_pascal
changeset 8756 671f6ef4f7f1
parent 8754 0c08d07e791a
child 8758 cb3b470f1000
equal deleted inserted replaced
8754:0c08d07e791a 8756:671f6ef4f7f1
    68 
    68 
    69 #IF(NOT CMAKE_SHARED_MODULE_RUNTIME_Ada_FLAG_SEP)
    69 #IF(NOT CMAKE_SHARED_MODULE_RUNTIME_Ada_FLAG_SEP)
    70 #  SET(CMAKE_SHARED_MODULE_RUNTIME_Ada_FLAG_SEP ${CMAKE_SHARED_MODULE_RUNTIME_C_FLAG_SEP})
    70 #  SET(CMAKE_SHARED_MODULE_RUNTIME_Ada_FLAG_SEP ${CMAKE_SHARED_MODULE_RUNTIME_C_FLAG_SEP})
    71 #ENDIF(NOT CMAKE_SHARED_MODULE_RUNTIME_Ada_FLAG_SEP)
    71 #ENDIF(NOT CMAKE_SHARED_MODULE_RUNTIME_Ada_FLAG_SEP)
    72 
    72 
    73 #IF(NOT CMAKE_INCLUDE_FLAG_Ada)
    73 IF(NOT CMAKE_INCLUDE_FLAG_Pascal)
    74 #  SET(CMAKE_INCLUDE_FLAG_Ada ${CMAKE_INCLUDE_FLAG_C})
    74   #amazing, fpc: -I<x>  Add <x> to include path
    75 #ENDIF(NOT CMAKE_INCLUDE_FLAG_Ada)
    75   SET(CMAKE_INCLUDE_FLAG_Pascal ${CMAKE_INCLUDE_FLAG_C})
       
    76 ENDIF(NOT CMAKE_INCLUDE_FLAG_Pascal)
    76 
    77 
    77 #IF(NOT CMAKE_INCLUDE_FLAG_SEP_Ada)
    78 #IF(NOT CMAKE_INCLUDE_FLAG_SEP_Ada)
    78 #  SET(CMAKE_INCLUDE_FLAG_SEP_Ada ${CMAKE_INCLUDE_FLAG_SEP_C})
    79 #  SET(CMAKE_INCLUDE_FLAG_SEP_Ada ${CMAKE_INCLUDE_FLAG_SEP_C})
    79 #ENDIF(NOT CMAKE_INCLUDE_FLAG_SEP_Ada)
    80 #ENDIF(NOT CMAKE_INCLUDE_FLAG_SEP_Ada)
    80 
    81 
   115 
   116 
   116 # Static library tools
   117 # Static library tools
   117 # <CMAKE_AR>
   118 # <CMAKE_AR>
   118 # <CMAKE_RANLIB>
   119 # <CMAKE_RANLIB>
   119 
   120 
       
   121 if (NOT EXECUTABLE_OUTPUT_PATH)
       
   122     set (EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR})
       
   123 endif (NOT EXECUTABLE_OUTPUT_PATH)
   120 
   124 
   121 # create an Ada shared library
   125 # create an Ada shared library
   122 IF(NOT CMAKE_Ada_CREATE_SHARED_LIBRARY)
   126 IF(NOT CMAKE_Ada_CREATE_SHARED_LIBRARY)
   123     SET(CMAKE_Ada_CREATE_SHARED_LIBRARY
   127     SET(CMAKE_Ada_CREATE_SHARED_LIBRARY
   124     "<CMAKE_Ada_COMPILER> <CMAKE_SHARED_LIBRARY_Ada_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_Ada_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_Ada_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>"
   128     "<CMAKE_Ada_COMPILER> <CMAKE_SHARED_LIBRARY_Ada_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_Ada_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_Ada_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>"
   137       "<CMAKE_RANLIB> <TARGET> ")
   141       "<CMAKE_RANLIB> <TARGET> ")
   138 ENDIF(NOT CMAKE_Ada_CREATE_STATIC_LIBRARY)
   142 ENDIF(NOT CMAKE_Ada_CREATE_STATIC_LIBRARY)
   139 
   143 
   140 # compile a Pascal file into an object file
   144 # compile a Pascal file into an object file
   141 IF(NOT CMAKE_Pascal_COMPILE_OBJECT)
   145 IF(NOT CMAKE_Pascal_COMPILE_OBJECT)
   142   SET(CMAKE_Pascal_COMPILE_OBJECT "<CMAKE_Pascal_COMPILER> <FLAGS> <SOURCE> -Cn")
   146   SET(CMAKE_Pascal_COMPILE_OBJECT
       
   147       "<CMAKE_Pascal_COMPILER> <FLAGS> <SOURCE> -Cn -FE${EXECUTABLE_OUTPUT_PATH} -FU${CMAKE_CURRENT_BINARY_DIR} -Fi${CMAKE_CURRENT_BINARY_DIR}")
   143 #"<CMAKE_Pascal_COMPILER> <FLAGS> <SOURCE> -o<OBJECT> -Cn
   148 #"<CMAKE_Pascal_COMPILER> <FLAGS> <SOURCE> -o<OBJECT> -Cn
   144 ENDIF(NOT CMAKE_Pascal_COMPILE_OBJECT)
   149 ENDIF(NOT CMAKE_Pascal_COMPILE_OBJECT)
   145 
   150 
   146 # Constraints:  GNAT_EXECUTABLE_BUILDER = gnatmake
   151 # Constraints:  GNAT_EXECUTABLE_BUILDER = gnatmake
   147 # is required to do the compile+bind+link of
   152 # is required to do the compile+bind+link of
   172 # However, so long as you pay attention to these
   177 # However, so long as you pay attention to these
   173 # constraints, add_executable should work for the Ada language.
   178 # constraints, add_executable should work for the Ada language.
   174 
   179 
   175 IF(NOT CMAKE_Pascal_LINK_EXECUTABLE)
   180 IF(NOT CMAKE_Pascal_LINK_EXECUTABLE)
   176 #GET_FILENAME_COMPONENT(COMPILER_LOCATION "${CMAKE_Pascal_COMPILER}" PATH)
   181 #GET_FILENAME_COMPONENT(COMPILER_LOCATION "${CMAKE_Pascal_COMPILER}" PATH)
   177     if (NOT EXECUTABLE_OUTPUT_PATH)
       
   178        set (EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR})
       
   179     endif()
       
   180     message("look here ${CMAKE_CURRENT_BINARY_DIR} ${EXECUTABLE_OUTPUT_PATH}")
   182     message("look here ${CMAKE_CURRENT_BINARY_DIR} ${EXECUTABLE_OUTPUT_PATH}")
   181     set(CMAKE_Pascal_LINK_EXECUTABLE "${EXECUTABLE_OUTPUT_PATH}/ppas.sh")
   183     set(CMAKE_Pascal_LINK_EXECUTABLE "${EXECUTABLE_OUTPUT_PATH}/ppas.sh")
   182 #  SET(CMAKE_Pascal_LINK_EXECUTABLE "${CMAKE_Pascal_COMPILER} <CMAKE_Ada_LINK_FLAGS> <LINK_FLAGS> <TARGET_BASE>.adb -cargs <FLAGS> -largs <LINK_LIBRARIES>")
   184 #  SET(CMAKE_Pascal_LINK_EXECUTABLE "${CMAKE_Pascal_COMPILER} <CMAKE_Ada_LINK_FLAGS> <LINK_FLAGS> <TARGET_BASE>.adb -cargs <FLAGS> -largs <LINK_LIBRARIES>")
   183 ENDIF(NOT CMAKE_Pascal_LINK_EXECUTABLE)
   185 ENDIF(NOT CMAKE_Pascal_LINK_EXECUTABLE)
   184 
   186