cmake_modules/CMakePascalInformation.cmake
branchcmake_pascal
changeset 8778 04363016580f
parent 8770 53481d654691
child 8798 03d113d51062
equal deleted inserted replaced
8775:3cad01db0bae 8778:04363016580f
    38 #  SET(CMAKE_SHARED_LIBRARY_CREATE_Ada_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS})
    38 #  SET(CMAKE_SHARED_LIBRARY_CREATE_Ada_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS})
    39 #ENDIF(NOT CMAKE_SHARED_LIBRARY_CREATE_Ada_FLAGS)
    39 #ENDIF(NOT CMAKE_SHARED_LIBRARY_CREATE_Ada_FLAGS)
    40 
    40 
    41 IF(NOT CMAKE_SHARED_LIBRARY_Pascal_FLAGS)
    41 IF(NOT CMAKE_SHARED_LIBRARY_Pascal_FLAGS)
    42   #another similarity, fpc: -fPIC  Same as -Cg
    42   #another similarity, fpc: -fPIC  Same as -Cg
       
    43   #(maybe required only for x86_64)
    43   SET(CMAKE_SHARED_LIBRARY_Pascal_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS})
    44   SET(CMAKE_SHARED_LIBRARY_Pascal_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS})
    44 ENDIF(NOT CMAKE_SHARED_LIBRARY_Pascal_FLAGS)
    45 ENDIF(NOT CMAKE_SHARED_LIBRARY_Pascal_FLAGS)
    45 
    46 
    46 IF(NOT CMAKE_SHARED_LIBRARY_LINK_Pascal_FLAGS)
    47 IF(NOT CMAKE_SHARED_LIBRARY_LINK_Pascal_FLAGS)
    47   SET(CMAKE_SHARED_LIBRARY_LINK_Pascal_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS})
    48   SET(CMAKE_SHARED_LIBRARY_LINK_Pascal_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS})
   155       "<CMAKE_RANLIB> <TARGET> ")
   156       "<CMAKE_RANLIB> <TARGET> ")
   156 ENDIF(NOT CMAKE_Ada_CREATE_STATIC_LIBRARY)
   157 ENDIF(NOT CMAKE_Ada_CREATE_STATIC_LIBRARY)
   157 
   158 
   158 # compile a Pascal file into an object file
   159 # compile a Pascal file into an object file
   159 IF(NOT CMAKE_Pascal_COMPILE_OBJECT)
   160 IF(NOT CMAKE_Pascal_COMPILE_OBJECT)
   160   SET(CMAKE_Pascal_COMPILE_OBJECT
   161     #when you have multiple ld installation make sure you get the one bundled with the system C compiler
   161       "<CMAKE_Pascal_COMPILER> -Cn -FE${EXECUTABLE_OUTPUT_PATH} -FU${CMAKE_CURRENT_BINARY_DIR}/<OBJECT_DIR> -Fi${CMAKE_CURRENT_BINARY_DIR} <FLAGS> <SOURCE>")
   162   get_filename_component(CMAKE_C_COMPILER_DIR ${CMAKE_C_COMPILER} PATH)
       
   163   if(APPLE)
       
   164     #add user framework directory
       
   165     set(CMAKE_Pascal_OSX_FLAGS "-Ff~/Library/Frameworks")
       
   166     if(CMAKE_OSX_SYSROOT)
       
   167         set(CMAKE_Pascal_OSX_FLAGS "-XD${CMAKE_OSX_SYSROOT} ${CMAKE_Pascal_OSX_FLAGS}")
       
   168     endif(CMAKE_OSX_SYSROOT)
       
   169   endif(APPLE)
       
   170     SET(CMAKE_Pascal_COMPILE_OBJECT
       
   171       "<CMAKE_Pascal_COMPILER> -Cn -FE${EXECUTABLE_OUTPUT_PATH} -FU${CMAKE_CURRENT_BINARY_DIR}/<OBJECT_DIR> -Fi${CMAKE_CURRENT_BINARY_DIR} -FD${CMAKE_C_COMPILER_DIR} ${CMAKE_Pascal_OSX_FLAGS} <FLAGS> <SOURCE>")
   162 ENDIF(NOT CMAKE_Pascal_COMPILE_OBJECT)
   172 ENDIF(NOT CMAKE_Pascal_COMPILE_OBJECT)
   163 
   173 
   164 
   174 # link Pascal objects in a single executable
   165 IF(NOT CMAKE_Pascal_LINK_EXECUTABLE)
   175 IF(NOT CMAKE_Pascal_LINK_EXECUTABLE)
   166 #GET_FILENAME_COMPONENT(COMPILER_LOCATION "${CMAKE_Pascal_COMPILER}" PATH)
       
   167     set(CMAKE_Pascal_LINK_EXECUTABLE "${EXECUTABLE_OUTPUT_PATH}/ppas.sh")
   176     set(CMAKE_Pascal_LINK_EXECUTABLE "${EXECUTABLE_OUTPUT_PATH}/ppas.sh")
   168 #  SET(CMAKE_Pascal_LINK_EXECUTABLE "${CMAKE_Pascal_COMPILER} <CMAKE_Pascal_LINK_FLAGS> <LINK_FLAGS> <TARGET_BASE>.adb -cargs <FLAGS> -largs <LINK_LIBRARIES>")
   177 #  SET(CMAKE_Pascal_LINK_EXECUTABLE "${CMAKE_Pascal_COMPILER} <CMAKE_Pascal_LINK_FLAGS> <LINK_FLAGS> <TARGET_BASE>.adb -cargs <FLAGS> -largs <LINK_LIBRARIES>")
   169 ENDIF(NOT CMAKE_Pascal_LINK_EXECUTABLE)
   178 ENDIF(NOT CMAKE_Pascal_LINK_EXECUTABLE)
   170 
   179 
   171 IF(CMAKE_Ada_STANDARD_LIBRARIES_INIT)
   180 IF(CMAKE_Ada_STANDARD_LIBRARIES_INIT)