Changeset 504 for BAORadio/libindi/libindi/CMakeLists.txt
- Timestamp:
- Jun 28, 2011, 12:31:47 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BAORadio/libindi/libindi/CMakeLists.txt
r501 r504 1 1 cmake_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 8 2 9 3 ################## INDI version ################################ 10 4 set(INDI_SOVERSION "0") 11 5 set(CMAKE_INDI_VERSION_MAJOR 0) 12 set(CMAKE_INDI_VERSION_MINOR 7)6 set(CMAKE_INDI_VERSION_MINOR 8) 13 7 set(CMAKE_INDI_VERSION_RELEASE 0) 14 8 set(CMAKE_INDI_VERSION_STRING "${CMAKE_INDI_VERSION_MAJOR}.${CMAKE_INDI_VERSION_MINOR}.${CMAKE_INDI_VERSION_RELEASE}") … … 38 32 find_package(ZLIB REQUIRED) 39 33 34 FIND_PACKAGE(Boost) 35 IF (BOOST_FOUND) 36 INCLUDE_DIRECTORIES(${BOOST_INCLUDE_DIR}) 37 ENDIF() 38 39 40 40 macro_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.")41 macro_log_feature(LIBUSB_FOUND "libusb" "User level access to USB devices" "http://www.libusb.org" FALSE "" "Provides support for USB based drivers in INDI.") 42 42 43 43 macro_optional_find_package(CFITSIO) 44 44 45 45 if (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") 47 47 endif (NOT CFITSIO_FOUND OR CFITSIO_VERSION_MAJOR LESS 3) 48 48 … … 50 50 macro_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.") 51 51 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.")55 52 56 53 macro_optional_find_package(Nova) … … 61 58 check_include_files(termios.h TERMIOS_FOUND) 62 59 macro_bool_to_01(TERMIOS_FOUND HAVE_TERMIOS_H) 60 61 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h ) 62 63 if(COMMAND cmake_policy) 64 cmake_policy(SET CMP0003 NEW) 65 endif(COMMAND cmake_policy) 63 66 64 67 include_directories( ${CMAKE_CURRENT_BINARY_DIR}) … … 74 77 include_directories(${NOVA_INCLUDE_DIR}) 75 78 endif (NOVA_FOUND) 76 77 if (FLI_FOUND)78 include_directories(${FLI_INCLUDE_DIR})79 endif (FLI_FOUND)80 79 81 80 set(liblilxml_SRCS ${CMAKE_SOURCE_DIR}/libs/lilxml.c ) … … 100 99 ) 101 100 102 set (indi base_SRCS101 set (indiclient_SRCS 103 102 ${CMAKE_SOURCE_DIR}/libs/indibase/basedriver.cpp 104 103 ${CMAKE_SOURCE_DIR}/libs/indibase/baseclient.cpp 105 104 ) 106 105 107 set (indid efaultdevice_SRCS106 set (indidriver_SRCS 108 107 ${CMAKE_SOURCE_DIR}/libs/indibase/basedriver.cpp 109 108 ${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 110 114 ) 111 115 … … 127 131 install(TARGETS indiserver RUNTIME DESTINATION bin ) 128 132 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 ################################################# 133 138 add_library(indi SHARED ${libindicom_SRCS} ${liblilxml_SRCS}) 134 139 target_link_libraries(indi m z) … … 140 145 target_link_libraries(indi ${CFITSIO_LIBRARIES}) 141 146 endif(CFITSIO_FOUND) 142 if (FLI_FOUND)143 target_link_libraries(indi ${FLI_LIBRARIES})144 endif(FLI_FOUND)145 147 146 148 install(TARGETS indi LIBRARY DESTINATION lib${LIB_POSTFIX}) 147 149 set_target_properties(indi PROPERTIES VERSION ${CMAKE_INDI_VERSION_STRING} SOVERSION ${INDI_SOVERSION}) 148 150 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 ################################################## 155 add_library(indimain STATIC ${indimain_SRCS}) 156 install(TARGETS indimain ARCHIVE DESTINATION lib${LIB_POSTFIX}) 157 158 ################################################## 159 ###### INDI Default Driver Static Library ######## 160 # To link with main() and indibase classes # 161 ################################################## 162 add_library(indidriver STATIC ${indimain_SRCS} ${indidriver_SRCS}) 154 163 install(TARGETS indidriver ARCHIVE DESTINATION lib${LIB_POSTFIX}) 155 164 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 ################################################## 168 add_library(indiclient STATIC ${indiclient_SRCS}) 169 target_link_libraries(indiclient indi pthread) 167 170 install(TARGETS indiclient ARCHIVE DESTINATION lib${LIB_POSTFIX}) 168 171 … … 324 327 install(TARGETS indi_BAO RUNTIME DESTINATION bin ) 325 328 329 ########### Syncscan ############### 330 set(synscan_SRCS 331 ${indimain_SRCS} 332 ${CMAKE_SOURCE_DIR}/drivers/telescope/synscanmount.cpp ) 333 334 add_executable(indi_synscan ${synscan_SRCS} ${liblilxml_SRCS} ${libindicom_SRCS}) 335 336 target_link_libraries(indi_synscan indidriver m z) 337 338 if (NOVA_FOUND) 339 target_link_libraries(indi_synscan ${NOVA_LIBRARIES}) 340 endif (NOVA_FOUND) 341 342 install(TARGETS indi_synscan RUNTIME DESTINATION bin ) 343 344 ########### Telescope Simulator ############## 345 set(telescopesimulator_SRCS 346 ${indimain_SRCS} 347 ${CMAKE_SOURCE_DIR}/drivers/telescope/telescope_simulator.cpp 348 ) 349 350 add_executable(indi_simulator_telescope ${telescopesimulator_SRCS} ${liblilxml_SRCS} ${libindicom_SRCS}) 351 352 target_link_libraries(indi_simulator_telescope indidriver ${CFITSIO_LIBRARIES} m z pthread) 353 354 if (NOVA_FOUND) 355 target_link_libraries(indi_simulator_telescope ${NOVA_LIBRARIES}) 356 endif (NOVA_FOUND) 357 358 install(TARGETS indi_simulator_telescope RUNTIME DESTINATION bin ) 359 326 360 ##################################### 327 361 ########## FOCUSER GROUP ############ 328 362 ##################################### 329 363 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 ############## 365 if (CFITSIO_FOUND) 366 367 set(ccdsimulator_SRCS 368 ${indimain_SRCS} 369 ${CMAKE_SOURCE_DIR}/drivers/ccd/ccd_simulator.cpp 370 ) 371 372 add_executable(indi_simulator_ccd ${ccdsimulator_SRCS} ${liblilxml_SRCS} ${libindicom_SRCS}) 373 374 target_link_libraries(indi_simulator_ccd indidriver ${CFITSIO_LIBRARIES} m z pthread) 375 376 if (NOVA_FOUND) 377 target_link_libraries(indi_simulator_ccd ${NOVA_LIBRARIES}) 378 endif (NOVA_FOUND) 379 380 install(TARGETS indi_simulator_ccd RUNTIME DESTINATION bin ) 381 382 endif (CFITSIO_FOUND) 383 384 385 ##################################### 386 ########## FOCUSER GROUP ############ 387 ##################################### 388 347 389 ################################################################################# 348 390 … … 355 397 ) 356 398 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 ) 399 add_executable(indi_robo_focus ${robofocus_SRCS} ${liblilxml_SRCS} ${libindicom_SRCS}) 400 401 target_link_libraries(indi_robo_focus m) 402 403 if (NOVA_FOUND) 404 target_link_libraries(indi_robo_focus ${NOVA_LIBRARIES}) 405 endif (NOVA_FOUND) 406 407 install(TARGETS indi_robo_focus RUNTIME DESTINATION bin ) 408 409 ################ Optec TCF-S ################ 410 411 set(tcfs_SRCS 412 ${indimain_SRCS} 413 ${CMAKE_SOURCE_DIR}/drivers/focuser/tcfs.cpp 414 ) 415 416 add_executable(indi_tcfs_focus ${tcfs_SRCS} ${liblilxml_SRCS} ${libindicom_SRCS}) 417 418 target_link_libraries(indi_tcfs_focus indidriver m z) 419 420 if (NOVA_FOUND) 421 target_link_libraries(indi_tcfs_focus ${NOVA_LIBRARIES}) 422 endif (NOVA_FOUND) 423 424 install(TARGETS indi_tcfs_focus RUNTIME DESTINATION bin ) 425 426 file(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") 428 set_target_properties(indi_tcfs_focus PROPERTIES POST_INSTALL_SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/make_tcfs_symlink.cmake) 366 429 367 430 ################################################################################# … … 387 450 install(TARGETS indi_trutech_wheel RUNTIME DESTINATION bin ) 388 451 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 ############## 453 set(filtersimulator_SRCS 454 ${indimain_SRCS} 455 ${CMAKE_SOURCE_DIR}/drivers/filter_wheel/filter_simulator.cpp 456 ) 457 458 add_executable(indi_simulator_wheel ${filtersimulator_SRCS} ${liblilxml_SRCS} ${libindicom_SRCS}) 459 460 target_link_libraries(indi_simulator_wheel indidriver ${CFITSIO_LIBRARIES} m z pthread) 461 462 if (NOVA_FOUND) 463 target_link_libraries(indi_simulator_wheel ${NOVA_LIBRARIES}) 464 endif (NOVA_FOUND) 465 466 install(TARGETS indi_simulator_wheel RUNTIME DESTINATION bin ) 467 433 468 ################################################################################# 434 469 … … 458 493 459 494 ### Meade Lunar Planetary Imager ######## 495 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") 460 496 if (CFITSIO_FOUND) 461 497 … … 479 515 480 516 endif (CFITSIO_FOUND) 517 endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux") 481 518 482 519 ################################################################################# 483 520 484 521 ########### V4L Philips ############## 522 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") 485 523 if (CFITSIO_FOUND) 486 524 … … 503 541 504 542 endif (CFITSIO_FOUND) 543 endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux") 505 544 506 545 ################################################################################# 507 546 508 547 ########### Generic V4L Driver ############### 548 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") 509 549 if (CFITSIO_FOUND) 510 550 … … 526 566 527 567 endif (CFITSIO_FOUND) 568 endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux") 528 569 529 570 ################################################################################# … … 630 671 631 672 ########### Tutorial four ############## 673 if (CFITSIO_FOUND) 674 632 675 set(tutorialfour_SRCS 633 676 ${indimain_SRCS} … … 637 680 add_executable(tutorial_four ${tutorialfour_SRCS} ${liblilxml_SRCS} ${libindicom_SRCS}) 638 681 639 target_link_libraries(tutorial_four indid efaultdriver indiclientm z pthread)682 target_link_libraries(tutorial_four indidriver ${CFITSIO_LIBRARIES} m z pthread) 640 683 641 684 if (NOVA_FOUND) … … 643 686 endif (NOVA_FOUND) 644 687 688 endif (CFITSIO_FOUND) 645 689 646 690 ########### Tutorial dome ############## … … 672 716 endif (NOVA_FOUND) 673 717 674 ################################################################################# 675 676 install( FILES drivers.xml DESTINATION ${DATA_INSTALL_DIR}) 718 719 ########### Client Tutorial ############## 720 set(tutorialclient_SRCS 721 ${CMAKE_SOURCE_DIR}/examples/tutorial_client.cpp 722 ) 723 724 add_executable(tutorial_client ${tutorialclient_SRCS} ${liblilxml_SRCS} ${libindicom_SRCS}) 725 726 target_link_libraries(tutorial_client indiclient m) 727 728 if (NOVA_FOUND) 729 target_link_libraries(tutorial_client ${NOVA_LIBRARIES}) 730 endif (NOVA_FOUND) 731 732 ################################################################################# 733 734 install( FILES drivers.xml ${CMAKE_SOURCE_DIR}/drivers/focuser/indi_tcfs_sk.xml DESTINATION ${DATA_INSTALL_DIR}) 677 735 678 736 install( FILES indiapi.h indidevapi.h base64.h eventloop.h indidriver.h ${CMAKE_SOURCE_DIR}/libs/lilxml.h ${CMAKE_SOURCE_DIR}/libs/indibase/indibase.h 679 737 ${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 680 740 ${CMAKE_SOURCE_DIR}/libs/indibase/baseclient.h ${CMAKE_SOURCE_DIR}/libs/indicom.h 741 ${CMAKE_SOURCE_DIR}/libs/indibase/indiusbdevice.h 681 742 DESTINATION ${INCLUDE_INSTALL_DIR}/libindi COMPONENT Devel) 682 743 683 744 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libindi.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libindi.pc @ONLY) 684 745 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libindi.pc DESTINATION ${PKGCONFIG_INSTALL_PREFIX}) 685
Note: See TracChangeset
for help on using the changeset viewer.