forked from indilib/indi-3rdparty
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
66 lines (46 loc) · 2.35 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
cmake_minimum_required(VERSION 3.0)
PROJECT(indi_starbook CXX C)
LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/")
LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../cmake_modules/")
include(GNUInstallDirs)
set(STARBOOK_DRIVER_VERSION_MAJOR 0)
set(STARBOOK_DRIVER_VERSION_MINOR 8)
find_package(INDI REQUIRED)
find_package(CURL REQUIRED)
find_package(Nova REQUIRED)
if (CMAKE_VERSION VERSION_LESS 3.12.0)
set(CURL ${CURL_LIBRARIES})
else()
set(CURL CURL::libcurl)
endif()
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/indi_starbook_telescope.xml.cmake ${CMAKE_CURRENT_BINARY_DIR}/indi_starbook_telescope.xml)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
include_directories(${INDI_INCLUDE_DIR})
include_directories(${NOVA_INCLUDE_DIR})
include_directories(${CURL_INCLUDE_DIR})
include(CMakeCommon)
############# STARBOOK ###############
set(indi_starbook_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/indi_starbook.cpp ${CMAKE_CURRENT_SOURCE_DIR}/starbook_types.cpp)
add_executable(indi_starbook_telescope ${indi_starbook_SRCS} connectioncurl.cpp connectioncurl.h command_interface.cpp command_interface.h)
target_link_libraries(indi_starbook_telescope ${INDI_LIBRARIES} ${NOVA_LIBRARIES} ${CURL})
install(TARGETS indi_starbook_telescope RUNTIME DESTINATION bin)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/indi_starbook_telescope.xml DESTINATION ${INDI_DATA_DIR})
#####################################
#OPTION(INDI_BUILD_UNITTESTS "manual switch" on)
if (INDI_BUILD_UNITTESTS)
# Workaround for fixing a linking error caused by "-pie" flag in CMakeCommon
if (NOT APPLE)
set(CMAKE_EXE_LINKER_FLAGS "-Wl,-z,nodump -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now")
endif ()
enable_testing()
find_package(GTest REQUIRED)
include_directories(${GTEST_INCLUDE_DIRS})
add_executable(test_starbook test_starbook.cpp ${indi_starbook_SRCS} connectioncurl.cpp connectioncurl.h command_interface.cpp command_interface.h)
# test shouldn't be so dependent on external libs, but here we are
target_link_libraries(test_starbook
${INDI_LIBRARIES} ${NOVA_LIBRARIES} ${CURL} ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}
)
add_test(run-tests test_starbook)
endif ()