63 lines
1.7 KiB
CMake
63 lines
1.7 KiB
CMake
add_library(CesiumIonClient "")
|
|
|
|
configure_cesium_library(CesiumIonClient)
|
|
|
|
cesium_glob_files(CESIUM_ION_CLIENT_SOURCES src/*.cpp)
|
|
cesium_glob_files(CESIUM_ION_CLIENT_HEADERS src/*.h)
|
|
cesium_glob_files(CESIUM_ION_CLIENT_PUBLIC_HEADERS include/CesiumIonClient/*.h)
|
|
cesium_glob_files(CESIUM_ION_CLIENT_TEST_SOURCES test/*.cpp)
|
|
cesium_glob_files(CESIUM_ION_CLIENT_TEST_HEADERS test/*.h)
|
|
|
|
set_target_properties(CesiumIonClient
|
|
PROPERTIES
|
|
TEST_SOURCES "${CESIUM_ION_CLIENT_TEST_SOURCES}"
|
|
TEST_HEADERS "${CESIUM_ION_CLIENT_TEST_HEADERS}"
|
|
TEST_DATA_DIR ${CMAKE_CURRENT_LIST_DIR}/test/data
|
|
)
|
|
|
|
set_target_properties(CesiumIonClient
|
|
PROPERTIES
|
|
PUBLIC_HEADER "${CESIUM_ION_CLIENT_PUBLIC_HEADERS}"
|
|
)
|
|
|
|
target_sources(
|
|
CesiumIonClient
|
|
PRIVATE
|
|
${CESIUM_ION_CLIENT_SOURCES}
|
|
${CESIUM_ION_CLIENT_HEADERS}
|
|
PUBLIC
|
|
${CESIUM_ION_CLIENT_PUBLIC_HEADERS}
|
|
)
|
|
|
|
target_include_directories(
|
|
CesiumIonClient
|
|
SYSTEM PUBLIC
|
|
${CMAKE_CURRENT_LIST_DIR}/include
|
|
)
|
|
|
|
target_link_libraries(CesiumIonClient
|
|
PUBLIC
|
|
CesiumAsync
|
|
CesiumUtility
|
|
PRIVATE
|
|
modp_b64
|
|
PicoSHA2
|
|
)
|
|
|
|
if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "WindowsStore")
|
|
target_link_libraries(CesiumIonClient PRIVATE csprng)
|
|
endif()
|
|
|
|
# httplib erroneously does not declare its include a `SYSTEM` include, so
|
|
# we must extract its include_directories using this function and manually
|
|
# reinclude it as 'SYSTEM'.
|
|
target_link_libraries_system(CesiumIonClient
|
|
PRIVATE
|
|
httplib::httplib
|
|
)
|
|
|
|
install(TARGETS CesiumIonClient
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/CesiumIonClient
|
|
)
|