X-Git-Url: https://git.ao2.it/libam7xxx.git/blobdiff_plain/98446344ce24a7fee8f1609d4d4e655b136b7fbf..3339bee3f62dbfa3586cc4db5201f7fc704ab037:/src/CMakeLists.txt diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..39f4e86 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,44 @@ +add_definitions("-D_BSD_SOURCE") # for htole32() +add_definitions("-D_POSIX_C_SOURCE=2") # for getopt() + +# Find packages needed to build library +find_package(libusb-1.0 REQUIRED) +include_directories(${LIBUSB_1_INCLUDE_DIRS}) + +set(SRC am7xxx.c) + +# Build the library +add_library(am7xxx SHARED ${SRC}) +set_target_properties(am7xxx PROPERTIES + VERSION ${PROJECT_VER} + SOVERSION ${PROJECT_APIVER}) +install(TARGETS am7xxx + DESTINATION "${CMAKE_INSTALL_PREFIX}/lib") + +add_library(am7xxx-static STATIC ${SRC}) +set_target_properties(am7xxx-static PROPERTIES OUTPUT_NAME am7xxx) +if(UNIX AND NOT APPLE) + set_target_properties(am7xxx-static PROPERTIES COMPILE_FLAGS "-fPIC") +endif() +install(TARGETS am7xxx-static + DESTINATION "${CMAKE_INSTALL_PREFIX}/lib") + +target_link_libraries(am7xxx ${LIBUSB_1_LIBRARIES}) +target_link_libraries(am7xxx-static ${LIBUSB_1_LIBRARIES}) + +# Install the header files +install(FILES "am7xxx.h" + DESTINATION "${CMAKE_INSTALL_PREFIX}/include") + +if(UNIX AND NOT APPLE) + # Produce a pkg-config file for linking against the shared lib + configure_file ("libam7xxx.pc.in" "libam7xxx.pc" @ONLY) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libam7xxx.pc" + DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig") +endif() + +# Build the test app +add_executable(picoproj picoproj.c) +target_link_libraries(picoproj am7xxx) +install(TARGETS picoproj + DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")