Skip to content
Snippets Groups Projects
CMakeLists.txt 13.8 KiB
Newer Older
project(cellframe-node C)
Ivan Deniskin's avatar
Ivan Deniskin committed
cmake_minimum_required(VERSION 2.8)

Dmitriy A. Gerasimov's avatar
Dmitriy A. Gerasimov committed
if(DAP_DEBUG_BUILD)
    set(DAP_RELEASE 0)
    message(STATUS "Debug build")
else()
    set(DAP_RELEASE 1)
    message(STATUS "Release build")
endif()

ANTA's avatar
ANTA committed
if(WIN32)
  message(STATUS "Building for Windows")
endif()

ANTA's avatar
ANTA committed
# Check whether we're on a 32-bit or 64-bit system
if(CMAKE_SIZEOF_VOID_P EQUAL "8")
  set(DEFAULT_BUILD_64 ON)
else()
  set(DEFAULT_BUILD_64 OFF)
endif()
option(BUILD_64 "Build for 64-bit? 'OFF' builds for 32-bit." ${DEFAULT_BUILD_64})

if(BUILD_64)
  set(ARCH_WIDTH "64")
else()
  set(ARCH_WIDTH "32")
endif()
message(STATUS "Building for a ${ARCH_WIDTH}-bit system")

if(DAP_RELEASE)
  message(STATUS "Building type RELEASE")
else()
  message(STATUS "Building type DEBUG")
endif()

Ivan Deniskin's avatar
Ivan Deniskin committed
set(CMAKE_VERBOSE_MAKEFILE ON)
set(CMAKE_COLOR_MAKEFILE   ON)
ANTA's avatar
ANTA committed
set(CMAKE_CXX_STANDARD 11)
Ivan Deniskin's avatar
Ivan Deniskin committed

ANTA's avatar
ANTA committed
SET(CMAKE_INSTALL_PREFIX "/opt/${PROJECT_NAME}")
SET(CPACK_INSTALL_PREFIX "/opt/${PROJECT_NAME}")
SET(DESTDIR "/opt/${PROJECT_NAME}")
Dmitriy A. Gerasimov's avatar
Dmitriy A. Gerasimov committed

SET( CPACK_GENERATOR "DEB")
SET( CPACK_PACKAGE_NAME  "${PROJECT_NAME}")
SET( CPACK_PACKAGE_VERSION_MAJOR 2)
Dmitriy A. Gerasimov's avatar
Dmitriy A. Gerasimov committed
SET( CPACK_PACKAGE_VERSION_PATCH 13)
SET( CPACK_SYSTEM_NAME "debian-9.9-amd64")
ANTA's avatar
ANTA committed
SET( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}-${CPACK_PACKAGE_VERSION_PATCH}")
SET( CPACK_DEBIAN_PACKAGE_MAINTAINER "Dmitriy Gerasimov <naeper@demlabs.net>" )
Dmitriy A. Gerasimov's avatar
Dmitriy A. Gerasimov committed
SET( CPACK_DEBIAN_PACKAGE_DESCRIPTION_SUMMARY "CellFrame Node software https://cellframe.net" )
SET( CPACK_DEBIAN_PACKAGE_DESCRIPTION   "CellFrame Node" )
Dmitriy A. Gerasimov's avatar
Dmitriy A. Gerasimov committed
SET( CPACK_DEBIAN_PACKAGE_SECTION "extra")
dmitriy.gerasimov's avatar
dmitriy.gerasimov committed
SET( CPACK_DEBIAN_PACKAGE_DEPENDS "debconf (>=1.5), dpkg (>=1.17), bash (>=4), debconf-utils, dconf-cli, less, pv, psmisc")
Dmitriy A. Gerasimov's avatar
Dmitriy A. Gerasimov committed
SET( CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
SET( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
dmitriy.gerasimov's avatar
dmitriy.gerasimov committed
    "${CMAKE_CURRENT_SOURCE_DIR}/debian/postinst;${CMAKE_CURRENT_SOURCE_DIR}/debian/postrm;${CMAKE_CURRENT_SOURCE_DIR}/debian/templates;${CMAKE_CURRENT_SOURCE_DIR}/debian/config;")
set(CMAKE_VERBOSE_MAKEFILE ON)
set(CMAKE_COLOR_MAKEFILE   ON)
set(CMAKE_C_STANDARD 11)
set(SUBMODULES_NO_BUILD ON)

Dmitriy A. Gerasimov's avatar
Dmitriy A. Gerasimov committed
add_definitions("-DDAP_VERSION=\"${CPACK_PACKAGE_VERSION_MAJOR}\"")
add_definitions ("-DDAP_SERVER -DDAP_LOG_MT")
add_definitions ("-DNODE_NETNAME=\"cellframe\"")
ANTA's avatar
ANTA committed
if(WIN32)
ANTA's avatar
ANTA committed
  add_definitions ("-DUNDEBUG")
  add_definitions ("-DNDEBUG")
  add_definitions ("-DWIN32")
  add_definitions ("-D_WINDOWS")
  add_definitions ("-D__WINDOWS__")
  add_definitions ("-D_CRT_SECURE_NO_WARNINGS")
  add_definitions ("-DCURL_STATICLIB")
ANTA's avatar
ANTA committed

  if(DAP_RELEASE)
Constantin Papizh's avatar
Constantin Papizh committed
    set(_CCOPT "-static -Wall -O3 -fno-ident -ffast-math -ftree-vectorize -mfpmath=sse -mmmx -msse2 -fno-asynchronous-unwind-tables -ffunction-sections -Wl,--gc-sections -Wl,--strip-all")
ANTA's avatar
ANTA committed
  else()
    set(_CCOPT "-mconsole -static -Wall -pg")
    set(_LOPT "-mconsole -static -pg")
  endif()

ANTA's avatar
ANTA committed
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_CCOPT}")
  set(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} ${_LOPT}")

ANTA's avatar
ANTA committed
  include_directories(libdap/src/win32/)
  include_directories(3rdparty/libmemcached/)
  include_directories(3rdparty/libmemcached/win32/)
  include_directories(3rdparty/wepoll/include/)
  include_directories(3rdparty/uthash/src/)
  include_directories(3rdparty/libjson-c/)
  include_directories(3rdparty/libmagic/src/)
  include_directories(3rdparty/curl/include/)
  include_directories(3rdparty/libsqlite3/)
ANTA's avatar
ANTA committed

ANTA's avatar
ANTA committed
  include_directories(libdap-server-http-db-auth/)
  include_directories(libdap-chain-net-srv-vpn/)
endif()
ANTA's avatar
ANTA committed

ANTA's avatar
ANTA committed
if(UNIX)
  add_definitions ("-DDAP_OS_LINUX -DDAP_OS_UNIX")
Dmitriy A. Gerasimov's avatar
Dmitriy A. Gerasimov committed
# add_definitions ("-DDAP_LOG_MT")
ANTA's avatar
ANTA committed
  if(DAP_RELEASE)
ANTA's avatar
ANTA committed
    set(_CCOPT "-Wall -O3 -fPIC -fno-pie -no-pie -fno-ident -ffast-math -ftree-vectorize -mfpmath=sse -mmmx -msse2 -fno-asynchronous-unwind-tables -ffunction-sections -Wl,--gc-sections -Wl,--strip-all")
ANTA's avatar
ANTA committed
  else()
Dmitriy A. Gerasimov's avatar
Dmitriy A. Gerasimov committed
    set(_CCOPT "-Wall -pg -g3 -ggdb -fno-eliminate-unused-debug-symbols")
ANTA's avatar
ANTA committed
    set(_LOPT "-pg")
ANTA's avatar
ANTA committed
    SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -pg")
  endif()

ANTA's avatar
ANTA committed
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_CCOPT}")
  set(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} ${_LOPT}")
endif()
ANTA's avatar
ANTA committed

Ivan Deniskin's avatar
Ivan Deniskin committed
add_subdirectory(libdap)
add_subdirectory(libdap-crypto)
add_subdirectory(libdap-server-core)
add_subdirectory(libdap-server-udp)
add_subdirectory(libdap-server)
ANTA's avatar
ANTA committed

if(NOT (WIN32))
  add_subdirectory(libdap-server-http-db)
ANTA's avatar
ANTA committed
  add_subdirectory(libdap-server-http-db-auth)
endif()
add_subdirectory(libdap-chain)
add_subdirectory(libdap-chain-crypto)
add_subdirectory(libdap-chain-wallet)
add_subdirectory(libdap-chain-cs-dag)
add_subdirectory(libdap-chain-cs-dag-poa)
add_subdirectory(libdap-chain-cs-dag-pos)
add_subdirectory(libdap-chain-net)
add_subdirectory(libdap-chain-net-srv)
add_subdirectory(libdap-chain-net-srv-app)
add_subdirectory(libdap-chain-net-srv-app-db)
add_subdirectory(libdap-chain-net-srv-datum)
add_subdirectory(libdap-chain-net-srv-datum-pool)
ANTA's avatar
ANTA committed

if(NOT (WIN32))
  add_subdirectory(libdap-chain-net-srv-vpn)
endif()

add_subdirectory(libdap-chain-mempool)
add_subdirectory(libdap-chain-gdb)
add_subdirectory(libdap-stream-ch)
add_subdirectory(libdap-stream-ch-vpn)
add_subdirectory(libdap-stream-ch-chain)
add_subdirectory(libdap-stream-ch-chain-net)
add_subdirectory(libdap-stream-ch-chain-net-srv)
add_subdirectory(libdap-chain-global-db)
#add_subdirectory(libdap-stream-ch-chat)
if(BUILD_CELLFRAME_NODE_TESTS)
armatusmiles's avatar
armatusmiles committed
    enable_testing()
    add_subdirectory(test)
endif()
Ivan Deniskin's avatar
Ivan Deniskin committed

ANTA's avatar
ANTA committed
  add_executable(${PROJECT_NAME} "sources/main.c" "sources/sig_unix_handler.c")
  add_executable(${PROJECT_NAME}-cli "sources/main_node_cli.c" "sources/main_node_cli_shell.c" "sources/main_node_cli_net.c" )
  add_executable(${PROJECT_NAME}-tool "sources/main_node_tool.c" )
ANTA's avatar
ANTA committed
if(WIN32)
  add_executable(${PROJECT_NAME} "sources/main.c" "sources/exh_win32.c" "sources/sig_win32_handler.c")
  add_executable(${PROJECT_NAME}-cli "sources/main_node_cli.c" "sources/main_node_cli_shell.c" "sources/main_node_cli_net.c" )
  add_executable(${PROJECT_NAME}-tool "sources/main_node_tool.c" )
ANTA's avatar
ANTA committed
  target_link_libraries(${PROJECT_NAME}-cli dap_chain_net 
ANTA's avatar
ANTA committed
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libjson-c[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libmemcached[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/wepoll[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libmagic[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/cuttdb[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libsqlite3[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/regex[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libmongoc[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libbson[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/curl[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/nghttp2[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libssl[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/c-ares[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/misc[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/zlib[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libssh2[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libcrypto[x86_64CLANG].a
    KERNEL32
    USER32
    SHELL32
    WINMM
    GDI32
    ADVAPI32
    Ole32
    Version
    Imm32
    OleAut32
    ws2_32
    ntdll
    psapi
    Shlwapi
    Bcrypt
    Crypt32
    Secur32
Station's avatar
Station committed
	userenv
ANTA's avatar
ANTA committed
  )
Constantin Papizh's avatar
Constantin Papizh committed
	set_property(TARGET ${PROJECT_NAME}-cli APPEND_STRING PROPERTY LINK_FLAGS "-mconsole")
ANTA's avatar
ANTA committed
  target_link_libraries(${PROJECT_NAME}-tool dap_core dap_crypto dap_server_core dap_enc_server dap_udp_server dap_session
    dap_enc_server dap_stream dap_stream_ch_vpn dap_stream_ch_chain dap_stream_ch_chain_net
    dap_stream_ch_chain_net_srv dap_chain dap_chain_crypto dap_client
    dap_chain_cs_dag dap_chain_cs_dag_poa dap_chain_cs_dag_pos
    dap_chain_net dap_chain_net_srv dap_chain_net_srv_app dap_chain_net_srv_app_db
    dap_chain_net_srv_datum dap_chain_net_srv_datum_pool
    dap_chain_wallet dap_chain_global_db dap_chain_mempool 

    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libjson-c[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libmemcached[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/wepoll[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libmagic[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/cuttdb[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libsqlite3[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/regex[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libmongoc[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libbson[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/curl[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/nghttp2[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libssl[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/c-ares[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/misc[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/zlib[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libssh2[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libcrypto[x86_64CLANG].a
    KERNEL32
    USER32
    SHELL32
    WINMM
    GDI32
    ADVAPI32
    Ole32
    Version
    Imm32
    OleAut32
    ws2_32
    ntdll
    psapi
    Shlwapi
    Bcrypt
    Crypt32
    Secur32
Station's avatar
Station committed
	userenv
ANTA's avatar
ANTA committed
)
Constantin Papizh's avatar
Constantin Papizh committed
	set_property(TARGET ${PROJECT_NAME}-tool APPEND_STRING PROPERTY LINK_FLAGS "-mconsole")
ANTA's avatar
ANTA committed

  target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_server_core dap_enc_server dap_udp_server dap_session
    dap_enc_server dap_stream dap_stream_ch_vpn dap_stream_ch_chain dap_stream_ch_chain_net
    dap_stream_ch_chain_net_srv dap_chain dap_chain_crypto dap_client
    dap_chain_cs_dag dap_chain_cs_dag_poa dap_chain_cs_dag_pos
    dap_chain_net dap_chain_net_srv dap_chain_net_srv_app dap_chain_net_srv_app_db
    dap_chain_net_srv_datum dap_chain_net_srv_datum_pool
    dap_chain_wallet dap_chain_global_db dap_chain_mempool dap_chain_gdb 
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libjson-c[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libmemcached[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/wepoll[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libmagic[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/cuttdb[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libsqlite3[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/regex[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libmongoc[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libbson[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/curl[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/nghttp2[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libssl[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/c-ares[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/misc[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/zlib[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libssh2[x86_64CLANG].a
    ${CMAKE_CURRENT_SOURCE_DIR}/lib/[x86_64CLANG]/libcrypto[x86_64CLANG].a
    KERNEL32
    USER32
    SHELL32
    WINMM
    GDI32
    ADVAPI32
    Ole32
    Version
    Imm32
    OleAut32
    ws2_32
    ntdll
    psapi
    Shlwapi
    Bcrypt
    Crypt32
    Secur32
Station's avatar
Station committed
	userenv
ANTA's avatar
ANTA committed
)
Constantin Papizh's avatar
Constantin Papizh committed
	set_property(TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY LINK_FLAGS "-mwindows")
ANTA's avatar
ANTA committed

#dap_chain_net_srv_vpn dap_server_http_db_auth
ANTA's avatar
ANTA committed
endif()

#add_executable(${PROJECT_NAME}-cli "sources/main_node_cli.c" "sources/main_node_cli_shell.c" "sources/main_node_cli_net.c" )
#add_executable(${PROJECT_NAME}-tool "sources/main_node_tool.c" )

if(UNIX)
ANTA's avatar
ANTA committed
target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_crypto dap_server_core dap_enc_server dap_udp_server dap_session
    dap_enc_server dap_stream dap_stream_ch_vpn dap_stream_ch_chain dap_stream_ch_chain_net
    dap_stream_ch_chain_net_srv dap_chain dap_chain_crypto dap_client
    dap_chain_cs_dag dap_chain_cs_dag_poa dap_chain_cs_dag_pos
    dap_chain_net dap_chain_net_srv dap_chain_net_srv_app dap_chain_net_srv_app_db
    dap_chain_net_srv_datum dap_chain_net_srv_datum_pool dap_chain_net_srv_vpn
    dap_chain_wallet dap_chain_global_db dap_chain_mempool dap_chain_gdb m pthread magic dap_server_http_db dap_server_http_db_auth)
ANTA's avatar
ANTA committed

target_link_libraries(${PROJECT_NAME}-cli m dap_chain_net curl) 

target_link_libraries(${PROJECT_NAME}-tool dap_core dap_crypto dap_server_core dap_enc_server  dap_udp_server dap_session
    dap_enc_server dap_stream dap_stream_ch_vpn dap_stream_ch_chain dap_stream_ch_chain_net
    dap_stream_ch_chain_net_srv dap_chain dap_chain_crypto dap_client
    dap_chain_cs_dag dap_chain_cs_dag_poa dap_chain_cs_dag_pos
    dap_chain_net dap_chain_net_srv dap_chain_net_srv_app dap_chain_net_srv_app_db
    dap_chain_net_srv_datum dap_chain_net_srv_datum_pool dap_chain_net_srv_vpn
    dap_chain_wallet dap_chain_global_db dap_chain_mempool m pthread magic )
ANTA's avatar
ANTA committed
endif()
target_include_directories(${PROJECT_NAME} INTERFACE .)
ANTA's avatar
ANTA committed

if(UNIX)
target_include_directories(${PROJECT_NAME}-cli INTERFACE .)
target_include_directories(${PROJECT_NAME}-tool INTERFACE .)
ANTA's avatar
ANTA committed
endif()
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dist/ DESTINATION ${CMAKE_INSTALL_PREFIX} FILES_MATCHING PATTERN "*"  PATTERN "*")
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin )
ANTA's avatar
ANTA committed

if(UNIX)
INSTALL(TARGETS ${PROJECT_NAME}-cli DESTINATION ${CMAKE_INSTALL_PREFIX}/bin )
INSTALL(TARGETS ${PROJECT_NAME}-tool DESTINATION ${CMAKE_INSTALL_PREFIX}/bin )
ANTA's avatar
ANTA committed
endif()

INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/scripts/ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin FILES_MATCHING PATTERN "*"  PATTERN "*" PERMISSIONS OWNER_EXECUTE;OWNER_READ;OWNER_WRITE;WORLD_READ;GROUP_READ )
INCLUDE(CPack)