2016-07-31 10:02:06 -05:00
set ( MYDDAS_YPP
m y d d a s . y p p
m y d d a s _ a s s e r t _ p r e d i c a t e s . y p p
m y d d a s _ t o p _ l e v e l . y p p
m y d d a s _ e r r o r s . y p p
m y d d a s _ p r o l o g 2 s q l . y p p
m y d d a s _ m y s q l . y p p
m y d d a s _ u t i l _ p r e d i c a t e s . y p p
m y d d a s _ p r o l o g 2 s q l _ o p t i m i z e r . y p p )
set ( MYDDAS_DRIVERS
2016-11-11 01:23:34 -06:00
" m y d d a s _ d r i v e r . y p p "
2016-07-31 10:02:06 -05:00
)
2016-11-11 01:23:34 -06:00
message ( "libpl ${libpl}" )
2016-11-23 22:35:39 -06:00
if ( 0 )
2016-08-30 08:29:40 -05:00
set ( PREFIX ${ libpl } )
else ( )
set ( PREFIX ${ CMAKE_CURRENT_BINARY_DIR } )
endif ( )
2016-07-31 10:02:06 -05:00
get_property ( MYDDAS_FLAGS GLOBAL PROPERTY COMPILE_DEFINITIONS )
2016-04-10 06:21:17 -07:00
2016-04-05 08:18:09 +01:00
function ( cpp_compile output filename )
2016-07-31 10:02:06 -05:00
get_filename_component ( base ${ filename } NAME_WE )
2016-08-30 08:29:40 -05:00
set ( base_abs ${ PREFIX } / ${ base } )
2016-07-31 10:02:06 -05:00
set ( outfile ${ base_abs } .yap )
set ( ${ output } ${ ${output } } ${ outfile } PARENT_SCOPE )
IF ( MSVC )
add_custom_command (
O U T P U T $ { o u t f i l e }
C O M M A N D $ { C M A K E _ C _ C O M P I L E R } $ { M Y D D A S _ F L A G S } / E P / P $ { o u t f i l e } $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / $ { f i l e n a m e }
D E P E N D S " $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / $ { f i l e n a m e } " )
2016-11-11 01:23:34 -06:00
ELSE ( MSVC )
2016-07-31 10:02:06 -05:00
add_custom_command (
O U T P U T $ { o u t f i l e }
C O M M A N D $ { C M A K E _ C _ C O M P I L E R } $ { M Y D D A S _ F L A G S } - x c - E - P - w $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / $ { f i l e n a m e } - o $ { o u t f i l e }
D E P E N D S " $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / $ { f i l e n a m e } " )
ENDIF ( MSVC )
2016-04-10 06:21:17 -07:00
set_source_files_properties ( ${ outfile } PROPERTIES GENERATED TRUE )
2016-04-05 08:18:09 +01:00
endfunction ( )
2016-07-31 10:02:06 -05:00
function ( cpp_driver output dbms filename )
2016-11-23 22:35:39 -06:00
if ( 0 )
2016-11-11 01:23:34 -06:00
set ( outfile ${ libpl } /myddas_ ${ dbms } .yap )
else ( )
2016-07-31 10:02:06 -05:00
set ( outfile ${ CMAKE_CURRENT_BINARY_DIR } /myddas_ ${ dbms } .yap )
2016-11-11 01:23:34 -06:00
endif ( )
2016-07-31 10:02:06 -05:00
set ( ${ output } ${ ${output } } ${ outfile } PARENT_SCOPE )
IF ( MSVC )
add_custom_command (
O U T P U T $ { o u t f i l e }
C O M M A N D $ { C M A K E _ C _ C O M P I L E R } - D $ { d b m s } / E P / P $ { o u t f i l e } $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / $ { f i l e n a m e }
D E P E N D S " $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / $ { f i l e n a m e } " )
else ( )
add_custom_command (
O U T P U T $ { o u t f i l e }
C O M M A N D $ { C M A K E _ C _ C O M P I L E R } - D $ { d b m s } - x c - E - P - w $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / $ { f i l e n a m e } - o $ { o u t f i l e }
D E P E N D S " $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / $ { f i l e n a m e } " )
ENDIF ( MSVC )
set_source_files_properties ( ${ outfile } PROPERTIES GENERATED TRUE )
endfunction ( )
set ( MYDDAS_DBMS sqlite3 postgres odbc )
2016-04-05 08:18:09 +01:00
2016-07-31 10:02:06 -05:00
foreach ( file ${ MYDDAS_YPP } )
cpp_compile ( MYDDAS_YAP ${ file } )
endforeach ( )
foreach ( driver ${ MYDDAS_DBMS } )
cpp_driver ( MYDDAS_YAP ${ driver } myddas_driver.ypp )
endforeach ( )
2016-04-05 08:18:09 +01:00
2016-11-23 22:35:39 -06:00
add_custom_target ( plmyddas ALL DEPENDS ${ MYDDAS_YAP } )
2016-04-12 16:22:53 +01:00
2016-11-23 22:35:39 -06:00
install ( FILES ${ MYDDAS_YAP }
2016-07-31 10:02:06 -05:00
D E S T I N A T I O N $ { l i b p l }
)