diff options
Diffstat (limited to 'ConfigureChecks.cmake')
-rw-r--r-- | ConfigureChecks.cmake | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake new file mode 100644 index 0000000..c6003b0 --- /dev/null +++ b/ConfigureChecks.cmake @@ -0,0 +1,124 @@ +########################################### +# # +# Improvements and feedback are welcome # +# # +# This file is released under GPL >= 3 # +# # +########################################### + +# required stuff +find_package( TQt ) +find_package( TDE ) + +tde_setup_architecture_flags( ) + +include(TestBigEndian) +test_big_endian(WORDS_BIGENDIAN) + +tde_setup_largefiles( ) + + +##### check for gcc visibility support + +if( WITH_GCC_VISIBILITY ) + tde_setup_gcc_visibility( ) +endif( WITH_GCC_VISIBILITY ) + + +##### look for gpsim + +if( NOT WITH_GPSIM ) + set( NO_GPSIM 1 ) + else() + find_path( HAVE_GPSIM_INCLUDE "gpsim/cod.h" ) + find_library( HAVE_GPSIM_LIBRARY gpsim) + + if( (NOT HAVE_GPSIM_INCLUDE) OR (NOT HAVE_GPSIM_LIBRARY) ) + tde_message_fatal( "gpsim support have been requested but was not found on your system" ) + else() + set( GPSIM_INCLUDE_DIRS ${HAVE_GPSIM_INCLUDE} ) + set( GPSIM_LIBRARIES gpsim;gpsimcli ) + +##### glib-1.2 or glib-2.0 + + pkg_search_module( GLIB glib-2.0 glib ) + message( STATUS "glib version: ${GLIB_VERSION}" ) + + if( NOT GLIB_FOUND ) + tde_message_fatal( "glib is required but was not found on your system" ) + endif() + + tde_save( CMAKE_REQUIRED_INCLUDES ) + set( CMAKE_REQUIRED_INCLUDES ${GLIB_INCLUDE_DIRS} ${GPSIM_INCLUDE_DIRS}) + +##### check for gpsim version + + check_cxx_source_compiles( " + #include <gpsim/interface.h> + #include <gpsim/gpsim_interface.h> + #include <gpsim/breakpoints.h> + #include <gpsim/gpsim_time.h> + void func() + { + (void)cycles; + (void)initialize_gpsim_core(); + (void)load_symbol_file(0,0); + } + int main() + { + return 0; + } " + GPSIM_0_21_4 + ) + + check_cxx_source_compiles( " + #include <gpsim/interface.h> + #include <gpsim/gpsim_interface.h> + #include <gpsim/breakpoints.h> + #include <gpsim/gpsim_time.h> + #include <gpsim/symbol.h> + #include <gpsim/program_files.h> + void func() + { + (void)cycles; + (void)initialize_gpsim_core(); + } + int main() + { + return 0; + } " + GPSIM_0_21_11 + ) + + check_cxx_source_compiles( " + #include <gpsim/ValueCollections.h> + int main() + { + return 0; + } " + GPSIM_0_21_12 + ) + + check_cxx_source_compiles( " + #include <gpsim/pic-processor.h> + void func() + { + pic_processor *Processor; + sizeof(Processor->Wreg); + } + int main() + { + return 0; + } " + GPSIM_0_27_0 + ) + tde_restore( CMAKE_REQUIRED_INCLUDES ) + endif((NOT HAVE_GPSIM_INCLUDE) OR (NOT HAVE_GPSIM_LIBRARY)) +endif( NOT WITH_GPSIM ) + + +##### mechanics + +if( WITH_MECHANICS ) + set( MECHANICS 1 ) +endif() |