| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| |
| # Find Linux FUSE |
| IF (${CMAKE_SYSTEM_NAME} MATCHES "Linux") |
| find_package(PkgConfig REQUIRED) |
| pkg_check_modules(FUSE fuse) |
| IF(FUSE_FOUND) |
| FLATTEN_LIST("${FUSE_CFLAGS}" " " FUSE_CFLAGS) |
| FLATTEN_LIST("${FUSE_LDFLAGS}" " " FUSE_LDFLAGS) |
| set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FUSE_CFLAGS}") |
| set(CMAKE_LD_FLAGS "${CMAKE_LD_FLAGS} ${FUSE_LDFLAGS}") |
| MESSAGE(STATUS "Building Linux FUSE client.") |
| include_directories(${FUSE_INCLUDE_DIRS}) |
| ELSE(FUSE_FOUND) |
| MESSAGE(STATUS "Failed to find Linux FUSE libraries or include files. Will not build FUSE client.") |
| ENDIF(FUSE_FOUND) |
| ELSE (${CMAKE_SYSTEM_NAME} MATCHES "Linux") |
| MESSAGE(STATUS "Non-Linux system detected. Will not build FUSE client.") |
| ENDIF (${CMAKE_SYSTEM_NAME} MATCHES "Linux") |
| |
| IF(FUSE_FOUND) |
| add_executable(fuse_dfs |
| fuse_dfs.c |
| fuse_options.c |
| fuse_connect.c |
| fuse_impls_access.c |
| fuse_impls_chmod.c |
| fuse_impls_chown.c |
| fuse_impls_create.c |
| fuse_impls_flush.c |
| fuse_impls_getattr.c |
| fuse_impls_mkdir.c |
| fuse_impls_mknod.c |
| fuse_impls_open.c |
| fuse_impls_read.c |
| fuse_impls_readdir.c |
| fuse_impls_release.c |
| fuse_impls_rename.c |
| fuse_impls_rmdir.c |
| fuse_impls_statfs.c |
| fuse_impls_symlink.c |
| fuse_impls_truncate.c |
| fuse_impls_unlink.c |
| fuse_impls_utimens.c |
| fuse_impls_write.c |
| fuse_init.c |
| fuse_stat_struct.c |
| fuse_trash.c |
| fuse_users.c |
| ) |
| target_link_libraries(fuse_dfs |
| ${FUSE_LIBRARIES} |
| ${JAVA_JVM_LIBRARY} |
| hdfs |
| m |
| ) |
| ENDIF(FUSE_FOUND) |