Ignore:
Timestamp:
Jun 28, 2011, 12:31:47 PM (13 years ago)
Author:
frichard
Message:

-Version 0.8 de libini
-Formule de Marc
-Nouvelles fonctionnalités (goto nom-de l'objet etc...)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BAORadio/libindi/libindi/CMakeLists.txt

    r501 r504  
    11cmake_minimum_required(VERSION 2.4.7)
    2 
    3  if(COMMAND cmake_policy)
    4       cmake_policy(SET CMP0003 NEW)
    5     endif(COMMAND cmake_policy)
    6 
    7 
    82
    93##################  INDI version  ################################
    104set(INDI_SOVERSION "0")
    115set(CMAKE_INDI_VERSION_MAJOR 0)
    12 set(CMAKE_INDI_VERSION_MINOR 7)
     6set(CMAKE_INDI_VERSION_MINOR 8)
    137set(CMAKE_INDI_VERSION_RELEASE 0)
    148set(CMAKE_INDI_VERSION_STRING "${CMAKE_INDI_VERSION_MAJOR}.${CMAKE_INDI_VERSION_MINOR}.${CMAKE_INDI_VERSION_RELEASE}")
     
    3832find_package(ZLIB REQUIRED)
    3933
     34FIND_PACKAGE(Boost)
     35IF (BOOST_FOUND)
     36    INCLUDE_DIRECTORIES(${BOOST_INCLUDE_DIR})
     37ENDIF()
     38
     39
    4040macro_optional_find_package(USB)
    41 macro_log_feature(LIBUSB_FOUND "libusb" "User level access to USB devices" "http://indi.sf.net" FALSE "" "Provides support for USB based drivers in INDI.")
     41macro_log_feature(LIBUSB_FOUND "libusb" "User level access to USB devices" "http://www.libusb.org" FALSE "" "Provides support for USB based drivers in INDI.")
    4242
    4343macro_optional_find_package(CFITSIO)
    4444
    4545if (NOT CFITSIO_FOUND OR CFITSIO_VERSION_MAJOR LESS 3)
    46   message(FATAL_ERROR "CFITSIO version too old, Please install cfitsio 3.x and try again. http://indi.sf.net")
     46  message(FATAL_ERROR "CFITSIO version too old, Please install cfitsio 3.x and try again. http://heasarc.gsfc.nasa.gov/fitsio/fitsio.html")
    4747endif (NOT CFITSIO_FOUND OR CFITSIO_VERSION_MAJOR LESS 3)
    4848
     
    5050macro_log_feature(CFITSIO_FOUND "libcfitsio" "A library for reading and writing data files in FITS (Flexible Image Transport System) data format" "http://indi.sf.net" FALSE "3.03" "Provides INDI with FITS I/O support.")
    5151
    52 
    53 macro_optional_find_package(FLI)
    54 macro_log_feature(FLI_FOUND "libfli" "Finger Lakes Instrument Library" "http://indi.sourceforge.net/" FALSE "1.71" "Provides INDI with support for controlling FLI CCDS & Filter Wheels.")
    5552
    5653macro_optional_find_package(Nova)
     
    6158check_include_files(termios.h TERMIOS_FOUND)
    6259macro_bool_to_01(TERMIOS_FOUND HAVE_TERMIOS_H)
     60
     61configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h )
     62
     63if(COMMAND cmake_policy)
     64 cmake_policy(SET CMP0003 NEW)
     65endif(COMMAND cmake_policy)
    6366
    6467include_directories( ${CMAKE_CURRENT_BINARY_DIR})
     
    7477    include_directories(${NOVA_INCLUDE_DIR})
    7578endif (NOVA_FOUND)
    76 
    77 if (FLI_FOUND)
    78     include_directories(${FLI_INCLUDE_DIR})
    79 endif (FLI_FOUND)
    8079
    8180set(liblilxml_SRCS  ${CMAKE_SOURCE_DIR}/libs/lilxml.c )
     
    10099    )
    101100
    102 set (indibase_SRCS
     101set (indiclient_SRCS
    103102        ${CMAKE_SOURCE_DIR}/libs/indibase/basedriver.cpp
    104103        ${CMAKE_SOURCE_DIR}/libs/indibase/baseclient.cpp
    105104    )
    106105
    107 set (indidefaultdevice_SRCS
     106set (indidriver_SRCS
    108107        ${CMAKE_SOURCE_DIR}/libs/indibase/basedriver.cpp
    109108        ${CMAKE_SOURCE_DIR}/libs/indibase/defaultdriver.cpp
     109        ${CMAKE_SOURCE_DIR}/libs/indibase/indiccd.cpp
     110        ${CMAKE_SOURCE_DIR}/libs/indibase/inditelescope.cpp
     111        ${CMAKE_SOURCE_DIR}/libs/indibase/indifilterwheel.cpp
     112        ${CMAKE_SOURCE_DIR}/libs/indibase/indifocuser.cpp
     113        ${CMAKE_SOURCE_DIR}/libs/indibase/indiusbdevice.cpp
    110114    )
    111115
     
    127131install(TARGETS indiserver RUNTIME DESTINATION bin )
    128132
    129 
    130 ######################################
    131 ######## INDI Shared Library #########
    132 ######################################
     133#################################################
     134############# INDI Shared Library ###############
     135# To offer lilxml and communination routines    #
     136# Mostly used by generic clients                #
     137#################################################
    133138add_library(indi SHARED ${libindicom_SRCS} ${liblilxml_SRCS})
    134139target_link_libraries(indi m z)
     
    140145target_link_libraries(indi ${CFITSIO_LIBRARIES})
    141146endif(CFITSIO_FOUND)
    142 if (FLI_FOUND)
    143 target_link_libraries(indi ${FLI_LIBRARIES})
    144 endif(FLI_FOUND)
    145147
    146148install(TARGETS indi LIBRARY DESTINATION lib${LIB_POSTFIX})
    147149set_target_properties(indi PROPERTIES VERSION ${CMAKE_INDI_VERSION_STRING} SOVERSION ${INDI_SOVERSION})
    148150
    149 
    150 ######################################
    151 ######## INDI Static Library #########
    152 ######################################
    153 add_library(indidriver STATIC ${indimain_SRCS})
     151##################################################
     152############ INDI Main Static Library ############
     153# To link with main() for 3rd party drivers      #
     154##################################################
     155add_library(indimain STATIC ${indimain_SRCS})
     156install(TARGETS indimain ARCHIVE DESTINATION lib${LIB_POSTFIX})
     157
     158##################################################
     159###### INDI Default Driver Static Library ########
     160# To link with main() and indibase classes       #
     161##################################################
     162add_library(indidriver STATIC ${indimain_SRCS} ${indidriver_SRCS})
    154163install(TARGETS indidriver ARCHIVE DESTINATION lib${LIB_POSTFIX})
    155164
    156 ##############################################
    157 ######## INDI Default Driver Library #########
    158 ##############################################
    159 add_library(indidefaultdriver STATIC ${indimain_SRCS} ${indidefaultdevice_SRCS})
    160 install(TARGETS indidefaultdriver ARCHIVE DESTINATION lib${LIB_POSTFIX})
    161 
    162 ##############################################
    163 ######## INDI Client Library #########
    164 ##############################################
    165 add_library(indiclient STATIC ${indibase_SRCS})
    166 target_link_libraries(indiclient indi)
     165##################################################
     166########### INDI Client Static Library ###########
     167##################################################
     168add_library(indiclient STATIC ${indiclient_SRCS})
     169target_link_libraries(indiclient indi pthread)
    167170install(TARGETS indiclient ARCHIVE DESTINATION lib${LIB_POSTFIX})
    168171
     
    324327install(TARGETS indi_BAO RUNTIME DESTINATION bin )
    325328
     329########### Syncscan ###############
     330set(synscan_SRCS
     331   ${indimain_SRCS}
     332   ${CMAKE_SOURCE_DIR}/drivers/telescope/synscanmount.cpp )
     333
     334add_executable(indi_synscan ${synscan_SRCS} ${liblilxml_SRCS} ${libindicom_SRCS})
     335
     336target_link_libraries(indi_synscan indidriver m z)
     337
     338if (NOVA_FOUND)
     339  target_link_libraries(indi_synscan ${NOVA_LIBRARIES})
     340endif (NOVA_FOUND)
     341
     342install(TARGETS indi_synscan RUNTIME DESTINATION bin )
     343
     344########### Telescope Simulator ##############
     345set(telescopesimulator_SRCS
     346        ${indimain_SRCS}
     347        ${CMAKE_SOURCE_DIR}/drivers/telescope/telescope_simulator.cpp
     348   )
     349
     350add_executable(indi_simulator_telescope ${telescopesimulator_SRCS} ${liblilxml_SRCS} ${libindicom_SRCS})
     351
     352target_link_libraries(indi_simulator_telescope indidriver ${CFITSIO_LIBRARIES} m z pthread)
     353
     354if (NOVA_FOUND)
     355  target_link_libraries(indi_simulator_telescope ${NOVA_LIBRARIES})
     356endif (NOVA_FOUND)
     357
     358install(TARGETS indi_simulator_telescope RUNTIME DESTINATION bin )
     359
    326360#####################################
    327361########## FOCUSER GROUP ############
    328362#####################################
    329363
    330 ###### FLI Precision Digital Focuser ######
    331 if (FLI_FOUND)
    332 set(flipdf_SRCS
    333         ${indimain_SRCS}
    334         ${CMAKE_SOURCE_DIR}/drivers/focuser/fli_pdf.c
    335 )
    336 
    337 add_executable(indi_fli_pdf ${flipdf_SRCS} ${liblilxml_SRCS} ${libindicom_SRCS})
    338 
    339 target_link_libraries(indi_fli_pdf m ${FLI_LIBRARIES})
    340 
    341 if (NOVA_FOUND)
    342   target_link_libraries(indi_fli_pdf ${NOVA_LIBRARIES})
    343 endif (NOVA_FOUND)
    344 
    345 install(TARGETS indi_fli_pdf RUNTIME DESTINATION bin )
    346 endif(FLI_FOUND)
     364########### CCD Simulator ##############
     365if (CFITSIO_FOUND)
     366
     367set(ccdsimulator_SRCS
     368        ${indimain_SRCS}
     369        ${CMAKE_SOURCE_DIR}/drivers/ccd/ccd_simulator.cpp
     370   )
     371
     372add_executable(indi_simulator_ccd ${ccdsimulator_SRCS} ${liblilxml_SRCS} ${libindicom_SRCS})
     373
     374target_link_libraries(indi_simulator_ccd indidriver ${CFITSIO_LIBRARIES} m z pthread)
     375
     376if (NOVA_FOUND)
     377  target_link_libraries(indi_simulator_ccd ${NOVA_LIBRARIES})
     378endif (NOVA_FOUND)
     379
     380install(TARGETS indi_simulator_ccd RUNTIME DESTINATION bin )
     381
     382endif (CFITSIO_FOUND)
     383
     384
     385#####################################
     386########## FOCUSER GROUP ############
     387#####################################
     388
    347389#################################################################################
    348390
     
    355397   )
    356398
    357 add_executable(indi_robofocus ${robofocus_SRCS} ${liblilxml_SRCS} ${libindicom_SRCS})
    358 
    359 target_link_libraries(indi_robofocus m)
    360 
    361 if (NOVA_FOUND)
    362   target_link_libraries(indi_robofocus ${NOVA_LIBRARIES})
    363 endif (NOVA_FOUND)
    364 
    365 install(TARGETS indi_robofocus RUNTIME DESTINATION bin )
     399add_executable(indi_robo_focus ${robofocus_SRCS} ${liblilxml_SRCS} ${libindicom_SRCS})
     400
     401target_link_libraries(indi_robo_focus m)
     402
     403if (NOVA_FOUND)
     404  target_link_libraries(indi_robo_focus ${NOVA_LIBRARIES})
     405endif (NOVA_FOUND)
     406
     407install(TARGETS indi_robo_focus RUNTIME DESTINATION bin )
     408
     409################ Optec TCF-S ################
     410
     411set(tcfs_SRCS
     412        ${indimain_SRCS}
     413        ${CMAKE_SOURCE_DIR}/drivers/focuser/tcfs.cpp
     414   )
     415
     416add_executable(indi_tcfs_focus ${tcfs_SRCS} ${liblilxml_SRCS} ${libindicom_SRCS})
     417
     418target_link_libraries(indi_tcfs_focus indidriver m z)
     419
     420if (NOVA_FOUND)
     421  target_link_libraries(indi_tcfs_focus ${NOVA_LIBRARIES})
     422endif (NOVA_FOUND)
     423
     424install(TARGETS indi_tcfs_focus RUNTIME DESTINATION bin )
     425
     426file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/make_tcfs_symlink.cmake
     427"exec_program(${CMAKE_COMMAND} ARGS -E create_symlink ${BIN_INSTALL_DIR}/indi_tcfs_focus ${BUILD_ROOT}${BIN_INSTALL_DIR}/indi_tcfs3_focus)\n")
     428set_target_properties(indi_tcfs_focus PROPERTIES POST_INSTALL_SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/make_tcfs_symlink.cmake)
    366429
    367430#################################################################################
     
    387450install(TARGETS indi_trutech_wheel RUNTIME DESTINATION bin )
    388451
    389 #################################################################################
    390 
    391 ########## FLI Filter Wheel ############
    392 if (FLI_FOUND)
    393 set(fliwheel_SRCS
    394         ${indimain_SRCS}
    395         ${CMAKE_SOURCE_DIR}/drivers/filter_wheel/fli_wheel.c
    396    )
    397 
    398 add_executable(indi_fli_wheel ${fliwheel_SRCS}  ${liblilxml_SRCS} ${libindicom_SRCS})
    399 
    400 target_link_libraries(indi_fli_wheel ${FLI_LIBRARIES} m)
    401 
    402 if (NOVA_FOUND)
    403   target_link_libraries(indi_fli_wheel ${NOVA_LIBRARIES})
    404 endif (NOVA_FOUND)
    405 
    406 install(TARGETS indi_fli_wheel RUNTIME DESTINATION bin )
    407 endif (FLI_FOUND)
    408 #################################################################################
    409 
    410 #######################################
    411 ############# CCD GROUP ###############
    412 #######################################
    413 
    414 ############# FLI CCD ###############
    415 if (CFITSIO_FOUND AND FLI_FOUND)
    416 
    417 set(fliccd_SRCS
    418         ${indimain_SRCS}
    419         ${CMAKE_SOURCE_DIR}/drivers/ccd/fli_ccd.c
    420 )
    421 
    422 add_executable(indi_fli_ccd ${fliccd_SRCS} ${liblilxml_SRCS} ${libindicom_SRCS})
    423 
    424 target_link_libraries(indi_fli_ccd ${FLI_LIBRARIES} ${CFITSIO_LIBRARIES} m z)
    425 
    426 if (NOVA_FOUND)
    427   target_link_libraries(indi_fli_ccd ${NOVA_LIBRARIES})
    428 endif (NOVA_FOUND)
    429 
    430 install(TARGETS indi_fli_ccd RUNTIME DESTINATION bin )
    431 
    432 endif (CFITSIO_FOUND AND FLI_FOUND)
     452########### Filter Simulator ##############
     453set(filtersimulator_SRCS
     454        ${indimain_SRCS}
     455        ${CMAKE_SOURCE_DIR}/drivers/filter_wheel/filter_simulator.cpp
     456   )
     457
     458add_executable(indi_simulator_wheel ${filtersimulator_SRCS} ${liblilxml_SRCS} ${libindicom_SRCS})
     459
     460target_link_libraries(indi_simulator_wheel indidriver ${CFITSIO_LIBRARIES} m z pthread)
     461
     462if (NOVA_FOUND)
     463  target_link_libraries(indi_simulator_wheel ${NOVA_LIBRARIES})
     464endif (NOVA_FOUND)
     465
     466install(TARGETS indi_simulator_wheel RUNTIME DESTINATION bin )
     467
    433468#################################################################################
    434469
     
    458493
    459494### Meade Lunar Planetary Imager ########
     495if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
    460496if (CFITSIO_FOUND)
    461497
     
    479515
    480516endif (CFITSIO_FOUND)
     517endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
    481518
    482519#################################################################################
    483520
    484521########### V4L Philips ##############
     522if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
    485523if (CFITSIO_FOUND)
    486524
     
    503541
    504542endif (CFITSIO_FOUND)
     543endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
    505544
    506545#################################################################################
    507546
    508547########### Generic V4L Driver ###############
     548if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
    509549if (CFITSIO_FOUND)
    510550
     
    526566
    527567endif (CFITSIO_FOUND)
     568endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
    528569
    529570#################################################################################
     
    630671
    631672########### Tutorial four ##############
     673if (CFITSIO_FOUND)
     674
    632675set(tutorialfour_SRCS
    633676        ${indimain_SRCS}
     
    637680add_executable(tutorial_four ${tutorialfour_SRCS} ${liblilxml_SRCS} ${libindicom_SRCS})
    638681
    639 target_link_libraries(tutorial_four indidefaultdriver indiclient m z pthread)
     682target_link_libraries(tutorial_four indidriver ${CFITSIO_LIBRARIES} m z pthread)
    640683
    641684if (NOVA_FOUND)
     
    643686endif (NOVA_FOUND)
    644687
     688endif (CFITSIO_FOUND)
    645689
    646690########### Tutorial dome ##############
     
    672716endif (NOVA_FOUND)
    673717
    674 #################################################################################
    675 
    676 install( FILES drivers.xml DESTINATION ${DATA_INSTALL_DIR})
     718
     719########### Client Tutorial ##############
     720set(tutorialclient_SRCS
     721        ${CMAKE_SOURCE_DIR}/examples/tutorial_client.cpp
     722   )
     723
     724add_executable(tutorial_client ${tutorialclient_SRCS} ${liblilxml_SRCS} ${libindicom_SRCS})
     725
     726target_link_libraries(tutorial_client indiclient m)
     727
     728if (NOVA_FOUND)
     729  target_link_libraries(tutorial_client ${NOVA_LIBRARIES})
     730endif (NOVA_FOUND)
     731
     732#################################################################################
     733
     734install( FILES drivers.xml ${CMAKE_SOURCE_DIR}/drivers/focuser/indi_tcfs_sk.xml DESTINATION ${DATA_INSTALL_DIR})
    677735
    678736install( FILES indiapi.h indidevapi.h base64.h eventloop.h indidriver.h ${CMAKE_SOURCE_DIR}/libs/lilxml.h ${CMAKE_SOURCE_DIR}/libs/indibase/indibase.h
    679737${CMAKE_SOURCE_DIR}/libs/indibase/basedriver.h  ${CMAKE_SOURCE_DIR}/libs/indibase/defaultdriver.h
     738${CMAKE_SOURCE_DIR}/libs/indibase/indiccd.h  ${CMAKE_SOURCE_DIR}/libs/indibase/indifilterwheel.h
     739${CMAKE_SOURCE_DIR}/libs/indibase/indifocuser.h  ${CMAKE_SOURCE_DIR}/libs/indibase/inditelescope.h
    680740${CMAKE_SOURCE_DIR}/libs/indibase/baseclient.h ${CMAKE_SOURCE_DIR}/libs/indicom.h
     741${CMAKE_SOURCE_DIR}/libs/indibase/indiusbdevice.h
    681742 DESTINATION ${INCLUDE_INSTALL_DIR}/libindi COMPONENT Devel)
    682743
    683744configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libindi.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libindi.pc @ONLY)
    684745install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libindi.pc DESTINATION ${PKGCONFIG_INSTALL_PREFIX})
    685 
Note: See TracChangeset for help on using the changeset viewer.