add CMAKE files
authorStanislaw Wadas <s.wadas@samsung.com>
Thu, 21 May 2015 15:38:36 +0000 (17:38 +0200)
committerStanislaw Wadas <s.wadas@samsung.com>
Wed, 2 Dec 2015 12:45:16 +0000 (13:45 +0100)
Change-Id: I0eefd1ea11ee4277e4db0dce917f19f7ea1dc98f
Signed-off-by: Stanislaw Wadas <s.wadas@samsung.com>
CMakeLists.txt [new file with mode: 0644]
cmake_uninstall.cmake.in [new file with mode: 0644]

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644 (file)
index 0000000..39f2091
--- /dev/null
@@ -0,0 +1,56 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(libhusb)
+########################################################
+# Generation options:
+########################################################
+
+SET(BUILD_SHARED_LIBS true)
+
+IF(BUILD_SHARED_LIBS)
+
+       SET(HOST_CAPI_SRCS
+       src/libhusb.c
+       )
+
+       INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
+        INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
+
+       SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+       SET(PACKAGE ${PROJECT_NAME})
+       SET(LIBDIR "${PREFIX}/lib")
+       SET(INCLUDEDIR "${PREFIX}/include")
+       SET(DATADIR "${PREFIX}/share/${PACKAGE}/data")
+
+       SET(PKG_MODULES
+               libusb-1.0
+       )
+
+       INCLUDE(FindPkgConfig)
+       pkg_check_modules(pkgs REQUIRED ${PKG_MODULES})
+
+       SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -g -O0 -Wall -lusb-1.0")
+
+       ADD_LIBRARY(husb SHARED ${HOST_CAPI_SRCS})
+       SET_TARGET_PROPERTIES(husb PROPERTIES
+               SOVERSION 0
+               VERSION 0.1.0
+       )
+
+       INSTALL(FILES include/libhusb.h DESTINATION ${INCLUDEDIR}/)
+
+       INSTALL(TARGETS husb ARCHIVE
+               DESTINATION ${LIBDIR}
+               LIBRARY DESTINATION ${LIBDIR}
+               COMPONENT husb)
+
+       # uninstall target
+       configure_file(
+               "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
+               "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
+               IMMEDIATE @ONLY)
+
+       add_custom_target(uninstall
+               COMMAND ${CMAKE_COMMAND}
+               -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
+
+ENDIF(BUILD_SHARED_LIBS)
diff --git a/cmake_uninstall.cmake.in b/cmake_uninstall.cmake.in
new file mode 100644 (file)
index 0000000..f0fabd4
--- /dev/null
@@ -0,0 +1,21 @@
+if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
+  message(FATAL_ERROR "Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
+endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
+
+file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
+string(REGEX REPLACE "\n" ";" files "${files}")
+foreach(file ${files})
+  message(STATUS "Uninstalling ${file}")
+  if(IS_SYMLINK "${file}" OR EXISTS "${file}")
+    exec_program(
+      "@CMAKE_COMMAND@" ARGS "-E remove \"${file}\""
+      OUTPUT_VARIABLE rm_out
+      RETURN_VALUE rm_retval
+      )
+    if(NOT "${rm_retval}" STREQUAL 0)
+      message(FATAL_ERROR "Problem when removing ${file}")
+    endif(NOT "${rm_retval}" STREQUAL 0)
+  else(IS_SYMLINK "${file}" OR EXISTS "${file}")
+    message(STATUS "File ${file} does not exist.")
+  endif(IS_SYMLINK "${file}" OR EXISTS "${file}")
+endforeach(file)