Skip to content
Snippets Groups Projects
CMakeLists.txt 5.82 KiB
Newer Older
alexey.stratulat's avatar
alexey.stratulat committed
project(dap_chain_gdb_python_module C)
cmake_minimum_required(VERSION 2.8)

set(CMAKE_VERBOSE_MAKEFILE ON)
set(CMAKE_COLOR_MAKEFILE   ON)
set(CMAKE_C_STANDARD 11)
add_definitions("-fpic")
if(UNIX)
    add_definitions("-DDAP_OS_UNIX")
endif()

if (NOT (${SUBMODULES_NO_BUILD} MATCHES ON))
    set (SUBMODULES_NO_BUILD ON)
    if (NOT (TARGET dap_core))
        add_subdirectory(libdap)
        target_compile_options(
            dap_core PRIVATE 
            "-fpic"
        )
    endif()
    if (NOT (TARGET dap_crypto))
        add_subdirectory(libdap-crypto)
        target_compile_options(
            dap_crypto PRIVATE
            "-fpic"
       )
   endif()
   if (NOT (TARGET dap_chain_coommon))
       add_subdirectory(libdap-chain-common)
       target_compile_options(
            dap_chain_common PRIVATE
            "-fpic"
       )
   endif()
   if (NOT (TARGET dap_chain))
       add_subdirectory(libdap-chain)
       target_compile_options(
            dap_chain PRIVATE
            "-fpic"
       )
   endif()
   if (NOT (TARGET dap_chain_crypto))
       add_subdirectory(libdap-chain-crypto)
       target_compile_options(
            dap_chain_crypto PRIVATE
            "-fpic"  
       )
   endif()
   if (NOT (TARGET dap_chain_mempool))
       add_subdirectory(libdap-chain-mempool)
       target_compile_options(
            dap_chain_mempool PRIVATE
            "-fpic"  
       )
   endif()
   if (NOT (TARGET dap_chain_net))
       add_subdirectory(libdap-chain-net)
       target_compile_options(
            dap_chain_net PRIVATE
            "-fpic"  
       )
   endif()
   if (NOT (TARGET dap_server_core))
       add_subdirectory(libdap-server-core)
       target_compile_options(
            dap_server_core PRIVATE
            "-fpic"  
       )
   endif()
   if (NOT (TARGET dap_chain_global_db))
       add_subdirectory(libdap-chain-global-db)
       target_compile_options(
            dap_chain_global_db PRIVATE
            "-fpic"  
       )
   endif()
   if (NOT (TARGET dap_client))
       add_subdirectory(libdap-client)
       target_compile_options(
            dap_client PRIVATE
            "-fpic"  
       )
   endif()
   if (NOT (TARGET libdap-server))
       add_subdirectory(libdap-server)
#       target_compile_options(
#            libdap-server PRIVATE
#            "-fpic"  
#       )
   endif()
   if (NOT (TARGET dap_stream))
       add_subdirectory(libdap-stream)
       target_compile_options(
            dap_stream PRIVATE
            "-fpic"  
       )
   endif()
   if (NOT (TARGET dap_stream_ch))
       add_subdirectory(libdap-stream-ch)
       target_compile_options(
            dap_stream_ch PRIVATE
             "-fpic"   
       )
   endif()
   if (NOT (TARGET dap_stream_ch_chain))
       add_subdirectory(libdap-stream-ch-chain)
       target_compile_options(
            dap_stream_ch_chain PRIVATE
            "-fpic"   
       )
   endif()
   if (NOT (TARGET dap_stream_ch_chain_net))
       add_subdirectory(libdap-stream-ch-chain-net)
       target_compile_options(
            dap_stream_ch_chain_net PRIVATE
            "-fpic"   
       )
   endif()
   if (NOT (TARGET dap_udp_server))
       add_subdirectory(libdap-server-udp)
       target_compile_options(
            dap_udp_server PRIVATE
            "-fpic"   
       ) 
   endif()
   if (NOT (TARGET dap_chain_wallet))
       add_subdirectory(libdap-chain-wallet)
       target_compile_options(
            dap_chain_wallet PRIVATE
            "-fpic"   
       ) 
   endif()
   if (NOT (TARGET dap_chain_net_srv))
       add_subdirectory(libdap-chain-net-srv)
       target_compile_options(
            dap_chain_net_srv PRIVATE
            "-fpic"   
       ) 
   endif()
   if (NOT (TARGET dap_server_http_db_auth))
       add_subdirectory(libdap-server-http-db-auth)
       target_compile_options(
            dap_server_http_db_auth PRIVATE
            "-fpic"   
       ) 
   endif()
   if (NOT (TARGET dap_chain_gdb))
       add_subdirectory(libdap-chain-gdb)
       target_compile_options(
            dap_chain_gdb PRIVATE
            "-fpic"   
       ) 
   endif()
    if (NOT (TARGET dap_chain_net_srv_vpn))
        add_subdirectory(libdap-chain-net-srv-vpn)
        target_compile_options(
             dap_chain_net_srv_vpn PRIVATE
             "-fpic"
        )
    endif()
    if (NOT (TARGET dap_server_http_db))
        add_subdirectory(libdap-server-http-db)
        target_compile_options(
             dap_server_http_db PRIVATE
             "-fpic"
        )
    endif()
    if (NOT (TARGET (dap_python_module)))
        add_subdirectory(libdap-python)
        target_compile_options(
              dap_python_module PRIVATE
              "-fpic"
        )
    endif()
    if (NOT (TARGET (dap_chain_python_module)))
        add_subdirectory(libdap-chain-python)
        target_compile_options(
              dap_chain_python_module PRIVATE
              "-fpic"
        )
    endif()
    if (NOT (TARGET (dap_crypto_python_module)))
        add_subdirectory(libdap-crypto-python)
        target_compile_options(
              dap_crypto_python_module PRIVATE
              "-fpic"
        )
    endif()
    if (NOT (TARGET (dap_chain_common_python_module)))
        add_subdirectory(libdap-chain-common-python)
        target_compile_options(
            dap_chain_common_python_module PRIVATE
            "-fpic"
        )
    endif()
alexey.stratulat's avatar
alexey.stratulat committed
endif()


file(GLOB CHAIN_GDB_PYTHON_SRCS src/*.c)
file(GLOB CHAIN_GDB_PYTHON_HEADERS include/*.h)

set(Python_ADDITIONAL_VERSIONS 3.7)
find_package (PythonLibs REQUIRED)
include_directories(${PYTHON_INCLUDE_DIR} include/)

add_library(${PROJECT_NAME} STATIC ${CHAIN_GDB_PYTHON_SRCS} ${CHAIN_GDB_PYTHON_HEADERS})

target_link_libraries(${PROJECT_NAME})

target_link_libraries(${PROJECT_NAME} dap_chain_gdb dap_core dap_chain dap_chain_global_db dap_chain_mempool dap_chain_net dap_chain_python_module)
alexey.stratulat's avatar
alexey.stratulat committed

target_include_directories(${PROJECT_NAME} PUBLIC include/ )